:root{--paper: #fdf3e6;--paper-2: #f8ead9;--wine: #7a1626;--wine-2: #5f0f1c;--ink: #4a4236;--ink-2: #7b6f61;--line: #e0cfc2;--frame: #c7b3a8;--serif: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;--script: "Pinyon Script", "Snell Roundhand", cursive;--arabic: "Amiri", "Geeza Pro", serif;--inset: clamp(10px, 2.2vw, 24px);--gutter: clamp(.9rem, 4vw, 3rem);--card: #fef8f0;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;min-height:100vh;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .25  0 0 0 0 .18  0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);font-family:var(--serif);font-size:clamp(1.08rem,.4vw + 1rem,1.2rem);line-height:1.6;font-feature-settings:"onum" 1,"liga" 1,"kern" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}[hidden]{display:none!important}img{max-width:100%;display:block}a{color:inherit}p{margin:0}h1,h2,h3{margin:0;font-weight:400}::selection{background:var(--wine);color:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.caps{text-transform:uppercase;letter-spacing:.3em;font-size:.8rem;font-weight:500;font-feature-settings:"onum" 1}.caps--wine{color:var(--wine)}.script-title{font-family:var(--script);color:var(--wine);font-size:clamp(3.4rem,8vw,5.2rem);line-height:1.15;margin-top:.1em}.script-title--xl{font-size:clamp(4rem,11vw,7rem)}.lede{max-width:32em;margin:1.25rem auto 2.25rem;font-size:1.2em;color:var(--ink)}.aside{margin-top:2.5rem;text-align:center;font-style:italic;color:var(--ink-2)}.framed{position:relative}.framed:before,.framed:after{content:"";position:absolute;pointer-events:none}.framed:before{inset:var(--inset);border:1.5px solid var(--frame)}.framed:after{inset:calc(var(--inset) + 9px);border:1px solid var(--line)}.framed--small{--inset: 0px}.framed--small:after{top:8px;right:8px;bottom:8px;left:8px}.divider{display:flex;align-items:center;gap:.9rem;max-width:660px;margin:2rem auto}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--frame);opacity:.8}.divider span{width:7px;height:7px;background:var(--wine);transform:rotate(45deg)}.divider--section{max-width:220px;margin:0 auto}.floral{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;height:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:3rem;padding:.9em 2.2em .85em 2.5em;border:1px solid var(--wine);background:transparent;color:var(--wine);font:500 .76rem/1 var(--serif);text-transform:uppercase;letter-spacing:.3em;text-decoration:none;cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.btn:hover,.btn--solid{background:var(--wine);color:var(--paper)}.btn--solid:hover{background:var(--wine-2);border-color:var(--wine-2)}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:1px solid var(--wine);outline-offset:4px}.link{background:none;border:0;padding:0;font:inherit;color:var(--wine);cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;text-decoration-color:color-mix(in srgb,var(--wine) 40%,transparent)}.link:hover{text-decoration-color:var(--wine)}.topnav{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 clamp(1rem,4vw,2.5rem);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--line);transform:translateY(-100%);transition:transform .5s var(--ease)}.topnav.is-shown{transform:none}.topnav__mark{font-family:var(--script);font-size:1.75rem;color:var(--wine);text-decoration:none;line-height:1;padding-top:.15em}.topnav__mark span{font-size:.8em}.topnav__links{display:flex;gap:clamp(1rem,2.6vw,2.2rem)}.topnav__links a{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;font-weight:500;padding:.4em 0;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}.topnav__links a:hover{color:var(--wine);border-color:currentColor}.topnav__links .topnav__gallery{color:var(--wine)}@media(max-width:640px){.topnav__links a:not(.topnav__gallery):not([href="#rsvp"]){display:none}}.progress{--step: 2.1rem;position:fixed;right:clamp(.9rem,2vw,1.75rem);top:50%;z-index:15;display:flex;flex-direction:column;gap:calc(var(--step) - 9px);transform:translateY(-50%)}.progress__track{position:absolute;left:50%;top:4.5px;bottom:4.5px;width:1px;background:var(--line);transform:translate(-50%)}.progress__fill{position:absolute;inset:0 0 auto 0;height:100%;background:var(--wine);transform-origin:top;transform:scaleY(var(--p, 0))}.progress a{position:relative;display:block;width:9px;height:9px}.progress a:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.progress a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--wine);background:var(--paper);transform:rotate(45deg) scale(.85);transition:background-color .4s var(--ease),transform .4s var(--ease)}.progress a.is-passed:after{background:var(--wine)}.progress a.is-current:after{transform:rotate(45deg) scale(1.15)}.progress a span{position:absolute;right:22px;top:50%;transform:translate(4px,-50%);white-space:nowrap;font-size:.62rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--wine);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}.progress:hover a span,.progress a:focus-visible span{opacity:1;transform:translateY(-50%)}.progress-bar{display:none;position:fixed;inset:0 0 auto 0;height:2px;z-index:25}.progress-bar span{display:block;height:100%;background:var(--wine);transform-origin:left;transform:scaleX(var(--p, 0))}@media(max-width:760px){.progress{display:none}.progress-bar{display:block}}.hero{padding:clamp(1.25rem,5vw,4rem) var(--gutter) 0;overflow-x:clip}.invite-card,.footer{--inset: clamp(8px, 1.4vw, 14px);width:min(780px,100%);margin:0 auto;background:var(--card)}.invite-card{padding:clamp(4.5rem,9vw,5.75rem) clamp(1.5rem,6vw,3.75rem) clamp(3rem,6vw,4.25rem)}.floral--top{top:calc(var(--inset) - 16px);right:calc(var(--inset) - 14px);width:clamp(110px,19vw,230px)}.invite{position:relative;z-index:2;margin:0 auto;text-align:center}.bismillah{font-family:var(--arabic);font-size:clamp(1.5rem,3vw,2.05rem);color:var(--wine);line-height:1.7}.verse{margin:.3rem auto 0;max-width:31em}.verse p{font-style:italic;font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.55}.verse cite{display:block;margin-top:1.1rem;font-style:normal;color:var(--wine)}.together{margin-top:clamp(1.8rem,4vw,2.4rem)}.couple{display:grid;max-width:560px;margin:clamp(.25rem,1.5vw,.75rem) auto 0}.couple__one--groom{justify-self:start;text-align:left}.couple__one--bride{justify-self:end;text-align:right}.name{font-family:var(--script);color:var(--wine);font-size:clamp(3.4rem,10vw,6.6rem);line-height:1.15;white-space:nowrap}.couple__one--groom .name{margin-left:-.08em}.amp{font-family:var(--script);color:var(--wine);font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1;margin:.1em 0 -.1em}.request{margin-top:clamp(1.4rem,3vw,2rem)}.date{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;max-width:440px;margin:0 auto}.date__side{font-size:clamp(.82rem,1.6vw,1.05rem);letter-spacing:.28em;padding-top:1.1rem}.date__day{text-align:right;padding-right:clamp(1rem,4vw,2.2rem)}.date__year{text-align:left;padding-left:clamp(1.2rem,4vw,2.4rem)}.date__centre{display:flex;flex-direction:column;align-items:center;padding:.2rem clamp(1.2rem,4vw,2.4rem) .4rem;border-left:1px solid var(--frame);border-right:1px solid var(--frame)}.date__num{font-size:clamp(3.2rem,7vw,4.4rem);line-height:1;color:var(--wine);font-weight:500}.date__month{margin-top:.55rem;font-size:clamp(.85rem,1.8vw,1.1rem);padding-left:.3em}.date__time{margin-top:1.3rem;font-size:clamp(.9rem,1.7vw,1.05rem)}.countdown{margin-top:1.4rem;font-style:italic;color:var(--ink-2);min-height:1.6em}@media(max-width:640px){.invite-card{padding-top:6.25rem}.couple__one--groom,.couple__one--bride{justify-self:center;text-align:center}.amp{margin:.35em 0 .1em}.caps{letter-spacing:.2em;text-wrap:balance}.date__side{padding-top:.9rem;font-size:.8rem;letter-spacing:.2em}.date__day{padding-right:.9rem}.date__year{padding-left:1rem}}.section{padding:clamp(4.5rem,11vw,8rem) clamp(1.5rem,5vw,3rem)}.section__head{text-align:center;margin-bottom:clamp(2.5rem,6vw,4rem)}.eyebrow{margin-bottom:.2rem}.schedule{--time-col: 6.5rem;--gap: 3.2rem;list-style:none;max-width:600px;margin:0 auto;padding:0}.schedule li{position:relative;display:grid;grid-template-columns:var(--time-col) 1fr;column-gap:var(--gap);padding-bottom:2.6rem}.schedule li:before{content:"";position:absolute;left:calc(var(--time-col) + var(--gap) / 2);top:1.15rem;bottom:-.15rem;width:1px;background:var(--line)}.schedule li:last-child{padding-bottom:0}.schedule li:last-child:before{display:none}.schedule li:after{content:"";position:absolute;left:calc(var(--time-col) + var(--gap) / 2 - 4px);top:.62rem;width:9px;height:9px;border:1px solid var(--wine);background:var(--paper);transform:rotate(45deg)}.schedule__time{text-align:right;color:var(--wine);font-size:1.85rem;line-height:1;font-weight:500}.schedule__time small{display:block;margin-top:.45rem;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-2);font-weight:500}.schedule h3{font-size:1.55rem;line-height:1.2;font-weight:500;color:var(--ink)}.schedule h3+p{margin-top:.3rem;color:var(--ink-2)}@media(max-width:520px){.schedule{--time-col: 4.2rem;--gap: 2.2rem}.schedule__time{font-size:1.5rem}}.venue__address{font-style:normal;font-size:clamp(.82rem,1.8vw,1rem);line-height:2.1;margin:1.3rem 0 2.2rem;padding-left:.3em}.notes,.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,6vw,4.5rem);max-width:820px;margin:0 auto}.note-block{padding:1.6rem 0 1.8rem;border-top:1px solid var(--line)}.note-block h3{font-size:.74rem;margin-bottom:.55rem}.note-block p{color:var(--ink)}@media(max-width:640px){.notes,.details{grid-template-columns:1fr}}.rsvp{padding-top:clamp(2rem,6vw,4rem)}.rsvp__card{max-width:560px;margin:0 auto;padding:clamp(3rem,8vw,4.5rem) clamp(1.5rem,6vw,3.5rem);text-align:center;background:var(--card)}.rsvp__by{font-style:italic;color:var(--ink-2);font-size:1.1em}.rsvp__name{font-family:var(--script);color:var(--wine);font-size:clamp(2.8rem,8vw,3.6rem);line-height:1.25;margin-top:1.4rem}.rsvp__number{font-size:1.6rem;letter-spacing:.14em;margin-top:.2rem}.rsvp__actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}.rsvp .aside{margin-top:1.8rem;font-size:.95em}.gallery-teaser{padding-top:clamp(3rem,8vw,5rem)}.footer{margin-bottom:clamp(1.25rem,5vw,4rem);padding:clamp(3.5rem,8vw,5rem) 1.5rem clamp(4rem,9vw,5.5rem);text-align:center}.footer-wrap{padding:0 var(--gutter);overflow-x:clip}.floral--bottom{bottom:calc(var(--inset) - 16px);left:calc(var(--inset) - 14px);width:clamp(110px,17vw,210px)}.footer__names{position:relative;z-index:2;font-family:var(--script);color:var(--wine);font-size:clamp(2.8rem,7vw,4rem);line-height:1.3}.footer__date{margin-top:.6rem;position:relative;z-index:2}.footer__note{position:relative;z-index:2;margin-top:1.1rem;font-style:italic;color:var(--ink-2)}.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.js [data-reveal].is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transform:none;transition:none}.topnav{transition:none}}
