:root{--serif:"Cormorant Garamond", "Cormorant", "Noto Serif Ethiopic", Garamond, Georgia, serif;--sans:"Jost", "Noto Sans Ethiopic", "Futura", "Avenir Next", "Segoe UI", system-ui, sans-serif;--script:"Mrs Saint Delafield", "Noto Serif Ethiopic", "Snell Roundhand", "Segoe Script", cursive;--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-curtain:cubic-bezier(.65, 0, .2, 1);--gutter:clamp(1.25rem, 5vw, 4.5rem);--rule:color-mix(in srgb, var(--gold) 38%, transparent);--gold-ink:color-mix(in srgb, var(--gold) 65%, var(--ink));--rose-ink:color-mix(in srgb, var(--rose) 62%, var(--ink));--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--ink);font:300 1rem/1.75 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:clip}h1,h2,h3,p,figure,blockquote,ul,ol,dl,dd{margin:0;padding:0}ul,ol{list-style:none}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}::selection{background:var(--blush);color:var(--ink)}:focus-visible{outline-offset:6px;border-radius:2px;outline:1px solid}body:after,.veil:after{content:"";z-index:90;pointer-events:none;background:var(--grain);opacity:.06;animation:1.4s steps(5,end) infinite grain;position:fixed;inset:-10%}.wrap{width:min(100% - 2 * var(--gutter), 1280px);margin-inline:auto}.eyebrow{font:400 .68rem/1.5 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-soft)}.display{font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;font-weight:300;line-height:.98}em{font-style:italic}.lead{font:400 clamp(1.2rem, 1.9vw, 1.5rem)/1.55 var(--serif);color:var(--ink-soft);text-wrap:pretty}.script{font-family:var(--script);font-style:normal;font-weight:400}.w{display:inline-block}.frame{aspect-ratio:var(--ar,4 / 5);isolation:isolate;position:relative;overflow:hidden}.frame>*{width:100%;height:100%;transition:scale 1.8s var(--ease);position:absolute;inset:0}.frame img{object-fit:cover}.js .frame img{opacity:0;filter:blur(14px);transition:opacity 1.4s var(--ease), filter 1.4s var(--ease), scale 1.8s var(--ease)}.js .frame img.is-loaded{opacity:1;filter:none}.frame--arch{border-radius:999px 999px 0 0}.frame--oval{border-radius:50%}.plate{color:var(--pl);--petal:color-mix(in srgb, var(--pa) 35%, var(--pb));background:radial-gradient(110% 65% at 20% 0%, #fff9, transparent 62%), radial-gradient(90% 60% at 80% 105%, color-mix(in srgb, var(--pb) 70%, var(--ink) 6%), transparent 70%), linear-gradient(165deg, var(--pa), var(--pb))}.plate--0{--pa:color-mix(in srgb, var(--blush) 55%, var(--ivory));--pb:color-mix(in srgb, var(--rose) 24%, var(--blush));--pl:color-mix(in srgb, var(--rose) 85%, var(--ink))}.plate--1{--pa:color-mix(in srgb, var(--champagne) 45%, var(--ivory));--pb:color-mix(in srgb, var(--gold) 20%, var(--champagne));--pl:var(--gold)}.plate--2{--pa:color-mix(in srgb, var(--mauve) 12%, var(--ivory));--pb:color-mix(in srgb, var(--mauve) 40%, var(--ivory));--pl:color-mix(in srgb, var(--mauve) 80%, var(--ink))}.plate--3{--pa:color-mix(in srgb, var(--paper) 70%, #fff);--pb:color-mix(in srgb, var(--champagne) 80%, var(--ivory));--pl:color-mix(in srgb, var(--gold) 90%, var(--ink))}.plate__art{--sw:1.3;opacity:.9;max-width:80%;height:72%;position:absolute;bottom:13%;left:50%;translate:-50%}.plate__label{text-align:center;font:italic 400 .8rem/1 var(--serif);letter-spacing:.04em;color:color-mix(in srgb, var(--pl) 80%, var(--ink));opacity:.85;position:absolute;inset:auto 0 5%}.botanical{stroke-width:var(--sw,1);overflow:visible}.botanical circle{fill:none}.botanical .petal{fill:var(--petal,transparent)}.botanical .dot{fill:currentColor;stroke:none}.js [data-reveal=""]{opacity:0;filter:blur(6px);transition:opacity 1.3s var(--ease), translate 1.6s var(--ease-out), filter 1.3s var(--ease);transition-delay:calc(var(--d,0) * 1ms);translate:0 28px}.js [data-reveal=""].is-in{opacity:1;filter:none;translate:0}.js [data-reveal=mask] .frame{clip-path:inset(0 0 100%);transition:clip-path 1.9s var(--ease-curtain) calc(var(--d,0) * 1ms)}.js [data-reveal=mask] .frame>*{transition:scale 2.6s var(--ease-out) calc(var(--d,0) * 1ms), opacity 1.4s var(--ease), filter 1.4s var(--ease);scale:1.12}.js [data-reveal=mask] :is(figcaption,p){opacity:0;transition:opacity 1.4s var(--ease) calc(var(--d,0) * 1ms + .8s)}.js [data-reveal=mask].is-in .frame{clip-path:inset(0)}.js [data-reveal=mask].is-in .frame>*{scale:1}.js [data-reveal=mask].is-in :is(figcaption,p){opacity:1}.js [data-reveal=words] .w{opacity:0;filter:blur(8px);transition:opacity 1.5s var(--ease), translate 1.8s var(--ease-out), filter 1.5s var(--ease);transition-delay:calc(var(--i) * .17s + .12s);translate:0 .25em}.js [data-reveal=words].is-in .w{opacity:1;filter:none;translate:0}.js [data-reveal=draw] path{stroke-dasharray:1 2;stroke-dashoffset:1.02px;transition:stroke-dashoffset 1.5s var(--ease) calc(var(--k) * var(--step,.3s))}.js [data-reveal=draw] circle{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity 1s var(--ease) calc(var(--k) * var(--step,.3s)), scale 1.2s var(--ease-out) calc(var(--k) * var(--step,.3s));scale:.2}.js [data-reveal=draw].is-in path{stroke-dashoffset:0}.js [data-reveal=draw].is-in circle{opacity:1;scale:1}.js [data-reveal=write]>span{clip-path:inset(-30% 100% -30% -10%);transition:clip-path 2.4s cubic-bezier(.45,.05,.3,1) .5s;display:inline-block}.js [data-reveal=write].is-in>span{clip-path:inset(-30% -10%)}.js:not(.is-open){overflow:hidden}.js:not(.is-open) main,.js:not(.is-open) .nav{visibility:hidden}.veil{width:100%;max-width:none;height:100%;max-height:none;padding:var(--gutter);color:var(--ink);background:radial-gradient(60% 50% at 50% 46%, color-mix(in srgb, var(--blush) 55%, var(--ivory)), transparent 100%), var(--ivory);border:0;place-items:center;margin:0;position:fixed;inset:0;overflow:hidden}.veil[open]{display:grid}.veil::backdrop{background:0 0}.veil:after{animation:none}.veil__inner{text-align:center;animation:rise 1.4s var(--ease) both;flex-direction:column;align-items:center;display:flex}.veil__sprig{width:70px;height:105px;color:var(--gold);--sw:1.9;--step:.16s;margin-bottom:2.25rem}.veil__line{font:italic 300 clamp(2.1rem, 6vw, 3.4rem)/1.15 var(--serif);letter-spacing:-.01em}.veil__begin{min-height:48px;font:400 .7rem/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;background:0 0;border:0;margin-top:2.5rem;padding:1rem 1.75rem 1.25rem calc(1.75rem + .42em);position:relative}.veil__begin:after{content:"";background:var(--gold);width:2.25rem;height:1px;transition:width .8s var(--ease);position:absolute;bottom:.5rem;left:50%;translate:-50%}.veil__begin:hover:after,.veil__begin:focus-visible:after{width:5rem}.veil__begin:focus-visible{outline-color:var(--rule)}.veil.is-leaving{opacity:0;transition:opacity 1.1s var(--ease) .2s}.veil.is-leaving .veil__inner{opacity:0;filter:blur(6px);transition:all .9s var(--ease);translate:0 -14px}.nav{z-index:40;padding:clamp(.9rem, 2.4vh, 1.5rem) var(--gutter);transition:opacity 1.6s var(--ease) 2.4s, translate .9s var(--ease), background-color .6s, box-shadow .6s, padding .6s;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.js:not(.is-open) .nav{opacity:0}html:not(.js) .nav{position:absolute}.nav.is-solid{background:color-mix(in srgb, var(--ivory) 84%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px 0 color-mix(in srgb, var(--gold) 16%, transparent);padding-block:.7rem}.nav.is-hidden{translate:0 -105%}.nav__mark{font:italic 400 1.45rem/1 var(--serif);padding:.5rem .25rem;text-decoration:none}.nav__links{gap:clamp(1.5rem,3vw,2.75rem);display:flex}.nav__links a,.nav__menu,.menu__close{font:400 .64rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);padding-block:.75rem;text-decoration:none;transition:color .4s;display:inline-block;position:relative}.nav__links a:after{content:"";transform-origin:100%;height:1px;transition:scale .7s var(--ease);background:currentColor;position:absolute;inset:auto .3em .35rem 0;scale:0 1}.nav__links a:hover,.nav__links a[aria-current]{color:var(--ink)}.nav__links a:hover:after,.nav__links a[aria-current]:after{transform-origin:0;scale:1}.nav__menu,.menu__close{background:0 0;border:0;min-height:44px;padding-inline:.5rem;display:none}.nav__end{align-items:center;gap:.5rem;display:flex}.nav__lang{border:1px solid var(--rule);background:color-mix(in srgb, var(--ivory) 70%, transparent);min-height:40px;font:400 .8rem/1 var(--sans);letter-spacing:.04em;color:var(--ink);border-radius:999px;margin-left:clamp(1rem,2.5vw,2.25rem);padding:.35rem .95rem;transition:background-color .4s,border-color .4s}.nav__lang:hover{background:var(--blush);border-color:var(--rose)}.veil__line--am{color:var(--ink-soft);margin-top:.6rem;font-size:clamp(1.25rem,3.4vw,1.75rem)}html[lang=en] .sound [lang=am],html[lang=am] .sound [lang=en]{display:none}.menu{width:100%;max-width:none;height:100dvh;max-height:none;padding:6rem var(--gutter) 3rem;background:var(--ivory);color:var(--ink);opacity:0;transition:opacity .6s var(--ease), display .6s allow-discrete, overlay .6s allow-discrete;border:0;margin:0;position:fixed;inset:0}.menu:popover-open{opacity:1;flex-direction:column;justify-content:center;display:flex}@starting-style{.menu:popover-open{opacity:0}}.menu__close{top:.9rem;right:var(--gutter);display:inline-block;position:absolute}.menu ol{flex-direction:column;gap:.25rem;display:flex}.menu a{font:300 clamp(2.3rem, 10vw, 3.25rem)/1.15 var(--serif);align-items:baseline;gap:1.1rem;padding-block:.35rem;text-decoration:none;display:flex}.menu small{font:400 .62rem/1 var(--sans);letter-spacing:.2em;color:var(--gold-ink)}@media (width<=860px){.nav__links{display:none}.nav__menu{display:inline-block}}.progress{z-index:45;background:linear-gradient(90deg, var(--blush), var(--gold));transform-origin:0;height:2px;position:fixed;inset:0 0 auto;scale:0 1}@supports not (animation-timeline:scroll()){.progress{display:none}}.sound{left:var(--gutter);z-index:40;min-height:44px;font:400 .62rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);mix-blend-mode:multiply;background:0 0;border:0;align-items:center;gap:.7rem;padding:.5rem .25rem;display:flex;position:fixed;bottom:1rem}.sound__bars{align-items:flex-end;gap:2px;height:12px;display:flex}.sound__bars i{background:currentColor;width:1px;height:30%}.sound[aria-pressed=true] .sound__bars i{animation:1.1s ease-in-out infinite alternate bars}.sound[aria-pressed=true] .sound__bars i:nth-child(2){animation-delay:-.4s}.sound[aria-pressed=true] .sound__bars i:nth-child(3){animation-delay:-.8s}.hero{isolation:isolate;min-height:100svh;padding:clamp(4.5rem, 10vh, 7rem) var(--gutter) clamp(1rem, 3vh, 2rem);text-align:center;grid-template-rows:1fr auto;display:grid;position:relative;overflow:hidden}.hero__glow{z-index:-1;aspect-ratio:1;background:radial-gradient(closest-side, color-mix(in srgb, var(--blush) 80%, transparent), transparent);width:min(110vw,900px);animation:9s ease-in-out infinite alternate breathe;position:absolute;top:2%;left:50%;translate:-50%}.hero__motes{z-index:-1;pointer-events:none;position:absolute;inset:0}.mote{left:var(--x);top:var(--y);width:var(--s);height:var(--s);background:color-mix(in srgb, var(--gold) 45%, transparent);box-shadow:0 0 calc(var(--s) * 2.5) color-mix(in srgb, var(--champagne) 90%, transparent);filter:blur(.6px);opacity:0;animation:mote var(--t) ease-in-out var(--dl) infinite;border-radius:50%;position:absolute}.hero__inner{flex-direction:column;align-self:center;align-items:center;display:flex}.hero__eyebrow{margin-bottom:clamp(1.25rem,3.5vh,2.5rem);padding-left:.34em}.hero__portrait{width:clamp(150px,min(28vw,34svh),340px)}.hero__portrait .frame{--ar:3 / 4.1;-webkit-mask-image:linear-gradient(#000 52%,#0000 97%);mask-image:linear-gradient(#000 52%,#0000 97%)}.hero__title{font:300 clamp(3.5rem, min(14vw, 17.5svh), 11rem)/.9 var(--serif);letter-spacing:-.035em;margin-top:-.48em;position:relative}.hero__title em{padding-right:.06em}.hero__name{font:italic 400 clamp(1.5rem, 2.8vw, 2.2rem)/1.2 var(--serif);align-items:center;gap:.35em;margin-top:clamp(.9rem,2.4vh,1.5rem);display:flex}.hero__name:before,.hero__name:after{content:"";background:var(--rule);width:clamp(24px,5vw,64px);height:1px;margin-inline:.5em}.hero__line{max-width:24rem;font:300 clamp(.95rem, 1.15vw, 1.04rem)/1.7 var(--sans);color:var(--ink-soft);text-wrap:balance;margin-top:.75rem}.hero__date{color:var(--gold-ink);margin-top:clamp(1rem,2.6vh,1.6rem);padding-left:.34em}.hero__scroll{font:400 .58rem/1 var(--sans);letter-spacing:.36em;text-transform:uppercase;color:var(--ink-soft);flex-direction:column;justify-self:center;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.75rem .75rem 0 calc(.75rem + .36em);text-decoration:none;display:flex}.hero__scroll:after{content:"";background:linear-gradient(var(--gold), transparent);transform-origin:top;width:1px;height:clamp(26px,5.5vh,46px);animation:drip 2.8s var(--ease) infinite}.js .hero [data-enter]{opacity:0;filter:blur(6px);transition:opacity 1.4s var(--ease), translate 1.8s var(--ease-out), filter 1.4s var(--ease);transition-delay:calc(var(--d,0) * 1ms);translate:0 14px}.js .hero [data-enter=mask]{opacity:1;filter:none;clip-path:inset(0 0 100%);transition:clip-path 2.4s var(--ease-curtain) calc(var(--d) * 1ms);translate:none}.js .hero [data-enter=mask] .frame{transition:scale 3.2s var(--ease-out) calc(var(--d) * 1ms);scale:1.14}.js .hero__title .w{opacity:0;filter:blur(12px);transition:opacity 1.8s var(--ease), translate 2.2s var(--ease-out), filter 1.8s var(--ease);transition-delay:calc(.95s + var(--i) * .23s);translate:0 .16em}.is-open .hero [data-enter],.is-open .hero__title .w{opacity:1;filter:none;clip-path:inset(0);translate:0}.is-open .hero [data-enter=mask] .frame{scale:1}.story{padding-top:clamp(7rem,16vw,13rem)}.story__head{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);display:grid;position:relative}.story__head>.eyebrow{grid-column:1/-1;margin-bottom:1.5rem}.story__title{grid-column:1/10;font-size:clamp(3.25rem,9vw,8.5rem)}.story__intro{grid-column:6/12;margin-top:clamp(2rem,4vw,3.5rem)}.story__branch{width:clamp(80px,12vw,170px);color:var(--gold);opacity:.5;--sw:1.1;position:absolute;top:-14%;right:0;rotate:14deg}.interlude{padding:clamp(8rem, 26vh, 15rem) var(--gutter);text-align:center;font:italic 300 clamp(2.6rem, 7.5vw, 6.5rem)/1.05 var(--serif);letter-spacing:-.02em;text-wrap:balance}.moments{flex-direction:column;gap:clamp(6rem,13vw,11rem);display:flex}.moment{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;column-gap:clamp(1rem,2vw,2rem);display:grid}.moment__photo,.moment__text{grid-row:1}.moment:nth-child(4n+1) .moment__photo{--ar:4 / 5;grid-column:2/7}.moment:nth-child(4n+1) .moment__text{grid-column:8/12}.moment:nth-child(4n+2) .moment__photo{--ar:3 / 2;grid-column:6/13}.moment:nth-child(4n+2) .moment__text{grid-column:1/5}.moment:nth-child(4n+3) .moment__photo{--ar:3 / 4;grid-column:1/6}.moment:nth-child(4n+3) .moment__text{grid-column:7/11}.moment:nth-child(4n+4) .moment__photo{--ar:1 / 1;grid-column:7/12}.moment:nth-child(4n+4) .moment__text{grid-column:2/6}.moment__num{font:italic 300 clamp(3.25rem, 5.5vw, 5rem)/.8 var(--serif);color:var(--gold);opacity:.75;margin-bottom:1.75rem;display:block}.moment__title{color:var(--ink)}.moment__time{font:italic 400 1.1rem/1.4 var(--serif);color:var(--rose-ink);margin-top:.4rem}.moment__body{font:400 clamp(1.25rem, 1.7vw, 1.5rem)/1.5 var(--serif);text-wrap:pretty;margin-top:1.25rem}.aunt{isolation:isolate;padding:clamp(6rem, 14vw, 10rem) var(--gutter);text-align:center;background:linear-gradient(var(--ivory), color-mix(in srgb, var(--rose) 16%, var(--blush)) 30%, color-mix(in srgb, var(--rose) 16%, var(--blush)) 70%, var(--ivory));margin-top:clamp(5rem,12vw,9rem);position:relative;overflow:hidden}.aunt__glow{z-index:-1;background:radial-gradient(closest-side,#fffaf4bf,#0000);animation:10s ease-in-out infinite alternate breathe;position:absolute;inset:15% 10%}.aunt__bloom{width:70px;height:105px;color:var(--rose);--sw:1.6;--petal:color-mix(in srgb, var(--rose) 10%, var(--blush));margin:0 auto 1.75rem}.aunt .eyebrow{padding-left:.34em}.aunt__name{font:italic 300 clamp(3.2rem, 10vw, 8rem)/1 var(--serif);letter-spacing:-.03em;color:color-mix(in srgb, var(--rose) 70%, var(--ink));text-wrap:balance;margin-top:1.25rem}.aunt__role{color:var(--gold-ink);margin-top:1.5rem}.aunt__message{max-width:32rem;font:400 clamp(1.25rem, 1.8vw, 1.5rem)/1.6 var(--serif);text-wrap:pretty;margin:clamp(2.25rem,5vw,3rem) auto 0}.aunt__signoff{font:italic 400 1.2rem/1.4 var(--serif);color:var(--ink-soft);margin-top:1.75rem}:lang(am) .aunt__name{letter-spacing:0;font-size:clamp(2.6rem,8vw,5.5rem);line-height:1.25}:lang(am) .aunt__message{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.95}.details{padding:clamp(8rem, 16vw, 13rem) var(--gutter);background:linear-gradient(var(--ivory), color-mix(in srgb, var(--blush) 55%, var(--ivory)) 30%, color-mix(in srgb, var(--blush) 55%, var(--ivory)) 70%, var(--ivory))}.card{text-align:center;background:radial-gradient(90% 60% at 50% 0%, #ffffff8c, transparent), var(--paper);max-width:35rem;margin-inline:auto;padding:clamp(3.25rem,9vw,5.25rem) clamp(1.75rem,7vw,4.5rem) clamp(3rem,8vw,4.5rem);position:relative;box-shadow:0 60px 90px -60px #5a372d66,0 1px 3px #5a372d0f}.card:before,.card:after{content:"";border:1px solid var(--rule);pointer-events:none;position:absolute;inset:12px}.card:after{opacity:.45;inset:17px}.card__sprig{width:60px;height:90px;color:var(--gold);--sw:2.2;margin:0 auto 1.5rem}.card .eyebrow{padding-left:.34em}.card__name{font:300 clamp(3.5rem, 11vw, 5.75rem)/.9 var(--serif);letter-spacing:-.025em;margin-top:1.1rem}.card__name em{letter-spacing:.01em;color:var(--ink-soft);margin-top:.4em;font-size:.4em;display:block}.card__facts{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2.25rem,6vw,3.25rem);display:grid}.card__facts div{border-bottom:1px solid var(--rule);padding:1.35rem .5rem 1.2rem}.card__facts div:first-child{grid-column:1/-1}.card__facts div:nth-child(n+2):not(:last-child){border-right:1px solid var(--rule)}.card__facts abbr{letter-spacing:.12em;color:var(--ink-soft);font-size:.62em;text-decoration:none}.card__facts dt{font:400 .6rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);padding-left:.32em}.card__facts dd{font:400 clamp(1.15rem, 3.4vw, 1.45rem)/1.2 var(--serif);margin-top:.65rem}.card__closing{font:italic 400 clamp(1.1rem, 2.6vw, 1.3rem)/1.5 var(--serif);color:var(--ink-soft);margin-top:clamp(2rem,6vw,2.75rem)}.card__closing span{display:block}.mother{background:linear-gradient(var(--ivory), color-mix(in srgb, var(--blush) 34%, var(--ivory)));grid-template-columns:minmax(0,11fr) minmax(0,9fr);display:grid;position:relative}.mother__photo{align-self:start;height:100svh;position:sticky;top:0}.mother__frame,.mother__frame .frame{height:100%}.mother__photo .frame{aspect-ratio:auto}.mother__photo figcaption{left:var(--gutter);background:color-mix(in srgb, var(--ivory) 86%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);padding:.65rem .85rem .6rem calc(.85rem + .34em);font-size:.6rem;position:absolute;bottom:1.75rem}.mother__text{padding:clamp(7rem, 18vh, 11rem) var(--gutter) clamp(7rem, 18vh, 11rem) clamp(2.5rem, 6vw, 6.5rem);position:relative}.mother__bloom{top:clamp(3rem,8vh,5rem);right:var(--gutter);width:clamp(70px,8vw,110px);color:var(--rose);opacity:.55;--sw:1.2;--petal:var(--ivory);position:absolute}.mother__title{max-width:12ch;margin-top:1.5rem;font-size:clamp(2.75rem,5vw,4.75rem)}.mother__note{max-width:31rem;font:400 clamp(1.2rem, 1.45vw, 1.35rem)/1.7 var(--serif);text-wrap:pretty;margin-top:clamp(2.5rem,6vh,3.75rem)}.mother__note>*+*{margin-top:1.1em}.mother__salutation{font-size:1.12em;font-style:italic}.pull{border-left:1px solid var(--rule);padding-left:clamp(1.25rem,2.5vw,2rem);margin-block:2.75rem!important}.pull p{font:italic 300 clamp(2rem, 3.3vw, 2.9rem)/1.12 var(--serif);letter-spacing:-.01em;color:color-mix(in srgb, var(--rose) 80%, var(--ink));text-wrap:balance}.signoff{font-style:italic;margin-top:2.5rem!important}.signoff .script{color:var(--ink);margin:.15em 0 0 .4em;font-size:clamp(3rem,5vw,4.25rem);line-height:1.1;display:block}.letter{padding:clamp(8rem, 16vw, 13rem) var(--gutter);background:radial-gradient(80% 60% at 50% 40%, transparent 40%, color-mix(in srgb, var(--champagne) 40%, transparent)), var(--paper);position:relative}.letter__sheet{max-width:39rem;margin-inline:auto;position:relative}.letter__quote{font:italic 300 clamp(12rem, 26vw, 22rem)/1 var(--serif);color:var(--gold);opacity:.17;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:-.36em;left:-.14em}.letter__head{text-align:center;position:relative}.letter__head .eyebrow{padding-left:.34em}.letter__title{margin-top:1.5rem;font-size:clamp(2.75rem,7vw,5.25rem)}.letter__dateline{text-align:right;font:italic 400 1.05rem/1.4 var(--serif);color:var(--ink-soft);margin-top:clamp(3.5rem,9vw,5.5rem)}.letter__body{font:400 clamp(1.2rem, 1.6vw, 1.4rem)/1.78 var(--serif);text-wrap:pretty;margin-top:1.75rem}.letter__body>*+*{margin-top:1.15em}.letter__salutation{font-size:1.12em;font-style:italic}.letter__salutation+p:first-letter{float:left;font:italic 400 4.1em/.8 var(--serif);color:var(--rose);padding:.07em .1em 0 0}.letter__foot{margin-top:3rem;position:relative}.letter__closing{font:italic 400 1.3rem/1.4 var(--serif)}.letter__signature{margin:.05em 0 0 .5em;font-size:clamp(4rem,9vw,6rem);line-height:1.05;display:inline-block;rotate:-5deg}.letter__sprig{width:clamp(60px,9vw,86px);color:var(--gold);opacity:.6;--sw:1.5;position:absolute;bottom:-.5rem;right:0}.gallery{padding-top:clamp(8rem,16vw,13rem)}.gallery__head{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;column-gap:clamp(1rem,2.2vw,2.25rem);margin-bottom:clamp(4rem,9vw,7rem);display:grid}.gallery__head h2{grid-column:1/8;font-size:clamp(3.25rem,9vw,8.5rem)}.gallery__head .lead{grid-column:8/12;padding-bottom:.6rem}.gallery__grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(3rem,6vw,5.5rem) clamp(1rem,2.2vw,2.25rem);display:grid}.shot:nth-child(7n+1){--ar:4 / 5;grid-area:span 2/1/auto/7}.shot:nth-child(7n+2){--ar:3 / 2;grid-column:8/13;margin-top:4vw}.shot:nth-child(7n+3){--ar:1 / 1;grid-column:9/12}.shot:nth-child(7n+4){--ar:3 / 4;grid-column:2/5;margin-top:7vw}.shot:nth-child(7n+5){--ar:16 / 10;grid-column:6/13}.shot:nth-child(7n+6){--ar:3 / 2;grid-column:1/7}.shot:nth-child(7n+7){--ar:4 / 5;grid-column:8/12;margin-top:9vw}.shot:hover .frame>*,.js .shot.is-in:hover .frame>*{transition-delay:0s;scale:1.035}.shot figcaption{font:italic 400 1.05rem/1.3 var(--serif);color:var(--ink-soft);align-items:baseline;gap:.8rem;margin-top:.9rem;display:flex}.shot figcaption span{font:400 .6rem/1 var(--sans);letter-spacing:.2em;color:var(--gold-ink);font-style:normal}.world{--fade:min(60vh, 540px);isolation:isolate;padding:calc(var(--fade) + 1rem) var(--gutter) calc(var(--fade) * 1.2);color:var(--night-ink);background:radial-gradient(70% 35% at 30% 30%, color-mix(in srgb, var(--mauve) 16%, transparent), transparent), radial-gradient(60% 30% at 75% 62%, color-mix(in srgb, var(--rose) 10%, transparent), transparent), linear-gradient(var(--ivory), color-mix(in srgb, var(--blush) 75%, var(--ivory)) calc(var(--fade) * .18), color-mix(in srgb, var(--mauve) 70%, var(--blush)) calc(var(--fade) * .4), color-mix(in srgb, var(--mauve) 45%, var(--night)) calc(var(--fade) * .62), color-mix(in srgb, var(--mauve) 14%, var(--night)) calc(var(--fade) * .84), var(--night) var(--fade), var(--night) calc(100% - var(--fade)), color-mix(in srgb, var(--mauve) 14%, var(--night)) calc(100% - var(--fade) * .84), color-mix(in srgb, var(--mauve) 45%, var(--night)) calc(100% - var(--fade) * .62), color-mix(in srgb, var(--rose) 45%, var(--blush)) calc(100% - var(--fade) * .4), color-mix(in srgb, var(--blush) 75%, var(--ivory)) calc(100% - var(--fade) * .18), var(--ivory));margin-top:clamp(4rem,10vw,8rem);position:relative;overflow:hidden}.world__sky{z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(transparent calc(var(--fade) * .45), #000 var(--fade), #000 calc(100% - var(--fade)), transparent calc(100% - var(--fade) * .5));mask-image:linear-gradient(transparent calc(var(--fade) * .45), #000 var(--fade), #000 calc(100% - var(--fade)), transparent calc(100% - var(--fade) * .5));position:absolute;inset:0}.star{width:var(--s);height:var(--s);box-shadow:0 0 calc(var(--s) * 3) #fff0dcb3;opacity:var(--o);background:#fff8ec;border-radius:50%;position:absolute}.star:nth-child(3n){animation:twinkle var(--t) ease-in-out var(--dl) infinite alternate}.world__eyebrow{text-align:center;color:color-mix(in srgb, var(--night-ink) 62%, transparent);padding-left:.34em}.world__lines{flex-direction:column;gap:clamp(3.5rem,11vh,7rem);width:min(100%,1120px);margin:clamp(5rem,13vh,8rem) auto 0;display:flex}.world__line{max-width:13ch;font:300 clamp(2.5rem, 6.4vw, 5.5rem)/1.02 var(--serif);letter-spacing:-.015em;text-wrap:balance}.world__line:nth-child(6n+1){align-self:flex-start}.world__line:nth-child(6n+2){align-self:flex-end;font-style:italic}.world__line:nth-child(6n+3){text-align:center;max-width:15ch;color:var(--champagne);align-self:center;font-size:clamp(2rem,4.6vw,3.75rem)}.world__line:nth-child(6n+4){align-self:flex-start;margin-left:9%}.world__line:nth-child(6n+5){align-self:flex-end;margin-right:5%;font-size:clamp(3rem,8.5vw,7rem);font-style:italic}.world__line:nth-child(6n+6){text-align:center;align-self:center}.world__finale{text-align:center;font:italic 300 clamp(3rem, 9vw, 8rem)/1 var(--serif);letter-spacing:-.02em;color:var(--champagne);text-shadow:0 0 40px #e9dac340;text-wrap:balance;margin-top:clamp(9rem,28vh,16rem)}.moon{text-align:center;flex-direction:column;align-items:center;margin-top:clamp(9rem,24vh,14rem);display:flex}.moon__button{background:0 0;border:0;border-radius:1.5rem;flex-direction:column;align-items:center;gap:1.1rem;padding:1.25rem 1.5rem;display:flex}.moon__svg{filter:drop-shadow(0 0 22px #f4ead938);width:clamp(84px,11vw,112px);transition:scale 1.2s var(--ease);overflow:visible}.moon__button:not(.is-lit) .moon__svg{animation:4.5s ease-in-out infinite moon-call}.moon__button:hover .moon__svg{scale:1.04}.moon__disc{fill:#fff8ec09;stroke:#efe5da4d;stroke-width:.6px}.moon__lit{fill:#f4ead9}.moon__prompt{font:italic 400 clamp(1.3rem, 2.4vw, 1.6rem)/1.3 var(--serif)}.moon__hint{color:color-mix(in srgb, var(--night-ink) 55%, transparent);padding-left:.34em;transition:opacity .8s}.js .is-lit .moon__hint{opacity:0}html:not(.js) .moon__hint{display:none}.moon__text{animation:rise 1.6s var(--ease) both;flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.moon__text[hidden]{display:none}.moon__text .eyebrow{color:var(--champagne);padding-left:.34em}.moon__line{font:italic 400 clamp(1.2rem, 2vw, 1.4rem)/1.4 var(--serif);color:color-mix(in srgb, var(--night-ink) 82%, transparent)}.family{padding:clamp(5rem, 12vw, 9rem) var(--gutter) clamp(6rem, 14vw, 11rem);text-align:center}.family h2{font-size:clamp(3rem,8vw,7rem)}.family__line{text-wrap:balance;max-width:28rem;margin:1.75rem auto 0}.family__people{justify-content:center;align-items:flex-end;gap:clamp(1rem,3.5vw,3.5rem);margin-top:clamp(4rem,9vw,6.5rem);display:flex}.person{flex:0 15rem;min-width:0}.person--baby{flex-basis:11.5rem}.person--sibling{flex-basis:12rem}.person .frame{--ar:3 / 4}.person--baby .frame{--ar:4 / 5}.person__role{margin-top:1.4rem;padding-left:.34em}.person__name{font:italic 400 clamp(1.4rem, 2.4vw, 1.9rem)/1.2 var(--serif);margin-top:.3rem}.family__est{color:var(--gold-ink);margin-top:clamp(3.5rem,7vw,5rem);padding-left:.34em}.finale{isolation:isolate;padding:clamp(6rem, 14vh, 10rem) var(--gutter) 2.25rem;text-align:center;background:linear-gradient(var(--ivory), color-mix(in srgb, var(--champagne) 30%, var(--ivory)) 45%, color-mix(in srgb, var(--blush) 70%, var(--champagne)) 100%);position:relative;overflow:hidden}.finale__glow{z-index:-1;background:radial-gradient(45% 55% at 50% 100%, #fffaf2f2, color-mix(in srgb, var(--blush) 60%, transparent) 45%, transparent 75%);height:75%;animation:10s ease-in-out infinite alternate breathe;position:absolute;inset:auto -30% -20%}.finale__welcome{font:300 clamp(1.9rem, 4.6vw, 3.6rem)/1.1 var(--serif);display:block}.finale__name{font:italic 300 clamp(5rem, 23vw, 16rem)/.92 var(--serif);letter-spacing:-.035em;margin-top:.05em;display:block}.finale__line{margin-top:clamp(1.75rem,4vw,2.5rem);padding-left:.34em}.finale__photo{width:clamp(220px,30vw,360px);margin:clamp(4.5rem,10vh,7rem) auto 0}.finale__photo .frame{--ar:3 / 4}.finale__message{max-width:28rem;font:400 clamp(1.25rem, 1.9vw, 1.5rem)/1.55 var(--serif);text-wrap:balance;margin:clamp(3rem,7vh,4.5rem) auto 0}.finale__signoff{font:italic 400 1.25rem/1.4 var(--serif);margin-top:2.5rem}.finale__signoff .script{margin-top:.1em;font-size:clamp(3.25rem,7vw,4.75rem);line-height:1.15;display:block}.finale__sprig{width:50px;height:75px;color:var(--gold);--sw:2.2;margin:2.75rem auto 0}.finale__date{color:var(--gold-ink);margin-top:1.25rem;padding-left:.34em}.finale__foot{font:300 .8rem/1.6 var(--sans);color:var(--ink-soft);flex-direction:column;align-items:center;gap:.6rem;margin-top:clamp(6rem,14vh,9rem);display:flex}.finale__foot a{font:italic 400 1.15rem/1.4 var(--serif);color:var(--ink);transition:background-size .7s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding:.5rem 0 .2rem;text-decoration:none}.finale__foot a:hover{background-position:100% 100%;background-size:0 1px}@supports (animation-timeline:scroll()){.progress{animation:linear both grow;animation-timeline:scroll(root)}.hero__inner{animation:linear both hero-out;animation-timeline:scroll(root);animation-range:0 100vh}.world__line,.shot{animation:linear both float;animation-timeline:view()}.world__line:nth-child(2n),.shot:nth-child(2n){--p:-1}}@media (width<=1024px){.gallery__head h2{grid-column:1/-1}.gallery__head .lead{grid-column:1/span 9;margin-top:1.5rem}}@media (width<=560px){.gallery__head .lead{grid-column:1/-1}}@media (width<=760px){.hero__portrait{width:min(60vw,31svh)}.hero__title{font-size:min(19vw,11.5svh)}.hero__line{max-width:20rem}.story__title,.story__intro{grid-column:1/-1}.story__branch{top:-9%;right:-4%}.moment{grid-template-columns:1fr;row-gap:2rem}.moment:nth-child(n) .moment__photo,.moment:nth-child(n) .moment__text{grid-area:auto/1}.moment__photo{width:88%}.moment:nth-child(2n) .moment__photo{justify-self:end}.moment__text{padding-right:8%}.moment:nth-child(2n) .moment__text{padding:0 0 0 12%}.moment__num{margin-bottom:1rem}.gallery__grid{flex-direction:column;gap:3.25rem;display:flex}.shot{width:76%;margin-top:0!important}.shot:nth-child(2n){align-self:flex-end}.shot:nth-child(7n+1),.shot:nth-child(7n+5){width:100%}.world__line:nth-child(n){margin-inline:0}.family__people{flex-wrap:wrap;gap:3rem 1.25rem}.person{flex:0 calc(50% - .75rem)}.person--baby{flex-basis:60%;order:-1}}@media (width<=700px){.mother{grid-template-columns:1fr;padding-top:clamp(4rem,12vw,6rem)}.mother__photo{height:auto;padding-inline:var(--gutter);position:relative}.mother__photo .frame{aspect-ratio:4/5}.mother__photo figcaption{left:calc(var(--gutter) + 1rem);bottom:1rem}.mother__text{padding:clamp(3.5rem, 10vw, 5rem) var(--gutter) clamp(6rem, 16vw, 8rem)}.mother__bloom{width:54px;top:2.5rem}}:lang(am){font-synthesis:none}:lang(am) :is(.display,.hero__title) em{color:color-mix(in srgb, var(--rose) 80%, var(--ink))}:lang(am) :is(.eyebrow,.nav__links a,.nav__menu,.menu__close,.card__facts dt,.hero__scroll){letter-spacing:.06em}:lang(am) .hero__title{letter-spacing:0;margin-top:-.3em;font-size:clamp(2.5rem,min(10.5vw,12svh),7.5rem);line-height:1.2}:lang(am) :is(.story__title,.gallery__head h2,.family h2,.mother__title,.letter__title){letter-spacing:0;font-size:clamp(2.1rem,5.2vw,4.6rem);line-height:1.25}:lang(am) .interlude{font-size:clamp(1.9rem,5.2vw,4.25rem);line-height:1.35}:lang(am) .world__line:nth-child(n){max-width:16ch;font-size:clamp(1.7rem,4.2vw,3.4rem);line-height:1.3}:lang(am) .world__finale{font-size:clamp(2.1rem,6vw,5rem);line-height:1.3}:lang(am) .card__name{font-size:clamp(2.5rem,8vw,4rem);line-height:1.2}:lang(am) .finale__name{letter-spacing:0;font-size:clamp(2.8rem,12vw,8.5rem);line-height:1.2}:lang(am) .finale__welcome{font-size:clamp(1.5rem,3.6vw,2.6rem)}:lang(am) :is(.letter__body,.mother__note,.moment__body,.finale__message){font-size:clamp(1.02rem,1.25vw,1.15rem);line-height:1.95}:lang(am) .lead{font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.9}:lang(am) .pull p{font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.5}:lang(am) .letter__salutation+p:first-letter{font-size:2.4em;line-height:1}:lang(am) .script{font-family:var(--serif);font-size:clamp(1.7rem,3.2vw,2.4rem)!important;line-height:1.5!important}:lang(am) :is(.moon__prompt,.moon__line,.person__name,.card__closing,.veil__line,.moment__time,.letter__dateline,.shot figcaption){font-size:.85em}@keyframes grain{0%,to{translate:0}20%{translate:-4% 3%}40%{translate:3% -5%}60%{translate:-6% -2%}80%{translate:5% 4%}}@keyframes rise{0%{opacity:0;filter:blur(6px);translate:0 16px}}@keyframes breathe{0%{opacity:.75;scale:1}to{opacity:1;scale:1.07}}@keyframes mote{0%{opacity:0;translate:0}30%{opacity:.8}70%{opacity:.5}to{opacity:0;translate:16px -70px}}@keyframes drip{0%{opacity:1;scale:1 0}55%{opacity:1;scale:1}to{opacity:0;scale:1}}@keyframes twinkle{to{opacity:calc(var(--o) * .25)}}@keyframes moon-call{50%{filter:drop-shadow(0 0 30px #f4ead966)}}@keyframes bars{to{height:100%}}@keyframes grow{to{scale:1}}@keyframes hero-out{to{opacity:.15;transform:translateY(14vh)}}@keyframes float{0%{transform:translateY(calc(var(--p,1) * 36px))}to{transform:translateY(calc(var(--p,1) * -36px))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation:none!important}.js [data-reveal],.js [data-reveal] .frame,.js [data-reveal] .frame>*,.js [data-reveal] .w,.js .hero [data-enter],.js .hero [data-enter] .frame,.js .hero__title .w{filter:none!important;clip-path:none!important;transition:opacity .6s!important;translate:none!important;scale:none!important}.js [data-reveal=draw] path{stroke-dashoffset:0!important}.js [data-reveal=draw] circle{opacity:1!important;scale:none!important}.progress{display:none}}
