.opening-stage.material-opening{--paper-texture:url(/paper.webp);background:0 0}.opening-stage.material-opening.is-playing{animation:none}.opening-stage.material-opening .opening-illumination,.opening-stage.material-opening .transition-wash,.opening-stage.material-opening .light-spill{display:none}.opening-stage.material-opening .opening-scenery{visibility:visible}.material-opening .material-backdrop{background:radial-gradient(ellipse at 40% 35%,#ffffff18,#0005),var(--opening-bg);position:absolute;inset:0}.material-opening.is-playing .material-backdrop{animation:material-background-exit var(--duration) linear both}@keyframes material-background-exit{0%,72%{opacity:1}to{opacity:0}}.opening-stage.material-opening .opening-caption{text-shadow:0 2px 18px #0003;top:9%}.opening-stage.material-opening .opening-caption h1{margin:15px 0;font-size:clamp(32px,5vw,68px)}.opening-stage.material-opening .opening-hint{bottom:7%}.opening-stage.material-opening.is-revealing .opening-scenery{visibility:hidden}.gift-box{perspective:1400px;width:min(76vw,650px);height:49svh;position:absolute;top:42%;left:50%;transform:translate(-50%)}.gift-base,.gift-lid{background:linear-gradient(135deg,#f4e4db99,#b6848d77),var(--paper-texture) center/cover;border-radius:5px;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #f7d8d8,0 20px #b88990,0 28px 45px #44202c66}.gift-base{background:0 0;border:14px solid #bb8c92;box-shadow:inset 5px 9px 18px #44202c88,0 0 0 100vmax #d9b9b8,0 24px 42px #44202c55}.gift-lid{transform-origin:top;backface-visibility:hidden;place-items:center;display:grid}.gift-lid>span{color:#783b4c;font:italic clamp(32px,7vw,65px) Georgia;transform:translate(70%,50%)}.gift-border{border:1px solid #aa777866;position:absolute;inset:18px;box-shadow:0 0 0 5px #f7dfda55}.satin{background-blend-mode:soft-light,normal;position:absolute;box-shadow:4px 6px 12px #51253666}.satin-vertical{background:repeating-linear-gradient(90deg,#fff2 0 1px,#0000 1px 3px),linear-gradient(90deg,#561b30,#c27f90 35%,#f5c7d0 47%,#985369 56%,#561b30);inset:-1% 44%}.satin-horizontal{background:repeating-linear-gradient(0deg,#fff2 0 1px,#0000 1px 3px),linear-gradient(#561b30,#c27f90 35%,#f5c7d0 47%,#985369 56%,#561b30);inset:40% -1%}.satin-bow{filter:drop-shadow(0 8px 5px #38112377);width:150px;height:70px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.satin-bow i{background:linear-gradient(130deg,#f3bac6,#64253d);border:12px solid #ac6478;border-radius:65% 75% 20% 65%;position:absolute;inset:0 48% 0 0;transform:rotate(18deg);box-shadow:inset 4px 3px 6px #31122388,2px -2px 2px #edb7c6}.satin-bow i+i{inset:0 0 0 48%;transform:scaleX(-1)rotate(18deg)}.opening-ribbon.is-playing .satin-bow{animation:.8s ease-in both bow-untie}.opening-ribbon.is-playing .satin-vertical{animation:1.1s ease-in .25s both gift-ribbon-up}.opening-ribbon.is-playing .satin-horizontal{animation:1.1s ease-in .4s both gift-ribbon-side}.opening-ribbon.is-playing .gift-lid{animation:1.8s cubic-bezier(.4,0,.2,1) 1.4s both gift-lid-open}.opening-ribbon.material-opening .material-backdrop{display:none}.opening-ribbon.is-playing .gift-box{transform-origin:50% 45%;animation:4.2s cubic-bezier(.45,0,.2,1) both gift-window-expand}@keyframes bow-untie{to{opacity:0;transform:translate(-50%,-50%)scaleX(1.7)scaleY(.15)}}@keyframes gift-ribbon-up{to{transform:translateY(-130svh)rotate(-12deg)}}@keyframes gift-ribbon-side{to{transform:translate(110vw)rotate(15deg)}}@keyframes gift-lid-open{0%{transform:rotateX(0)}65%{opacity:1;transform:rotateX(105deg)}to{opacity:0;transform:rotateX(115deg)translateY(-20%)}}@keyframes gift-window-expand{0%,65%{opacity:1;transform:translate(-50%)scale(1)}96%{opacity:1}to{opacity:0;transform:translate(-50%)scale(5)}}.opening-vinyl.material-opening .material-backdrop{background:radial-gradient(#41342f,#151313)}.record-lift{aspect-ratio:1;width:min(57vmin,480px);position:absolute;top:59%;left:50%;transform:translate(-50%,-50%)}.record-disc{background:conic-gradient(from 20deg,#fff0,#ffffff38 40deg,#fff0 85deg,#0008 170deg,#ffffff26 220deg,#fff0 260deg),repeating-radial-gradient(circle,#121212 0 1px,#393633 1.5px 2px,#151515 2.5px 4px);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #080808,8px 22px 38px #0009}.record-label{background:linear-gradient(#ca794ba6,#a84d3ab3),var(--paper-texture) center/cover;color:#2c1913;border:2px solid #da9863;border-radius:50%;flex-direction:column;justify-content:space-evenly;align-items:center;display:flex;position:absolute;inset:33%}.record-label small,.record-label span{letter-spacing:.1em;font:clamp(6px,1.2vmin,10px) monospace}.record-label strong{margin-bottom:15%;font:italic clamp(17px,4vmin,34px) Georgia}.record-spindle{background:#121212;border-radius:50%;width:2%;height:2%;position:absolute;top:49%;left:49%;box-shadow:0 0 0 2px #dfac82}.opening-vinyl.is-playing .record-disc{animation:3.6s cubic-bezier(.65,0,1,1) both record-accelerate}.opening-vinyl.is-playing .record-lift{animation:3.6s ease-in both record-lift-away}@keyframes record-accelerate{0%{transform:rotate(0)}to{transform:rotate(1260deg)}}@keyframes record-lift-away{0%,65%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1;transform:translate(-50%,-55%)scale(1.1)}to{opacity:0;transform:translate(70vw,-80svh)rotate(-12deg)scale(.8)}}.opening-arch.material-opening .material-backdrop{display:none}.garden-arch{position:absolute;inset:0}.arch-masonry{--arch-depth:clamp(25px,7vw,95px);border:var(--arch-depth) solid #b59a7b;border-radius:50% 50% 0 0;position:absolute;inset:5% 12% -5%;box-shadow:0 0 0 100vmax #aa896e,inset 12px 8px 24px #20190b99,0 0 0 7px #dec6a6,18px 12px 38px #0007}.arch-masonry:before{content:"";inset:calc(-1 * var(--arch-depth));padding:var(--arch-depth);border-radius:inherit;background:linear-gradient(105deg,#fff3,#25150b77),var(--paper-texture) center/cover;pointer-events:none;position:absolute;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.arch-passage{background:0 0;border-radius:50% 50% 0 0;position:absolute;inset:0;box-shadow:inset 18px 10px 30px #1f2118aa}.opening-arch.material-opening .opening-caption{color:#fff5e4;text-shadow:0 2px 14px #000;top:24%}.opening-arch.is-playing .garden-arch{transform-origin:50% 62%;animation:3.6s cubic-bezier(.55,0,.25,1) both arch-window-expand}@keyframes arch-window-expand{0%,30%{opacity:1;transform:scale(1)}96%{opacity:1}to{opacity:0;transform:scale(6)}}.film-projector{color:#181e19;background:radial-gradient(#9b987cf2,#393f37 65%,#131b1a);position:absolute;inset:0;box-shadow:inset 0 0 16vmin #000}.film-sprockets{border-inline:clamp(16px,4vw,50px) solid #111713;position:absolute;inset:0}.film-sprockets:before,.film-sprockets:after{content:"";background:repeating-linear-gradient(#c8bc98 0 20px,#0000 20px 36px);width:2vw;position:absolute;inset:0 auto 0 -3vw}.film-sprockets:after{left:auto;right:-3vw}.film-leader{aspect-ratio:1;border:3px solid #222a22;border-radius:50%;width:min(53vmin,460px);position:absolute;top:58%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 12px #b6b09566,0 0 0 15px #242a21}.leader-crosshair{background:linear-gradient(#0000 calc(50% - 1px),#252b21 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),linear-gradient(90deg,#0000 calc(50% - 1px),#252b21 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px));position:absolute;inset:0}.leader-sweep{background:conic-gradient(#17281e88,#0000 70%);border-radius:50%;position:absolute;inset:0}.leader-number{opacity:0;place-items:center;font:500 clamp(90px,30vmin,270px)/1 Arial,sans-serif;display:grid;position:absolute;inset:0}.leader-number-3{opacity:1}.leader-label{text-align:center;letter-spacing:.25em;color:#d4ccb2;width:100%;font:10px monospace;position:absolute;bottom:15%}.film-grain{background:var(--paper-texture) center/480px;mix-blend-mode:soft-light;opacity:.22;pointer-events:none;position:absolute;inset:0}.opening-film.material-opening .opening-caption{color:#ebe5cf}.opening-film.is-playing .leader-sweep{animation:1s linear 3 both leader-turn}.opening-film.is-playing .leader-number{animation:leader-count 1s calc(var(--beat)*1s) step-end both}.opening-film.is-playing .film-grain{animation:.13s steps(2,end) infinite projector-flicker}.opening-film.material-opening .material-backdrop{display:none}.opening-film.is-playing .film-projector{animation:1s cubic-bezier(.55,0,.25,1) 3s both projector-roll-up}@keyframes leader-turn{to{transform:rotate(360deg)}}@keyframes leader-count{0%,99%{opacity:1}to{opacity:0}}.opening-film.is-playing .leader-number-2,.opening-film.is-playing .leader-number-1{animation-fill-mode:forwards}@keyframes projector-flicker{0%{opacity:.15;transform:translateY(0)}to{opacity:.25;transform:translateY(1px)}}@keyframes projector-roll-up{0%{filter:sepia(.25);transform:translateY(0)}to{filter:sepia(.25);transform:translateY(-105%)}}.opening-stage.material-opening.is-revealing .leader-sound{visibility:hidden}.leader-sound{z-index:45;color:#f4e8cc;pointer-events:auto;background:#16251fd9;border:1px solid #b9af8980;border-radius:20px;padding:10px 13px;font:11px Arial;position:absolute;top:18px;right:18px}.invitation-page-window,.invitation-page-reveal{display:contents}.entrance-postcard{--letter-top:44%;--letter-side:6%;--letter-bottom:7%}.letter-world{z-index:44;--paper-texture:url(/paper.webp);pointer-events:none;background:radial-gradient(at 40% 35%,#d9e4d8,#8caeab);position:fixed;inset:0}.opening-postcard.material-opening .material-backdrop{display:none}.letter-envelope{inset:var(--letter-top) var(--letter-side) var(--letter-bottom);perspective:1500px;filter:drop-shadow(0 18px 25px #17393d66);position:absolute}.letter-back,.letter-front,.letter-flap{background:linear-gradient(115deg,#d3e0d799,#729b99aa),var(--paper-texture) center/cover;position:absolute;inset:0}.letter-back{border:1px solid #567b77;border-radius:5px;box-shadow:inset 0 15px 30px #23494966}.letter-front{clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);background-image:linear-gradient(32deg,#88b0ac77 49.7%,#416d7088 50%,transparent 50.3%),linear-gradient(-32deg,#c8dcd588 49.7%,#416d7055 50%,transparent 50.3%),var(--paper-texture);box-shadow:inset 0 -4px 8px #32525744}.letter-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;background-image:linear-gradient(#e0e9db66,#75958b88),var(--paper-texture);border-top:1px solid #f2f1da;height:62%}.letter-address{text-align:center;color:#244e56;place-content:center;gap:10px;display:grid;position:absolute;inset:55% 0 0}.letter-address small{letter-spacing:.2em;font:10px monospace}.letter-address strong{font:italic 38px Georgia}.entrance-postcard.phase-opening .letter-flap{animation:1s ease-in-out both letter-top-open}.entrance-postcard.phase-opening .letter-envelope{animation:4.6s ease-in-out both letter-slide-away}.entrance-postcard.phase-opening .letter-world{animation:4.6s ease-in-out both letter-world-exit}.entrance-postcard.phase-revealing .letter-world{visibility:hidden}.entrance-postcard.phase-opening .invitation-page-window{z-index:46;animation:4.6s linear both letter-page-window;display:block;position:fixed;inset:0;overflow:hidden}.entrance-postcard.phase-opening .invitation-page-content{transform-origin:top;height:60svh;animation:4.6s cubic-bezier(.4,0,.2,1) both invitation-from-envelope;position:relative;overflow:hidden;box-shadow:0 10px 40px #153c3b55}@keyframes letter-top-open{0%{transform:rotateX(0)}to{transform:rotateX(180deg)}}@keyframes letter-slide-away{0%,60%{transform:translateY(0)}to{transform:translateY(110svh)}}@keyframes letter-world-exit{0%,65%{opacity:1}to{opacity:0}}@keyframes letter-page-window{0%,65%{clip-path:inset(0 0 var(--letter-bottom))}to{clip-path:inset(0)}}@keyframes invitation-from-envelope{0%,18%{opacity:0;height:60svh;transform:translateY(58svh)scale(.72)}22%{opacity:1}58%,64%{opacity:1;height:60svh;transform:translateY(1svh)scale(.72)}to{opacity:1;height:100svh;box-shadow:none;transform:translateY(0)scale(1)}}.entrance-hourglass{--hourglass-width:min(38vmin,285px);--hourglass-height:min(49svh,440px);--hourglass-center:58svh;--glass-width:calc(var(--hourglass-width) * .76);--glass-height:calc(var(--hourglass-height) * .9);--glass-shape:polygon(0 0,100% 0,98% 17%,90% 31%,62% 47%,54% 50%,62% 53%,90% 69%,98% 83%,100% 100%,0 100%,2% 83%,10% 69%,38% 53%,46% 50%,38% 47%,10% 31%,2% 17%);--glass-open-shape:polygon(0 0,100% 0,100% 17%,100% 31%,100% 47%,100% 50%,100% 53%,100% 69%,100% 83%,100% 100%,0 100%,0 83%,0 69%,0 53%,0 50%,0 47%,0 31%,0 17%)}.hourglass-world{z-index:44;pointer-events:none;background:radial-gradient(at 45% 40%,#57493b,#241f1c 78%);position:fixed;inset:0}.opening-hourglass.material-opening .material-backdrop{display:none}.entrance-hourglass:is(.phase-closed,.phase-opening) .invitation-page-window{z-index:46;left:50%;top:var(--hourglass-center);width:var(--glass-width);height:var(--glass-height);clip-path:var(--glass-shape);display:block;position:fixed;overflow:hidden;transform:translate(-50%,-50%)}.entrance-hourglass:is(.phase-closed,.phase-opening) .invitation-page-reveal{clip-path:inset(0 0 calc(100% - var(--hourglass-uncovered,0%)) 0);display:block;position:absolute;inset:0;overflow:hidden}.entrance-hourglass:is(.phase-closed,.phase-opening) .invitation-page-content{transform-origin:0 0;width:100vw;max-height:none;transform:scale(var(--hourglass-page-scale,.2));overflow:visible}.entrance-hourglass.phase-opening .invitation-page-window{animation:5.8s cubic-bezier(.3,0,.2,1) both hourglass-window-open}.entrance-hourglass.phase-opening .invitation-page-content{animation:5.8s cubic-bezier(.3,0,.2,1) both hourglass-page-grow}.entrance-hourglass.phase-opening .hourglass-world{animation:5.8s ease-out both hourglass-room-exit}.entrance-hourglass.phase-revealing .hourglass-world{visibility:hidden}@keyframes hourglass-window-open{0%,80.17%{left:50%;top:var(--hourglass-center);width:var(--glass-width);height:var(--glass-height);clip-path:var(--glass-shape)}to{width:100vw;height:100svh;clip-path:var(--glass-open-shape);top:50svh;left:50%}}@keyframes hourglass-page-grow{0%,80.17%{transform:scale(var(--hourglass-page-scale,.2))}to{transform:scale(1)}}@keyframes hourglass-room-exit{0%,80.17%{opacity:1}to{opacity:0}}.hourglass-object{left:50%;top:var(--hourglass-center);width:var(--hourglass-width);height:var(--hourglass-height);filter:drop-shadow(10px 18px 16px #0008);position:absolute;transform:translate(-50%,-50%)}.hourglass-rotor{position:absolute;inset:0}.hourglass-glass,.hourglass-grains,.glass-shards{position:absolute;inset:5% 12%}.hourglass-glass,.hourglass-grains{clip-path:var(--glass-shape)}.hourglass-glass{background:linear-gradient(90deg,#fff6,#ffffff08 9%,#ccdce311 38%,#fff3 48%,#a5c0c608 62%,#fff8 95%,#fff2);overflow:hidden;box-shadow:inset 5px 0 12px #fff5,inset -4px 0 9px #d9e9ed66}.glass-reflection{pointer-events:none;background:linear-gradient(100deg,#0000 5%,#fff8 7%,#0000 10% 65%,#ffffff20 76%,#0000 80%);position:absolute;inset:0}.hourglass-cap{background:linear-gradient(#67442b,#e8c180 20%,#956231 45%,#39271a 80%,#b88a50);border-radius:35%;height:6%;position:absolute;left:0;right:0;box-shadow:0 4px 5px #0006}.cap-top{top:0}.cap-bottom{bottom:0}.hourglass-post{background:linear-gradient(90deg,#39271c,#bd9560 35%,#6b4929 65%,#2a2118);border-radius:40%;width:4%;position:absolute;top:3%;bottom:3%}.post-left{left:3%}.post-right{right:3%}.glass-shards i{opacity:0;background:linear-gradient(115deg,#ffffffb3,#d9edf226 20%,#ffffff08 65%,#fff9);border:1px solid #d1e8ed99;position:absolute;inset:0}.opening-hourglass.is-playing .hourglass-rotor{animation:1.25s cubic-bezier(.45,0,.25,1) both hourglass-flip}.opening-hourglass.is-playing .hourglass-glass{animation:.1s step-end 4.65s forwards glass-break}.opening-hourglass.is-playing .hourglass-grains{animation:10ms step-end 4.7s forwards grain-release}.opening-hourglass.is-playing .glass-shards i{animation:1s cubic-bezier(.2,.5,.5,1) 4.65s forwards glass-shatter}.opening-hourglass.is-playing .hourglass-cap,.opening-hourglass.is-playing .hourglass-post{animation:1s ease-in 4.65s forwards frame-break}.opening-hourglass .cap-top{--frame-x:0;--frame-y:-60svh;--frame-turn:25deg}.opening-hourglass .cap-bottom{--frame-x:0;--frame-y:60svh;--frame-turn:-25deg}.opening-hourglass .post-left{--frame-x:-65vw;--frame-y:20svh;--frame-turn:-65deg}.opening-hourglass .post-right{--frame-x:65vw;--frame-y:20svh;--frame-turn:65deg}@keyframes hourglass-flip{0%,10%{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes glass-break{to{opacity:0}}@keyframes grain-release{to{clip-path:none}}@keyframes glass-shatter{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--shard-x),var(--shard-y)) rotate(var(--shard-turn))}}@keyframes frame-break{to{transform:translate(var(--frame-x),var(--frame-y)) rotate(var(--frame-turn));opacity:0}}@media (max-width:600px){.gift-box{width:86vw;height:43svh;top:43%}.record-lift{width:73vmin;top:59%}.arch-masonry{--arch-depth:24px;inset:10% 4% -5%}.entrance-hourglass{--hourglass-width:47vmin;--hourglass-height:min(43svh,440px);--hourglass-center:59svh}.entrance-postcard{--letter-top:47%;--letter-side:3%;--letter-bottom:10%}.opening-stage.material-opening .opening-caption{top:12%}.opening-arch.material-opening .opening-caption{top:26%}.leader-sound{white-space:nowrap;top:auto;bottom:12%;right:50%;transform:translate(50%)}}@media (prefers-reduced-motion:reduce){.opening-stage.material-opening *,.letter-world *,.entrance-postcard.phase-opening .invitation-page-window,.entrance-postcard.phase-opening .invitation-page-content,.entrance-hourglass.phase-opening .invitation-page-content,.entrance-hourglass.phase-opening .invitation-page-window,.hourglass-world{transition:none!important;animation:none!important}.entrance-postcard.phase-opening .invitation-page-content{clip-path:none;opacity:1;transform:none}}
.entrance-ribbon.phase-closed .invitation-page-content{visibility:hidden}.opening-stage.material-opening.opening-ribbon:not(.is-playing){background-color:var(--opening-bg)}.opening-ribbon.material-opening .gift-lid{background-color:#d9b9b8}.entrance-arch.phase-closed .invitation-page-content{opacity:1;visibility:visible}
