@font-face{font-family:Vienna Romance;src:url(/fonts/vienna-romance.woff2)format("woff2");font-display:swap}@font-face{font-family:Libre Baskerville;src:url(/fonts/baskerville.woff2)format("woff2");font-style:normal;font-display:swap}@font-face{font-family:Libre Baskerville;src:url(/fonts/baskerville-italic.woff2)format("woff2");font-style:italic;font-display:swap}:root{--pink:#df617e;--blue:#4b5b65;--yellow:#f4bd8d;--cream:#fffbee;--blue-deep:#2f3b43;--gutter:clamp(1rem, 5vw, 4rem);--expo:cubic-bezier(.16, 1, .3, 1);--frame-inset:clamp(.625rem, 2vw, 1.25rem);--corner:clamp(5.75rem, 25vw, 13rem);--crown:3.5rem;scrollbar-color:var(--pink) var(--cream)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.25rem}body{background:var(--cream);color:var(--blue);margin:0;font:400 .9375rem/1.75 Libre Baskerville,Georgia,serif;overflow-x:clip}.js:not(.no-gate) body{overflow:hidden}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}p,h1,h2,h3,dl,dd{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}::selection{background:var(--pink);color:var(--cream)}:focus-visible{outline-offset:3px;outline:2px solid}main:focus{outline:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--pink)}.script{-webkit-text-stroke:.012em currentColor;font-family:Vienna Romance,Libre Baskerville,serif;line-height:1.2}.caps{letter-spacing:.2em;text-transform:uppercase;font-size:.6875rem}.bg-photo{z-index:-1;object-fit:cover;pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;inset:0}.keep .bg-photo{opacity:.2;mix-blend-mode:multiply;object-position:50% 35%;-webkit-mask-image:linear-gradient(#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#0000,#000 30% 70%,#0000)}.event--night .bg-photo{opacity:.15;object-position:50% 50%;-webkit-mask-image:linear-gradient(#0000,#000 25% 65%,#0000);mask-image:linear-gradient(#0000,#000 25% 65%,#0000)}.close__sky{z-index:-1;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 65%,#0000);mask-image:linear-gradient(#000 65%,#0000)}.close .bg-photo{opacity:.5;object-position:40% 0;height:max(46rem,55vw)}.lattice{isolation:isolate;position:relative}.lattice:before{content:"";z-index:-1;pointer-events:none;background:var(--pattern) center top / max(62rem, 100%) auto repeat;opacity:.12;position:absolute;inset:0}.btn{letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;cursor:pointer;min-height:3rem;transition:background-color .25s var(--expo), color .25s var(--expo), border-color .25s var(--expo);justify-content:center;align-items:center;padding:.5rem 1.5rem;font-size:.6875rem;text-decoration:none;display:inline-flex}.btn--solid{background:var(--blue);color:var(--cream);border:1px solid var(--blue)}.btn--solid:hover{background:var(--blue-deep);border-color:var(--blue-deep)}.btn--line{border:1px solid var(--blue);color:var(--blue)}.btn--line:hover{background:var(--blue);color:var(--cream)}.btn--deep{background:var(--blue-deep);color:var(--cream)}.btn--deep:hover{background:var(--blue)}.corner{width:var(--corner);pointer-events:none;background:url(/art/border.svg) 0 0/100% no-repeat;position:absolute}.corner--tl,.corner--tr{top:calc(var(--corner) * -.033);aspect-ratio:182/253}.corner--bl,.corner--br{bottom:calc(var(--corner) * -.008);aspect-ratio:182/198;background-position:0 100%}.corner--tl,.corner--bl{left:calc(var(--corner) * -.03)}.corner--tr,.corner--br{right:calc(var(--corner) * -.03);transform:scaleX(-1)}.gate{z-index:50;display:none;position:fixed;inset:0;overflow:hidden}.js:not(.no-gate) .gate{display:block}.door{background:var(--cream);isolation:isolate;width:50.2%;transition:transform 1.15s var(--expo);position:absolute;top:0;bottom:0;overflow:hidden}.door:before{content:"";z-index:-1;background:var(--pattern) center top / max(62rem, 100%) auto repeat;opacity:.12;width:200%;position:absolute;top:0;bottom:0}.door--left{left:0}.door--right,.door--right:before{right:0}.door__frame{inset:var(--frame-inset);border:max(1.5px, calc(var(--corner) * .009)) solid var(--blue);position:absolute}.door--left .door__frame{right:calc(var(--frame-inset) * -1);border-right:0}.door--right .door__frame{left:calc(var(--frame-inset) * -1);border-left:0}.gate__crown{left:50%;top:calc(var(--frame-inset) - .5rem);width:var(--crown);transition:opacity .3s;position:absolute;translate:-50%}.gate__content{padding:2rem var(--gutter);text-align:center;transition:opacity .35s, scale 1s var(--expo);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mono{width:clamp(9rem,40vw,13rem);height:auto;overflow:visible}.mono .cls-1,.mono .cls-2{stroke-width:0}.mono .cls-1{fill:var(--pink)}.mono .cls-2{fill:var(--yellow)}.gate__names{margin-top:1.25rem;font-family:Vienna Romance,serif;font-size:clamp(2rem,8.5vw,2.75rem);line-height:1.2}.gate__names,.close__names{-webkit-text-stroke:.012em currentColor;justify-content:center;align-items:center;gap:.3em;display:flex}.gate__names i,.close__names i{color:var(--pink);-webkit-text-stroke:0;margin-inline:.42em -.2em;font-family:Libre Baskerville,serif;font-size:.55em}.gate__date{letter-spacing:.2em;text-transform:uppercase;margin:.5rem 0 2.25rem;font-size:.6875rem}.gate.is-open{pointer-events:none}.gate.is-open .door--left{transform:translate(-101%)}.gate.is-open .door--right{transform:translate(101%)}.gate.is-open .gate__crown{opacity:0}.gate.is-open .gate__content{opacity:0;scale:1.06}@media (prefers-reduced-motion:no-preference){.mono .cls-1{fill-opacity:0;stroke:var(--pink);stroke-width:.5px;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.7s cubic-bezier(.65,0,.35,1) .15s forwards trace,.5s 1.5s forwards fill}.mono .cls-2{opacity:0;animation:.5s 1.7s forwards appear}.gate__names,.gate__date,.gate__content .btn{opacity:0;animation:settle .9s 1.6s var(--expo) forwards;translate:0 10px}.gate__date{animation-delay:1.72s}.gate__content .btn{animation-delay:1.84s}}@keyframes trace{to{stroke-dashoffset:0}}@keyframes fill{to{fill-opacity:1}}@keyframes appear{to{opacity:1}}@keyframes settle{to{opacity:1;translate:0}}.bar{z-index:20;height:4.75rem;padding-inline:var(--gutter);background:var(--cream);border-bottom:1px solid color-mix(in srgb, var(--blue) 22%, transparent);grid-template-columns:auto 1fr auto;align-items:center;gap:.25rem;display:grid;position:sticky;top:0}.bar__mark{flex:none;align-items:center;min-height:2.75rem;display:flex}.bar__mark img{width:3rem}.bar nav{justify-content:center;display:flex}.bar__extra{display:none!important}.go{position:relative}.go summary{cursor:pointer;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;min-height:2.75rem;color:var(--blue-deep);align-items:center;font-size:.625rem;list-style:none;display:inline-flex;position:relative}.go summary:after{content:"";background:var(--pink);transform-origin:0;height:1px;transition:transform .5s var(--expo), background-color .3s;position:absolute;bottom:.5rem;left:0;right:0}@media (hover:hover){.go summary:hover:after{transform:scaleX(.55)}}.go[open] summary:after{background:var(--blue)}.go summary::-webkit-details-marker{display:none}.go__menu{background:var(--cream);border:1px solid var(--blue);width:13rem;box-shadow:0 1rem 1.75rem -.75rem color-mix(in srgb, var(--blue-deep) 55%, transparent);display:grid;position:absolute;top:calc(100% + .5rem);right:0}.go__menu a{flex-direction:column;padding:.75rem 1rem;text-decoration:none;display:flex}.go__menu a+a{border-top:1px solid color-mix(in srgb, var(--blue) 22%, transparent)}.go__menu a:hover{background:color-mix(in srgb, var(--yellow) 26%, transparent)}.go__menu b{letter-spacing:.16em;text-transform:uppercase;font-size:.6875rem;font-weight:400}.go__menu span{font-size:.875rem;font-style:italic}.bar nav a{letter-spacing:.14em;text-transform:uppercase;align-items:center;min-height:2.75rem;padding-inline:.5rem;font-size:.6875rem;text-decoration:none;display:inline-flex}.bar nav a:hover{color:var(--blue-deep);text-decoration:underline}.hero{padding:0 var(--gutter)}.hero__frame{--corner:clamp(5rem, 23vw, 10rem);border:max(1.5px, calc(var(--corner) * .009)) solid var(--blue);pointer-events:none;position:absolute;inset:0;overflow:clip}.hero__crown{width:var(--crown);position:absolute;top:0;left:50%;translate:-50%}.hero__in{text-align:center;justify-items:center;gap:3.5rem;padding-block:5.5rem 8.5rem;display:grid}.hero__words{flex-direction:column;align-items:center;width:100%;display:flex}.hero__bismillah{width:7.5rem}.hero__together{margin-top:1.25rem;font-size:.625rem}.hero__names{flex-direction:column;align-items:center;margin-top:.75rem;display:flex}.hero__names .script{white-space:nowrap;font-size:clamp(4.75rem,25vw,7rem)}.amp{color:var(--pink);font-size:1rem;font-style:italic;line-height:1.2}.hero__invite{max-width:26ch;margin-top:.75rem;font-size:.8125rem;font-style:italic;line-height:1.6}.when{width:100%;max-width:22rem;margin-top:1.75rem}.when__row{border-block:1px solid color-mix(in srgb, var(--blue) 28%, transparent);letter-spacing:.16em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding-block:.75rem;font-size:.625rem;line-height:1.6;display:grid}.when__days{text-align:right}.when__month{text-align:left}.when b{letter-spacing:0;white-space:nowrap;font-size:clamp(1.75rem,8vw,2.25rem);font-weight:400;line-height:1.1}.when b i{color:var(--pink);margin-inline:.3em;font-size:.45em}.when__events{flex-direction:column;align-items:center;padding-top:.25rem;display:flex}.when__events a{white-space:nowrap;letter-spacing:.12em;text-transform:uppercase;align-items:center;min-height:2.75rem;font-size:.625rem;display:inline-flex}.when__sep{background:var(--pink);width:.3125rem;height:.3125rem;display:none;rotate:45deg}@media (width>=560px){.when__events{flex-direction:row;justify-content:center;gap:1rem}.when{max-width:27rem}.when__sep{display:block}}.stack{width:min(80vw,22rem);transform-style:preserve-3d;transition:transform .6s var(--expo);position:relative;transform:perspective(1000px)rotateX(0)rotateY(0)}.tucked{width:100%;box-shadow:0 1rem 1.75rem -.5rem color-mix(in srgb, var(--blue-deep) 50%, transparent);transition:rotate .5s var(--expo), scale .5s var(--expo);display:block;rotate:-2deg}.tucked:hover{rotate:0deg}.bridge{background:var(--pink);color:var(--cream);padding:4rem var(--gutter);text-align:center}.bridge:before{filter:brightness(0)invert()}.bridge p{text-wrap:balance;max-width:24ch;margin-inline:auto;font-size:clamp(1.5rem,6vw,1.875rem);font-style:italic;line-height:1.45}.event{padding:5.5rem var(--gutter);overflow:clip}.event__grid{text-align:center;justify-items:center;gap:1.75rem;max-width:66rem;margin-inline:auto;display:grid}.event__title .script{font-size:clamp(3.25rem,16vw,4.5rem)}.event--day .script.wipe{color:var(--pink)}.event__lead{color:var(--cream);-webkit-text-stroke:0;font-family:Libre Baskerville,serif;font-size:1rem;font-style:italic;line-height:1.8;display:block}.event__date{letter-spacing:.2em;text-transform:uppercase;font-size:.6875rem}.event__time{font-size:clamp(1.875rem,8vw,2.5rem);line-height:1.35}.event__venue{margin-top:.75rem;font-size:clamp(1.0625rem,4.4vw,1.25rem);line-height:1.4}.event__place{font-style:italic}.event__actions{flex-direction:column;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.event__actions .btn{width:14.5rem}.cal summary{list-style:none}.cal summary::-webkit-details-marker{display:none}.cal__menu{margin-top:.25rem;display:grid}.cal__menu a{justify-content:center;align-items:center;min-height:3rem;font-style:italic;text-decoration:underline;display:flex}.event__leaves{pointer-events:none;width:clamp(2.75rem,12vw,8rem);position:absolute;top:2.5rem;right:0}.event--day{padding-bottom:3rem}.event--night{isolation:isolate;background:var(--blue);color:var(--cream);position:relative;overflow:visible}.event--night .btn--solid{background:var(--yellow);color:var(--blue-deep);border-color:var(--yellow)}.event--night .script.wipe,.event--night .event__time{color:var(--yellow)}.event--night .btn--solid:hover{background:var(--cream);border-color:var(--cream);color:var(--blue-deep)}.event--night .btn--line{border-color:var(--yellow);color:var(--cream)}.event--night .btn--line:hover{background:var(--yellow);color:var(--blue-deep)}.event__crown,.close__crown{z-index:1;width:var(--crown);position:absolute;top:0;left:50%;translate:-50% -50%}.count{border-top:1px solid color-mix(in srgb, var(--yellow) 60%, transparent);text-align:center;max-width:28rem;margin:5.5rem auto 0;padding-top:3.5rem}.count[hidden]{display:none}.count__label{letter-spacing:.32em;text-transform:uppercase;font-size:.6875rem}.count__cells{grid-template-columns:repeat(4,1fr);margin-top:1.75rem;display:grid}.count__cells[hidden]{display:none}.count__cells div{flex-direction:column-reverse;display:flex;position:relative}.count__cells div+div:before{content:":" / "";color:var(--yellow);font-size:clamp(1.5rem,7vw,2.25rem);line-height:1.35;position:absolute;top:0;left:0;translate:-50% -.06em}.count__cells dd{font-variant-numeric:tabular-nums lining-nums;font-size:clamp(1.5rem,7vw,2.25rem);line-height:1.35}.count__cells dt{letter-spacing:.16em;text-transform:uppercase;font-size:.625rem}.families{padding:2.5rem var(--gutter) 5.5rem}.sheet{text-align:center;border:max(1.5px, calc(var(--corner) * .009)) solid var(--blue);background:var(--cream);max-width:66rem;margin-inline:auto;padding:6.5rem 1.5rem 7rem;position:relative}.sheet__crown{width:var(--crown);position:absolute;top:0;left:50%;translate:-50% -50%}.sheet>h2{color:var(--pink);font-size:clamp(2.25rem,10vw,3.25rem)}.sheet__pair{gap:2.75rem;margin-top:2.25rem;display:grid}.fam h3{font-size:clamp(2rem,9vw,2.75rem)}.fam p{text-wrap:balance;margin-top:.75rem;line-height:1.6}.fam i{font-size:.8125rem;display:block}.fam span{text-wrap:balance;display:block}.keep{isolation:isolate;background:var(--yellow);color:var(--blue-deep);padding:5.5rem var(--gutter);text-align:center;justify-items:center;gap:2.75rem;display:grid;position:relative;overflow:clip}.keep__leaves{pointer-events:none;width:clamp(2.5rem,10vw,7rem);position:absolute;top:2rem;left:0;scale:-1 1}.keep .script{font-size:clamp(2.75rem,12vw,4rem)}.keep__words p{margin-block:.5rem 1.75rem;font-style:italic}.keep__card{width:min(100%,39rem);box-shadow:0 1.75rem 3rem -1.25rem color-mix(in srgb, var(--blue-deep) 60%, transparent);transition:rotate .5s var(--expo);rotate:-1.5deg}.keep__card:hover{rotate:0deg}.close{isolation:isolate;background:var(--blue);min-height:max(30rem,38vw);color:var(--cream);text-align:center;padding:4.5rem var(--gutter) 4rem;position:relative}.close__joy{text-wrap:balance;max-width:24ch;margin-inline:auto;font-size:1rem;font-style:italic}.close__names{margin-top:1.5rem;font-size:clamp(2.75rem,13vw,4rem)}.close__names i{color:var(--yellow)}.close__regards{margin-top:1.5rem;font-style:italic}.close__siblings{font-size:1.0625rem;font-style:italic}.light{background:0 0;border:0;width:min(96vw,80rem);max-width:none;max-height:92dvh;padding:0;overflow:visible}.light::backdrop{background:color-mix(in srgb, var(--blue-deep) 88%, transparent)}.light[open]{animation:lift .5s var(--expo)}.light img{object-fit:contain;width:100%;max-height:92dvh}.light__close{z-index:1;background:var(--cream);width:3rem;height:3rem;color:var(--blue);border-radius:50%;place-items:center;display:grid;position:absolute;top:.5rem;right:.5rem}@keyframes lift{0%{opacity:0;transform:translateY(1rem)scale(.97)}}.sound{z-index:30;background:var(--blue);width:3rem;height:3rem;color:var(--cream);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:1rem;right:1rem}.sound[hidden],.sound__off{display:none}.sound[aria-pressed=false] .sound__off{display:block}.motion .wipe{clip-path:inset(-25% 105% -25% -5%);transition:clip-path 1.2s var(--expo)}.motion .wipe.in{clip-path:inset(-25% -5%)}.motion .reveal{opacity:0;transition:opacity .9s var(--expo), translate .9s var(--expo);translate:0 18px}.motion .reveal.in{opacity:1;translate:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.tucked,.keep__card{transition:none}.light[open]{animation:none}}@media (width>=860px){:root{--corner:clamp(9rem, 28vh, 15rem)}.bar{grid-template-columns:1fr auto 1fr}.bar nav{gap:1.5rem}.bar__extra{display:inline-flex!important}.go{justify-self:end}.go summary{letter-spacing:.18em;font-size:.6875rem}.hero__in{grid-template-columns:1.1fr .9fr;align-items:center;max-width:70rem;margin-inline:auto;padding-block:5rem 7rem}.stack{width:min(100%,25rem)}.event{padding-block:7.5rem}.event__grid{grid-template-columns:1fr 1fr;align-items:center;gap:0;max-width:54rem}.event__detail{border-left:1px solid var(--yellow);text-align:left;padding:.5rem 0 .5rem 3rem}.event__title{text-align:right;justify-self:stretch;padding-right:3rem}.event__actions{flex-direction:row;justify-content:center;align-items:flex-start}.event__detail{justify-self:stretch}.event__actions{grid-column:1/-1;margin-top:3rem}.sheet{--corner:clamp(8rem, 13vw, 10.5rem);max-width:58rem;padding:5.5rem 4rem}.sheet__pair{grid-template-columns:1fr 1fr;gap:0;margin-top:2.75rem}.fam{padding-inline:1.5rem}.fam+.fam{border-left:1px solid var(--yellow)}.keep{padding-inline:max(var(--gutter), calc(50% - 33rem));grid-template-columns:.8fr 1.2fr;align-items:center}}@media (width<=859px){.bar{grid-template-columns:max-content 1fr max-content;padding-inline:.75rem}.bar__mark img{width:2.5rem;max-width:none}.bar nav a{letter-spacing:.08em;padding-inline:.3125rem;font-size:.625rem}.go summary{letter-spacing:.1em}}@media (width<=374px){.go summary{letter-spacing:.04em}.when__row{letter-spacing:.08em;gap:.5rem}.bar{gap:.25rem}.bar__mark img{width:2rem}.bar nav a{letter-spacing:.02em;padding-inline:.1875rem}}
