:root{--ivory: #f8f3ea;--paper: #fffcf6;--champagne: #f0e3cc;--sage-bg: #e2e8db;--lav-bg: #ebe5f0;--ink: #33372f;--muted: #6c6f63;--sage: #4f6450;--rose: #a9706e;--gold: #a98850;--gold-soft: rgba(169, 136, 80, .5);--gold-faint: rgba(169, 136, 80, .22);--serif: "Cormorant Garamond", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--arabic: "Amiri", "Times New Roman", serif;--callig: "Aref Ruqaa", "Amiri", serif;--gutter: clamp(16px, 5vw, 64px);--s-1: clamp(.5rem, .4rem + .5vw, .75rem);--s-2: clamp(.75rem, .6rem + .8vw, 1.25rem);--s-3: clamp(1.25rem, 1rem + 1.2vw, 2rem);--s-4: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--s-5: clamp(3.5rem, 2.5rem + 5vw, 7.5rem);--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:clamp(15px,.9rem + .15vw,17px);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img{max-width:100%;display:block}a{color:inherit}p,h1,h2{margin:0}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.journey{position:relative;z-index:1;overflow-x:clip}.eyebrow,.dua__label{font:600 .7rem/1.5 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.inline-star{width:.9em;height:.9em;color:var(--gold);flex:none}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.backdrop__tone,.backdrop__glow,.backdrop__vignette{position:absolute;top:0;right:0;bottom:0;left:0}.backdrop__tone{opacity:0;will-change:opacity}.tone-champagne{background:radial-gradient(120% 80% at 50% 30%,#f8efe0 0%,var(--champagne) 75%)}.tone-sage{background:radial-gradient(110% 80% at 50% 40%,#eef2e9 0%,var(--sage-bg) 75%)}.tone-lavender{background:radial-gradient(110% 80% at 50% 40%,#f4f0f6 0%,var(--lav-bg) 75%)}.backdrop__glow{background:radial-gradient(60% 50% at 50% 45%,rgba(255,255,255,.6),transparent 70%)}.backdrop__vignette{background:radial-gradient(ellipse at center,transparent 55%,rgba(120,100,60,.07))}.backdrop__pattern{position:absolute;left:50%;top:50%;width:140vmax;height:140vmax;margin:-70vmax 0 0 -70vmax;color:var(--gold);will-change:transform}.pattern{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;stroke-opacity:.17}@media (max-width: 700px){.backdrop__pattern{left:0;top:-10%;width:100%;height:130%;margin:0}}.thread{position:fixed;top:0;left:0;right:0;height:2px;z-index:50;background:linear-gradient(90deg,var(--gold),var(--rose));transform-origin:0 50%;transform:scaleX(0)}.scene{position:relative}.pinned{height:calc(var(--len) * 1vh);height:calc(var(--len) * 1svh)}.stage{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;padding:var(--s-4) var(--gutter);overflow:clip}.invite{--len: 260}.couple{--len: 250}.celebrate{--len: 260}@media (max-width: 700px){.invite{--len: 215}.couple{--len: 205}.celebrate{--len: 215}}.opening{height:100vh;height:100svh;min-height:560px}.opening__stage{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.5rem,2svh,1.5rem);padding:var(--s-4) var(--gutter) clamp(4.5rem,10svh,6rem);text-align:center}.bismillah{font:400 clamp(1.5rem,1.1rem + 1.8vw,2.4rem)/1.9 var(--callig);color:var(--sage);padding-inline:.2em}.opening__frame{position:relative;width:min(86vw,50svh,500px);aspect-ratio:400 / 560;display:grid;align-items:end;justify-items:center}.opening__frame--wide{width:min(92vw,68svh,660px);aspect-ratio:600 / 560}.opening__frame--wide .opening__names{font-size:clamp(3.4rem,10.5svh,7.2rem)}.opening__arch{position:absolute;top:0;right:0;bottom:0;left:0;color:var(--gold);transform-origin:50% 75%}.opening__arch svg{width:100%;height:100%}.opening__content{position:relative;padding-bottom:11%;display:grid;justify-items:center;gap:clamp(.25rem,1svh,.75rem)}.kicker{font:italic 400 clamp(1.05rem,.9rem + .6vw,1.35rem)/1.3 var(--serif);color:var(--muted)}.opening__names{display:grid;justify-items:center;font:500 clamp(3.4rem,min(15vw,9.5svh),6.4rem)/.88 var(--serif);letter-spacing:-.02em;color:var(--sage)}.opening__amp{font-style:italic;font-weight:400;font-size:.55em;line-height:1.1;color:var(--rose)}.opening__date{display:flex;align-items:center;gap:.7em;margin-top:var(--s-1);font:600 clamp(.62rem,.55rem + .3vw,.75rem)/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sage);white-space:nowrap}.scroll-cue{position:absolute;left:50%;bottom:clamp(1rem,3svh,2rem);translate:-50% 0;text-decoration:none}.scroll-cue__inner{display:flex;flex-direction:column;align-items:center;gap:10px;font:600 .62rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sage)}.scroll-cue__line{width:1px;height:36px;background:linear-gradient(var(--gold),transparent);transform-origin:top;animation:cuePulse 2.2s var(--ease) infinite}.load{opacity:0;animation:fadeUp 1.3s var(--ease) var(--d, 0s) forwards}.letter{display:inline-block;opacity:0;animation:letterIn 1.1s var(--ease) var(--d, 0s) forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes letterIn{0%{opacity:0;transform:translateY(.35em) rotate(3deg)}to{opacity:1;transform:none}}@keyframes cuePulse{0%,to{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}.float{position:absolute;width:clamp(140px,26vw,380px);color:var(--gold);opacity:.28;pointer-events:none}.float--a{top:4%;left:-7%}.float--b{bottom:2%;right:-8%}.invite__wrap{width:min(100%,640px)}.invite-card{position:relative;padding:clamp(2.25rem,6svh,4.5rem) clamp(1.25rem,6vw,4.5rem);text-align:center;background:#fffcf6c7;box-shadow:0 30px 80px -40px #50462840}.edge{position:absolute;background:var(--gold-soft)}.edge--t,.edge--b{left:0;right:0;height:1px}.edge--t{top:0}.edge--b{bottom:0}.edge--l,.edge--r{top:0;bottom:0;width:1px}.edge--l{left:0}.edge--r{right:0}.invite-card__inner{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid var(--gold-faint);pointer-events:none}.corner{position:absolute;width:22px;height:22px;color:var(--gold);background:var(--ivory);border-radius:50%}.corner svg{width:100%;height:100%;display:block}.corner--tl{top:-11px;left:-11px}.corner--tr{top:-11px;right:-11px}.corner--bl{bottom:-11px;left:-11px}.corner--br{bottom:-11px;right:-11px}.invite-card__body{display:grid;justify-items:center;gap:clamp(.2rem,1svh,.75rem)}.invite-card__body .eyebrow{margin-bottom:clamp(.4rem,2svh,1.25rem)}.invite-line{font:400 clamp(1.05rem,min(.95rem + 1vw,3.3svh),1.6rem)/1.4 var(--serif);color:var(--ink);max-width:34ch}.invite-line--lead{font-style:italic;color:var(--muted);margin-bottom:var(--s-1)}.invite-line--key{margin-block:var(--s-1);font:italic 500 clamp(1.6rem,min(1.2rem + 2.6vw,5.6svh),2.9rem)/1.15 var(--serif);color:var(--rose)}.invite-note{margin-top:var(--s-2);font:italic 400 clamp(.98rem,.9rem + .3vw,1.1rem)/1.5 var(--serif);color:var(--muted);max-width:32ch}.invite-cue{display:block;margin-top:var(--s-2)}.invite-cue span{display:block;width:1px;height:clamp(28px,5svh,48px);margin-inline:auto;background:linear-gradient(var(--gold),transparent)}.couple__arch{position:absolute;left:50%;top:50%;width:min(104vw,70svh,640px);aspect-ratio:400 / 600;translate:-50% -49%;color:var(--gold);pointer-events:none}.couple__arch svg{width:100%;height:100%}.couple--wide .couple__arch{top:auto;bottom:0;width:min(92vw,96svh,860px);aspect-ratio:600 / 560;translate:-50% 0}.couple--wide .couple__content{padding-top:clamp(4rem,18svh,11rem)}.couple--wide .couple__names{font-size:clamp(2rem,min(1rem + 4.4vw,8svh),5.4rem)}.couple__content{position:relative;display:grid;justify-items:center;gap:var(--s-2);text-align:center;padding-top:clamp(3rem,12svh,8rem)}.couple__names{display:grid;justify-items:center;gap:clamp(.25rem,1.2svh,.75rem);font:500 clamp(1.85rem,min(.85rem + 4.8vw,6.2svh),4.4rem)/1.1 var(--serif);color:var(--sage);letter-spacing:-.01em}.name-mask{display:block;overflow:hidden;padding:.06em .12em .18em;margin:-.06em 0 -.18em}.name-line{display:block;white-space:nowrap}.couple__join{position:relative;display:grid;place-items:center;width:min(56vw,300px)}.couple__divider{width:100%;height:auto;color:var(--gold)}.couple__amp{position:absolute;padding:0 .35em;font:italic 400 .75em/1 var(--serif);color:var(--rose);background:radial-gradient(closest-side,var(--ivory) 60%,transparent)}.couple__note{max-width:30ch;font:italic 400 clamp(1rem,.92rem + .4vw,1.25rem)/1.5 var(--serif);color:var(--muted)}.celebrate__content{width:min(100%,760px);display:grid;justify-items:center;gap:clamp(.35rem,1.4svh,1rem);text-align:center}.date{position:relative;display:grid;justify-items:center;gap:clamp(.1rem,.6svh,.4rem)}.date__rosette{position:absolute;left:50%;top:50%;color:var(--gold);pointer-events:none;z-index:-1}.date__rosette--a{width:clamp(220px,min(60vw,46svh),420px);margin:calc(clamp(220px,min(60vw,46svh),420px)/-2) 0 0 calc(clamp(220px,min(60vw,46svh),420px)/-2)}.date__rosette--b{width:clamp(150px,min(40vw,30svh),270px);margin:calc(clamp(150px,min(40vw,30svh),270px)/-2) 0 0 calc(clamp(150px,min(40vw,30svh),270px)/-2)}.date__rosette svg{width:100%;height:100%;opacity:.35}.date__weekday,.date__month{font:600 clamp(.66rem,.6rem + .3vw,.8rem)/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--sage)}.date__month{display:flex;align-items:center;gap:.8em}.date__day{font:500 clamp(5.25rem,min(26vw,22svh),13rem)/.85 var(--serif);color:var(--rose);letter-spacing:-.03em;font-variant-numeric:lining-nums}.rule{display:block;width:min(60%,260px);height:1px;margin-block:var(--s-1);background:linear-gradient(90deg,transparent,var(--gold),transparent)}.ceremony{font:italic 500 clamp(1.7rem,1.1rem + 2.4vw,2.8rem)/1.1 var(--serif);color:var(--sage)}.venue-line{display:grid;gap:.2rem;max-width:30ch;font:400 clamp(1.05rem,.95rem + .5vw,1.35rem)/1.35 var(--serif);color:var(--ink)}.venue-line span{font:600 .66rem/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.cd{margin-top:clamp(.5rem,2svh,1.5rem);width:min(100%,500px)}.cd__row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start}.cd__unit{display:grid;justify-items:center;gap:.4rem}.cd__num{display:grid;overflow:hidden;font:500 clamp(2rem,min(9vw,6.2svh),3.4rem)/1.05 var(--serif);color:var(--sage);font-variant-numeric:tabular-nums lining-nums}.cd__num>span{grid-area:1 / 1}.cd__label{font:600 .58rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.cd__sep{width:clamp(9px,1.6vw,12px);margin-top:clamp(.85rem,min(3.6vw,2.5svh),1.4rem);color:var(--gold)}.cd__sep svg{width:100%;height:auto;display:block}.cd__status{margin-top:var(--s-2);font:italic 400 clamp(.98rem,.9rem + .3vw,1.15rem)/1.4 var(--serif);color:var(--muted)}.flow{padding:var(--s-5) var(--gutter)}.section-title{font:500 clamp(2.3rem,1.6rem + 3.4vw,4.2rem)/1.02 var(--serif);color:var(--sage)}.section-title em{font-weight:400;color:var(--rose)}.section-lede{max-width:34ch;font:italic 400 clamp(1.05rem,.95rem + .5vw,1.3rem)/1.55 var(--serif);color:var(--muted)}.blessings{display:grid;justify-items:center;gap:var(--s-5);padding-block:var(--s-5) calc(var(--s-5) * 1.2)}.blessings__intro{display:grid;justify-items:center;gap:var(--s-2);text-align:center}.blessings__rosette{width:clamp(64px,9vw,96px);color:var(--gold);margin-bottom:var(--s-1)}.dua{width:min(100%,860px);display:grid;justify-items:center;gap:var(--s-2);text-align:center}.dua__divider{width:min(60vw,220px);color:var(--gold);margin-bottom:var(--s-3)}.dua__ar{max-width:32ch;padding:.15em .25em;font:400 clamp(1.45rem,1.05rem + 2vw,2.4rem)/2.15 var(--arabic);color:var(--sage)}.dua__ar--large{font-size:clamp(1.8rem,1.2rem + 3vw,3.2rem)}.dua__en{max-width:44ch;font:italic 400 clamp(1.08rem,.95rem + .6vw,1.4rem)/1.6 var(--serif);color:#585c53}.dua__source{font:600 .64rem/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.blessings__coda{display:grid;justify-items:center;gap:var(--s-1);text-align:center}.coda-star{width:28px;color:var(--gold);margin-bottom:var(--s-1)}.coda-star svg{width:100%;height:auto;display:block}.coda__ar{padding:.15em .25em;font:400 clamp(1.35rem,1.05rem + 1.4vw,2rem)/2 var(--arabic);color:var(--sage)}.coda__en{max-width:36ch;font:italic 400 clamp(1rem,.92rem + .35vw,1.2rem)/1.5 var(--serif);color:var(--muted)}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.spin-on-scroll{animation:spinThrough linear both;animation-timeline:view()}}}@keyframes spinThrough{0%{transform:rotate(-90deg)}to{transform:rotate(90deg)}}.venue{display:grid;justify-items:center;gap:var(--s-4)}.venue__divider{width:min(70vw,280px);color:var(--gold)}.venue__grid{width:min(100%,980px);display:grid;justify-items:center;align-items:center;gap:var(--s-4);text-align:center}.venue__copy{display:grid;justify-items:center;gap:var(--s-2)}.venue__name{max-width:15ch;font:500 clamp(2.1rem,1.4rem + 3vw,3.8rem)/1.05 var(--serif);color:var(--sage)}.venue__meta{display:grid;font:400 clamp(1.02rem,.95rem + .3vw,1.2rem)/1.5 var(--serif);color:var(--muted)}.maps-btn{display:inline-flex;align-items:center;gap:.9rem;margin-top:var(--s-1);padding:.95rem 1.5rem;border-radius:999px;background:var(--sage);color:#fff;text-decoration:none;font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:background-color .3s var(--ease),box-shadow .3s var(--ease)}.maps-btn span{font-size:1rem}.maps-btn:hover{background:#3f5140;box-shadow:0 12px 30px -12px #3f514099}.qr{position:relative;margin:0;width:min(100%,320px);padding:clamp(1.25rem,4vw,1.9rem);display:grid;justify-items:center;gap:1rem;background:var(--paper);border:1px solid var(--gold-faint);box-shadow:0 24px 60px -30px #5046284d;text-align:center}.qr__corner{position:absolute;width:18px;height:18px;border:0 solid var(--gold)}.qr__corner--tl{top:8px;left:8px;border-top-width:1px;border-left-width:1px}.qr__corner--tr{top:8px;right:8px;border-top-width:1px;border-right-width:1px}.qr__corner--bl{bottom:8px;left:8px;border-bottom-width:1px;border-left-width:1px}.qr__corner--br{bottom:8px;right:8px;border-bottom-width:1px;border-right-width:1px}.qr__code{display:block;padding:10px;background:#fff;border:1px solid var(--gold-soft);line-height:0}.qr__code img{width:min(220px,58vw);height:auto;aspect-ratio:1;image-rendering:pixelated}.qr figcaption{display:grid;gap:.25rem}.qr__title{font:600 .7rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sage)}.qr__hint{font:italic 400 1rem/1.4 var(--serif);color:var(--muted)}@media (min-width: 900px){.venue__grid{grid-template-columns:1.15fr .85fr;text-align:left}.venue__copy{justify-items:start;justify-self:stretch}}.closing{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding-bottom:var(--s-4);text-align:center}.closing__inner{display:grid;justify-items:center;gap:var(--s-1)}.closing__arch{width:clamp(56px,8vw,84px);height:auto;color:var(--gold);margin-bottom:var(--s-2)}.closing__ar{padding:.1em .3em;font:400 clamp(2.4rem,1.6rem + 4.5vw,5rem)/1.9 var(--callig);color:var(--sage)}.closing__en{font:italic 400 clamp(1.15rem,1rem + .8vw,1.6rem)/1.4 var(--serif);color:var(--muted)}.closing__divider{width:min(60vw,220px);color:var(--gold);margin-block:var(--s-3)}.closing__names{display:grid;justify-items:center;font:500 clamp(1.6rem,1.1rem + 2.4vw,2.8rem)/1.2 var(--serif);color:var(--sage)}.closing__names span{font-style:italic;font-weight:400;color:var(--rose);padding-inline:.15em}.closing__hamd{margin-top:var(--s-3);padding:.1em .3em;font:400 clamp(1.6rem,1.3rem + 1.4vw,2.3rem)/1.8 var(--arabic);color:var(--sage)}.closing__small{font:600 .64rem/1.6 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}@media (max-height: 540px) and (orientation: landscape){.pinned{height:auto}.stage{position:relative;height:auto;min-height:100svh}}@media (prefers-reduced-motion: reduce){.pinned{height:auto}.stage{position:relative;height:auto;min-height:100svh}.load,.letter{animation:none;opacity:1}.scroll-cue__line{animation:none}}
