:root{--ivory:#f2ebdd;--ivory-dim:#f2ebddad;--ivory-faint:#f2ebdd6b;--rule:#f2ebdd6b;--rule-soft:#f2ebdd38;--ink:#0a0806;--font-cover-serif:"Cormorant Garamond", "Times New Roman", serif;--font-cover-mono:"Space Mono", monospace;--font-script:"Pinyon Script", cursive;--font-serif:"Quattrocento", "Times New Roman", serif;--font-mono:"Roboto Mono", ui-monospace, monospace;--font-arabic:"Noto Naskh Arabic", Tahoma, Arial, sans-serif;--seal-size:clamp(244px, 72vw, 360px);--measure:34rem;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background:var(--ink);overflow-x:hidden}body{background:var(--ink);min-width:320px;min-height:100%;color:var(--ivory);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.is-locked{overscroll-behavior:none;touch-action:none;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}img{max-width:100%;display:block}button{color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:#f2ebdd3d}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.stage-video{object-fit:cover;object-position:56% 50%;filter:blur(16px)brightness(.38)saturate(.76);will-change:transform, filter;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.16)}.stage-tint{will-change:opacity;background:radial-gradient(at 50% 42%,#0a08061a 0%,#080605b8 100%),linear-gradient(#0a08068c 0%,#0a080633 34%,#0a08063d 66%,#0a0806b8 100%);position:absolute;inset:0}.stage-vignette{background:radial-gradient(#0000 44%,#03020257 82%,#020101a8 122%);position:absolute;inset:0}.stage-grain{opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");background-size:180px 180px;animation:.9s steps(5,end) infinite grain-drift;position:absolute;inset:-60px}@keyframes grain-drift{0%{transform:translate(0)}20%{transform:translate(-14px,8px)}40%{transform:translate(10px,-12px)}60%{transform:translate(-8px,-6px)}80%{transform:translate(12px,10px)}to{transform:translate(0)}}.stage-bloom{opacity:0;mix-blend-mode:screen;will-change:opacity;background:radial-gradient(circle,#fff0cde6 0%,#e2b56a73 22%,#e2b56a00 58%);position:absolute;inset:0}.cover{z-index:30;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;will-change:opacity;place-items:center;display:grid;position:fixed;inset:0}.seal{width:100%;height:100%;transform-style:preserve-3d;outline:none;display:block;position:absolute;inset:0}.seal:focus-visible{outline:none}.seal:focus-visible .seal-body{outline-offset:4px;border-radius:50%;outline:1px solid #ffecb4cc}.seal:disabled{cursor:default}.seal-body{left:calc(50% - var(--seal-size) / 2);top:calc(46% - var(--seal-size) / 2);width:var(--seal-size);height:var(--seal-size);transform-style:preserve-3d;will-change:transform, opacity;display:block;position:absolute}.bubble-surface,.bubble-sheen{object-fit:contain;will-change:opacity, transform;width:100%;height:100%;position:absolute;inset:0}.bubble-sheen{opacity:.26;pointer-events:none}.bubble-burst-source{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:46%;left:50%}.bubble-burst-canvas{width:calc(var(--seal-size) * 1.65);height:calc(var(--seal-size) * 1.65);object-fit:contain;opacity:0;pointer-events:none;backface-visibility:hidden;will-change:opacity;display:block;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.seal-instruction{left:50%;top:calc(46% + var(--seal-size) * .51);will-change:transform, opacity;width:clamp(144px,38vw,173px);display:block;position:absolute;transform:translate(-50%)}.seal-instruction-image{width:100%;height:auto;display:block}.seal-instruction-image--ar{display:none}.cover-date{left:0;right:0;bottom:calc(6vh + var(--safe-b));text-align:center;font-family:var(--font-cover-mono);letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:#f4ecdd66;will-change:transform, opacity;font-size:.6rem;position:absolute}#smooth-wrapper{z-index:2;position:relative}.invitation{opacity:0;visibility:hidden;background:#1a150f6b}.hold{white-space:nowrap}.panel{text-align:center;min-height:100svh;padding:calc(clamp(56px, 11vh, 132px) + var(--safe-t)) max(7vw, 22px) calc(clamp(56px, 11vh, 132px) + var(--safe-b));flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.panel-inner{width:100%;max-width:var(--measure);will-change:transform;flex-direction:column;align-items:center;display:flex}.panel-inner--wide{max-width:42rem}.split-line{will-change:transform}.eyebrow,.when-line,.rsvp-line,.rsvp-allocation,.gift-line,.countdown-frame,.collage-label,.scroll-down{font-family:var(--font-mono);text-transform:uppercase;font-weight:400}.eyebrow{letter-spacing:.22em;text-indent:.22em;color:var(--ivory-dim);text-shadow:0 1px 12px #00000080;font-size:clamp(.6rem,3.1vw,.82rem);font-weight:300;line-height:1.8}.verse{font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--ivory);text-shadow:0 2px 16px #0000008c;font-size:clamp(.85rem,4vw,1.28rem);font-weight:700;line-height:1.45}.names{font-family:var(--font-script);letter-spacing:.005em;white-space:nowrap;color:var(--ivory);text-shadow:0 4px 18px #00000080;will-change:transform;margin:.08em 0 .16em;font-size:clamp(2.5rem,13.2vw,6.4rem);font-weight:400;line-height:1.42}.names:focus,.names:focus-visible{outline:none}.panel--hero{min-height:100svh;padding-top:calc(clamp(28px, 4.4svh, 56px) + var(--safe-t));padding-bottom:calc(clamp(34px, 5.5svh, 66px) + var(--safe-b));justify-content:space-between}.hero-inner{flex:auto;justify-content:center;padding:clamp(34px,5.8svh,62px) 0 clamp(10px,2svh,22px)}.hero-inner:before{content:"";flex:5 1 0}.hero-inner:after{content:"";flex:1 1 0}.hero-inner .eyebrow+.parents,.hero-inner .parents+.eyebrow{margin-top:clamp(18px,4.2vh,40px)}.hero-inner .verse+.names{margin-top:clamp(6px,1.6vh,18px)}.parents{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px clamp(12px,6vw,72px);width:100%;max-width:32rem;display:grid}.parent{font-family:var(--font-script);text-shadow:0 3px 22px #00000080;font-size:clamp(1.15rem,5.4vw,1.9rem);font-weight:400;line-height:1.5}.countdown{flex-direction:column;align-items:center;gap:clamp(12px,2.2vh,20px);width:100%;display:flex}.countdown-frame{border:1px solid var(--rule);letter-spacing:.14em;text-indent:.14em;width:min(100%,22rem);color:var(--ivory);text-shadow:0 2px 16px #00000080;padding:clamp(14px,3.4vw,26px) clamp(10px,4vw,30px);font-size:clamp(.95rem,5.2vw,1.7rem);font-weight:300;line-height:1;display:block}.countdown-clock{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,20rem);display:grid}.cd-cell{flex-direction:column;align-items:center;gap:5px;padding:2px 0;display:flex}.cd-cell+.cd-cell{border-left:1px solid var(--rule-soft)}.cd-value{letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--ivory);font-size:clamp(.85rem,4.2vw,1.15rem);font-weight:400}.cd-unit{letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;color:var(--ivory-faint);font-size:clamp(.44rem,2.2vw,.56rem);font-weight:300}.scroll-cue{opacity:0;flex-direction:column;align-items:center;gap:12px;display:flex}.scroll-down{border:1px solid var(--rule);letter-spacing:.24em;text-indent:.24em;color:var(--ivory-dim);padding:9px 20px;font-size:clamp(.5rem,2.4vw,.6rem);font-weight:400;transition:color .24s,border-color .24s}.scroll-down:hover,.scroll-down:focus-visible{color:var(--ivory);border-color:var(--ivory)}.scroll-down:focus-visible{outline-offset:4px;outline:1px solid #f2ebddb3}.scroll-cue-rail{background:#f2ebdd24;width:1px;height:38px;display:block;position:relative;overflow:hidden}.scroll-cue-rail i{background:linear-gradient(180deg, transparent, var(--ivory));width:1px;height:16px;animation:2.1s cubic-bezier(.5,0,.3,1) infinite cue-run;position:absolute;left:0}@keyframes cue-run{0%{opacity:0;transform:translateY(-18px)}30%{opacity:1}to{opacity:0;transform:translateY(38px)}}.when-line{letter-spacing:.08em;color:var(--ivory-dim);text-shadow:0 2px 16px #0000008c;font-size:clamp(.72rem,3.5vw,1rem);font-weight:300;line-height:1.9}.when-line strong{color:var(--ivory);font-weight:700}.when-line--soft{letter-spacing:.14em;color:var(--ivory-faint);font-size:clamp(.66rem,3.1vw,.88rem)}.collage{width:min(62vw,26rem,50svh);margin:0 auto;position:relative;container-type:inline-size}.collage-link{display:block;position:relative}.collage-link:focus-visible{outline-offset:6px;outline:1px solid #f2ebddcc}.collage-back,.collage-front{width:100%;height:auto;filter:grayscale(.6) sepia(.4) saturate(.85) contrast(1.06) brightness(var(--plate-light,.84));transition:filter .32s}.collage-back{aspect-ratio:2/3;object-fit:cover;object-position:50% 44%}.collage-front{aspect-ratio:1.42;object-fit:cover;object-position:50% 62%;width:79.6%;filter:grayscale(.6) sepia(.42) saturate(.85) contrast(1.1) brightness(var(--plate-light-front,.76));position:absolute;bottom:4.2%;left:9.3%}.collage-link:hover{--plate-light:.95;--plate-light-front:.86}.collage-label{letter-spacing:.16em;text-indent:.16em;white-space:nowrap;color:var(--ivory);text-shadow:0 2px 14px #0009;pointer-events:none;border:1px solid #f2ebddb8;padding:3cqw 4.5cqw;font-size:clamp(.6rem,4.2cqw,1.2rem);font-weight:300;line-height:1;position:absolute;top:5.7%;left:50%;transform:translate(-50%)}.panel--closing{min-height:100svh;padding-top:calc(clamp(38px, 6.5svh, 72px) + var(--safe-t));padding-bottom:calc(clamp(38px, 6.5svh, 72px) + var(--safe-b))}.closing-inner{justify-content:center;gap:clamp(70px,13svh,128px)}.closing-block{flex-direction:column;align-items:center;width:100%;display:flex}.closing-rule{background:var(--rule-soft);width:min(32vw,8rem);height:1px}.rsvp-line{letter-spacing:.13em;color:var(--ivory-dim);text-shadow:0 2px 16px #0000008c;font-size:clamp(.68rem,3.3vw,.9rem);font-weight:400;line-height:2}.rsvp-line sup{letter-spacing:.06em;font-size:.66em}.rsvp-allocation{letter-spacing:.12em;color:var(--ivory);text-shadow:0 2px 16px #0000008c;margin-top:clamp(12px,2.2svh,24px);font-size:clamp(.66rem,3.2vw,.88rem);line-height:1.8}.contacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,4vw,40px);width:100%;max-width:30rem;margin-top:clamp(12px,2.4svh,26px);display:grid}.contact{flex-direction:column;align-items:center;gap:clamp(8px,1.8vh,16px);padding:6px 2px;transition:color .24s;display:flex}.contact:hover,.contact:focus-visible{color:#fff}.contact:focus-visible{outline-offset:6px;outline:1px solid #f2ebddb3}.contact-name{font-family:var(--font-script);text-shadow:0 3px 22px #00000080;font-size:clamp(1.4rem,6.4vw,2.1rem);line-height:1.3}.contact-colon{letter-spacing:.04em}.contact-number{letter-spacing:.04em;white-space:nowrap;text-shadow:0 2px 14px #0009;font-size:clamp(.68rem,3.3vw,.92rem);font-weight:400}.gift-line{letter-spacing:.08em;color:var(--ivory-dim);text-shadow:0 2px 16px #0000008c;text-wrap:pretty;font-size:clamp(.66rem,3.2vw,.95rem);font-weight:300;line-height:1.9}.gift-line strong{color:var(--ivory);font-weight:700}.whish-card{background:#fff;border-radius:clamp(10px,3vw,14px);margin:clamp(14px,2.5svh,24px) 0 clamp(14px,2.7svh,26px);padding:clamp(12px,3.5vw,18px) clamp(10px,3vw,14px);display:block}.whish-card img{width:clamp(74px,23vw,98px);height:auto}.gift-account{font-family:var(--font-mono);letter-spacing:.1em;text-indent:.1em;text-transform:uppercase;color:var(--ivory);text-shadow:0 2px 16px #0000008c;flex-direction:column;align-items:center;gap:6px;font-size:clamp(.8rem,3.8vw,1.05rem);font-weight:700;display:flex}.gift-account-value{font-variant-numeric:tabular-nums;letter-spacing:.14em;text-indent:.14em}html[lang=ar] .eyebrow,html[lang=ar] .verse,html[lang=ar] .names,html[lang=ar] .parent,html[lang=ar] .countdown-frame,html[lang=ar] .cd-unit,html[lang=ar] .scroll-down,html[lang=ar] .when-line,html[lang=ar] .collage-label,html[lang=ar] .rsvp-line,html[lang=ar] .rsvp-allocation,html[lang=ar] .contact-name,html[lang=ar] .gift-line,html[lang=ar] .gift-account-label{font-family:var(--font-arabic);letter-spacing:0;text-indent:0;text-transform:none}html[lang=ar] .seal-instruction-image--en{display:none}html[lang=ar] .seal-instruction-image--ar{display:block}html[lang=ar] .eyebrow{font-size:clamp(.78rem,3.8vw,1.05rem);font-weight:600;line-height:1.65}html[lang=ar] .verse{white-space:nowrap;font-size:clamp(.95rem,4.3vw,1.45rem);line-height:1.55}html[lang=ar] .names{font-size:clamp(2.25rem,11.5vw,5.6rem);font-weight:600;line-height:1.4}html[lang=ar] .parent{font-size:clamp(1.35rem,5.8vw,2.1rem);font-weight:600;line-height:1.45}html[lang=ar] .countdown-frame{font-size:clamp(1.12rem,5.4vw,1.85rem);font-weight:600}html[lang=ar] .cd-unit{font-size:clamp(.62rem,2.8vw,.76rem);font-weight:600}html[lang=ar] .countdown-clock{direction:ltr}html[lang=ar] .when-line,html[lang=ar] .rsvp-line,html[lang=ar] .rsvp-allocation,html[lang=ar] .gift-line{font-size:clamp(.82rem,3.7vw,1.08rem);font-weight:600;line-height:1.85}html[lang=ar] .when-line--soft{font-size:clamp(.78rem,3.4vw,1rem)}html[lang=ar] .collage-label{font-size:clamp(.76rem,5.2cqw,1.35rem);font-weight:600}html[lang=ar] .contact-name{font-size:clamp(1.55rem,6.8vw,2.3rem);font-weight:600}html[lang=ar] .contact-number,html[lang=ar] .gift-account-value,html[lang=ar] .cd-value{direction:ltr;unicode-bidi:isolate}html[lang=ar] .latin{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;direction:ltr;unicode-bidi:isolate;font-size:.92em;font-weight:400}html[lang=ar] .gift-account-label{font-size:clamp(.9rem,4vw,1.1rem);font-weight:700}.panel--when .when-line+.when-line{margin-top:clamp(2px,.6vh,6px)}.panel--when .when-line--soft{margin-top:clamp(6px,1.4vh,14px)}.panel--when{justify-content:flex-start;min-height:0;padding-bottom:0}.panel--location{min-height:0;padding-top:clamp(40px,11vw,130px)}@media (width>=760px){.stage-video{object-position:55% 50%}.panel{padding-inline:10vw}.countdown-frame{width:min(100%,28rem);padding-block:28px;font-size:2rem}.countdown-clock{width:min(100%,22rem)}.collage{width:min(52vw,30rem,52svh)}.closing-inner{flex-direction:row;align-items:center;gap:clamp(48px,7.5vw,104px);max-width:64rem}.closing-block{flex:1 1 0}.closing-rule{align-self:stretch;width:1px;height:auto}}@media (width>=1180px){.collage{width:min(46vw,40rem,54svh)}}@media (height<=560px){.panel{min-height:auto;padding-block:clamp(48px,12vh,96px)}.panel--hero{min-height:100svh;padding-block:calc(20px + var(--safe-t)) calc(18px + var(--safe-b))}.hero-inner{padding-block:18px 10px}.panel--hero .names{font-size:clamp(2.35rem,10svh,4rem)}.panel--hero .parent{font-size:clamp(1.05rem,4.5svh,1.45rem)}.panel--hero .eyebrow{font-size:clamp(.54rem,2.2svh,.68rem)}.panel--hero .verse{font-size:clamp(.7rem,2.8svh,.92rem)}.panel--hero .countdown-frame{padding-block:clamp(10px,2.6svh,16px)}.panel--hero .countdown{gap:8px}.panel--hero .scroll-cue-rail{height:22px}.panel--closing{min-height:100svh;padding-block:calc(28px + var(--safe-t)) calc(28px + var(--safe-b))}}@media (prefers-reduced-motion:reduce){.stage-grain,.scroll-cue-rail i{animation:none}.stage-grain{opacity:.04}html{scroll-behavior:auto}}
