:root{--bg:#0a0a0a;--surface:#151515;--ink:#efefef;--muted:#9a9a9a;--accent:#b11226;--paper:#e9e4dc;--env-in:#2b2624;--env:#201d1c;--env-flap:#282321;--step-small:.875rem;--step-body:clamp(1.0625rem, 1rem + .3vw, 1.3125rem);--step-lead:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head:clamp(2.25rem, 1.4rem + 3.4vw, 4rem);--m:20px;--ease:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-optical-sizing:auto;font-family:Newsreader,Georgia,serif;font-size:var(--step-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.55;overflow-x:clip}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:300;line-height:1}p{text-wrap:pretty;margin:0}a{color:inherit;text-underline-offset:4px}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}::selection{background:var(--accent);color:#fff}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{background:var(--accent);color:#fff;min-height:52px;font:500 var(--step-body) / 1 "Newsreader", Georgia, serif;cursor:pointer;transition:background-color .3s, translate .4s var(--ease);border:0;justify-content:center;align-items:center;padding:0 24px;text-decoration:none;display:inline-flex}.btn:hover{background:#cf1630;translate:0 -2px}.btn:active{translate:0 1px}.boot{letter-spacing:-.05em;color:#666;place-items:center;min-height:100svh;margin:0;font-size:40vw;font-weight:300;display:grid}.hero{grid-template-rows:44svh auto 1fr;align-content:start;min-height:100svh;display:grid;overflow:clip}.hero-photo{overflow:hidden}.hero-photo img{object-fit:cover;object-position:center;transform-origin:50% 30%;width:100%;height:100%}.hero-row{padding:22px var(--m) 32px;align-content:start;justify-items:start;gap:14px;font-size:1.0625rem;display:grid}.countdown{color:#ff6b7d;font-style:italic}.name{padding:14px var(--m) 0;font-size:min(calc(92vw / (var(--len) * .5)), 30svh);letter-spacing:-.05em;white-space:nowrap;transform-origin:0 100%;line-height:.82}.moment{background:var(--bg);align-items:end;height:100svh;display:grid;position:relative;overflow:hidden}.moment img{object-fit:cover;filter:brightness(.6);width:100%;height:100%;position:absolute;inset:0}.moment:after{content:"";background:linear-gradient(#0000,#000000b3);position:absolute;inset:45% 0 0}.moment p{z-index:1;max-width:20ch;padding:0 var(--m) 16svh;color:#fff;font-size:1.5rem;font-style:italic;font-weight:300;line-height:1.2;position:relative}.gifts{padding:120px var(--m) 72px;position:relative;overflow:clip}.gifts>:not(.backdrop){position:relative}.backdrop{grid-auto-rows:1fr;display:grid;position:absolute;inset:0}.backdrop img{object-fit:cover;filter:brightness(.4)saturate(.9);width:100%;height:100%}.credits{color:#cfcfcf;margin-top:72px;font-size:13px}.gifts-head{gap:16px;margin-bottom:48px;display:grid}.gifts-head h2{font-size:var(--step-head)}.status{font-size:var(--step-small);color:var(--muted);font-style:italic}.gift-list{gap:40px;display:grid}.gift{rotate:-1deg}.gift:nth-child(2n){rotate:1.2deg}.env-wrap{transition:grid-template-rows .7s var(--ease), opacity .5s;grid-template-rows:1fr;display:grid}.env{aspect-ratio:4/3;width:100%;min-height:0;color:inherit;font:inherit;cursor:pointer;perspective:900px;transition:translate .5s var(--ease);background:0 0;border:0;padding:0;display:block;position:relative}.env:hover{translate:0 -4px}.env:active{translate:0 2px}.env>span:not(.sr){position:absolute}.env-back{background:var(--env-in);inset:0}.letter{z-index:1;background:var(--paper);transition:translate .8s var(--ease) .4s;inset:10% 7% 6%}.env-front{z-index:2;background:var(--env);clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%);align-items:flex-end;padding:0 22px 18px;display:flex;inset:0}.to{color:#cfc8c2;font-size:1.125rem;font-style:italic}.flap{z-index:3;background:var(--env-flap);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;height:60%;transition:transform .6s var(--ease), z-index 0s .3s;inset:0 0 auto}.seal{z-index:4;background:var(--accent);color:#fff;width:72px;height:72px;transition:scale .35s var(--ease), opacity .3s;border-radius:50%;place-items:center;margin:-36px 0 0 -36px;font-size:.9375rem;font-style:italic;display:grid;top:60%;left:50%}.gift.open .seal{opacity:0;scale:1.5}.gift.open .flap{z-index:0;transform:rotateX(180deg)}.gift.open .letter{translate:0 -46%}.gift.done .env-wrap{opacity:0;grid-template-rows:0fr}.gift.done .env{overflow:hidden}.card-wrap{transition:grid-template-rows .8s var(--ease) .1s;grid-template-rows:0fr;display:grid}.gift.done .card-wrap{grid-template-rows:1fr}.gift:not(.done) .card{visibility:hidden}.card{background:var(--surface);gap:16px;min-height:0;scroll-margin-top:24px;display:grid;overflow:hidden}.card:focus{outline:none}.card>:not(.card-photo){margin-inline:22px}.card>:last-child{margin-bottom:28px}.card-photo{margin:0 0 4px}.card-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}.card h3{font-size:2rem}.card-teaser{font-size:1.125rem}.card ul{color:var(--muted);padding:0;list-style:none}.oops{text-align:center;min-height:100svh;padding:var(--m);place-content:center;justify-items:center;gap:24px;display:grid}.fallback{padding:var(--m)}.bit{z-index:10;pointer-events:none;width:8px;height:14px;margin:-7px 0 0 -4px;position:fixed}@media (prefers-reduced-motion:no-preference){.ready .name{animation:name-in 1.6s var(--ease) .2s both}.ready .hero-photo{animation:2.2s both lights-up}.ready .hero-row{animation:fade 1s var(--ease) .9s both}.ready [data-rise]{opacity:0;transition:opacity .9s var(--ease), translate 1.1s var(--ease);transition-delay:calc(var(--i,0) * .11s);translate:0 28px}.ready [data-rise].in{opacity:1;translate:0}.ready h2[data-rise]{opacity:1;translate:none}.ready .w{opacity:0;filter:blur(8px);transition:opacity 1s var(--ease), filter 1s var(--ease), translate 1.2s var(--ease);transition-delay:calc(var(--wi) * 90ms);display:inline-block;translate:0 .3em}.ready .in .w{opacity:1;filter:blur();translate:0}.ready .gift[data-rise]{transition:opacity .6s var(--ease), translate 1s var(--ease);translate:0 60px}.ready .gift[data-rise].in{translate:0}.ready .gift:not(.open) .seal{animation:3.2s ease-in-out infinite pulse;animation-delay:calc(1.2s + var(--i,0) * .4s)}.ready .card>*{opacity:0;transition:opacity .7s var(--ease), translate .9s var(--ease);translate:0 18px}.ready .gift.done .card>*{opacity:1;translate:0}.ready .gift.done .card>:nth-child(2){transition-delay:.15s}.ready .gift.done .card>:nth-child(3){transition-delay:.25s}.ready .gift.done .card>:nth-child(n+4){transition-delay:.4s}.ready .moment img{animation:linear both settle;animation-timeline:view();animation-range:entry}}@keyframes name-in{0%{opacity:0;letter-spacing:.04em;filter:blur(14px)}}@keyframes lights-up{0%{filter:brightness(0)}}@keyframes fade{0%{opacity:0;translate:0 12px}}@keyframes settle{0%{scale:1.15}}@keyframes pulse{0%,80%,to{scale:1}88%{scale:1.12}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.env-wrap,.card-wrap,.flap,.letter,.seal{transition:none}}@media (width>=900px){:root{--m:32px}.hero{grid-template-rows:58svh auto 1fr}.hero-row{grid-template-columns:auto auto;justify-content:space-between;align-items:center;gap:32px;padding-top:24px}.name{font-size:min(calc(94vw / (var(--len) * .5)), 30svh)}.moment p{max-width:30ch;padding:0 8vw 14svh;font-size:2.25rem}.gifts{padding-top:180px}.gifts-head{grid-template-columns:1fr 1fr;align-items:end;column-gap:48px;max-width:1100px;margin:0 auto 64px}.gifts-head .status{grid-column:2}.gift-list{grid-template-columns:1fr 1fr;align-items:start;gap:56px 48px;max-width:1100px;margin:0 auto}}
