

:root {
  --e1: cubic-bezier(.44, 0, .56, 1);
  --menu-closed: 89px;

  --p1-4550ms: linear(0, 0.0128 0.4%, 0.1278 2.2%, 0.212 3.7%, 0.2698 4.8%, 0.3233 5.9%, 0.3887 7.3%, 0.4477 8.8%, 0.501 10.3%, 0.5605 12.1%, 0.6129 13.9%, 0.6591 15.8%, 0.6997 17.6%, 0.7355 19.4%, 0.767 21.2%, 0.7999 23.4%, 0.8282 25.6%, 0.8562 28.2%, 0.8966 33%, 0.9275 38.1%, 0.9529 44.3%, 0.9709 51.3%, 0.9834 59.3%, 0.9914 68.9%, 1);
}


html.js:not(.no-envelope):not(.motion-off) [data-appear]:not([data-text]),
html.js:not(.no-envelope):not(.motion-off) [data-on="open"] {
  opacity: 0;
  transition: opacity 1s var(--e1), transform 1s var(--e1);
  transition-delay: var(--d, 0s);
}
html.js:not(.no-envelope):not(.motion-off) [data-on="open"] { opacity: .001; transition-duration: 2s; }
html.js:not(.no-envelope):not(.motion-off) .a-2s { transition-duration: 2s; }
html.js:not(.no-envelope):not(.motion-off) .a-3s { transition-duration: 3s; }
html.js:not(.no-envelope):not(.motion-off) .a-up { transform: translateY(10px); }
html.js:not(.no-envelope):not(.motion-off) .a-down { transform: translateY(-10px); }
html.js:not(.no-envelope):not(.motion-off) .a-left { transform: translateX(-10px); }
html.js:not(.no-envelope):not(.motion-off) .a-right { transform: translateX(10px); }
html.js:not(.no-envelope):not(.motion-off) .a-zoom11 { transform: scale(1.1); }
html.js:not(.no-envelope):not(.motion-off) .a-zoom13 { transform: scale(1.3); }
html.js:not(.no-envelope):not(.motion-off) .a-pop07 { transform: scale(.7); }
html.js:not(.no-envelope):not(.motion-off) .a-turn90 { transform: rotate(90deg); }
.a-half { --to: .5; }
.a-d1 { --d: .1s; } .a-d2 { --d: .2s; } .a-d3 { --d: .3s; } .a-d4 { --d: .4s; } .a-d14 { --d: 1.4s; }
html.js:not(.no-envelope):not(.motion-off) [data-appear]:not([data-text]).is-in,
html.js.is-open:not(.no-envelope):not(.motion-off) [data-on="open"] { opacity: var(--to, 1); transform: none; }

html.m-instant.js [data-on="open"] { transition: none !important; }


html.js.text-wait:not(.no-envelope):not(.motion-off) [data-text]:not(.is-split) { opacity: 0; }
[data-text] .w { display: inline-block; white-space: nowrap; }
[data-text] .ch { display: inline-block; }
[data-text] .ln { display: block; white-space: nowrap; }
html.js:not(.no-envelope):not(.motion-off) [data-text]:not(.is-done) .ch { opacity: .001; filter: blur(10px); transform: translateY(10px); }
html.js.lite:not(.no-envelope):not(.motion-off) [data-text]:not(.is-done) .ch { filter: none; }

.m-sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}


[data-nav-links] { transition: opacity 1s var(--e1), transform 1s var(--e1); }
[data-hide-on-scroll].is-hidden [data-nav-links] { opacity: 0; transform: translateY(-10px); }
[data-nav-bg] { transition: transform 1s var(--e1); }
[data-hide-on-scroll].is-hidden [data-nav-bg] { transform: rotateY(80deg); }

[data-hide-on-scroll].is-hidden:has(:focus-visible) [data-nav-links] { opacity: 1; transform: none; }
[data-hide-on-scroll].is-hidden:has(:focus-visible) [data-nav-bg] { transform: none; }


[data-menu] {
  position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 10;
  -webkit-clip-path: inset(0 0 calc(100% - var(--menu-closed)) 0);
  clip-path: inset(0 0 calc(100% - var(--menu-closed)) 0);
  background-color: transparent;
  box-shadow: inset 0 0 0 3px transparent;
  transition: -webkit-clip-path 1s var(--e1), clip-path 1s var(--e1), background-color 1s var(--e1), box-shadow 1s var(--e1), visibility 0s linear 1s;
  visibility: hidden; overscroll-behavior: contain; pointer-events: none;
}
[data-menu].is-open {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
  background-color: var(--night);
  box-shadow: inset 0 0 0 3px var(--slate);
  transition: -webkit-clip-path 1s var(--e1), clip-path 1s var(--e1), background-color 1s var(--e1), box-shadow 1s var(--e1), visibility 0s;
  visibility: visible; pointer-events: auto;
}
[data-menu] [data-menu-links] { visibility: hidden; }
[data-menu].is-open [data-menu-links] { visibility: visible; }
html.menu-open { overflow: hidden; }
[data-menu-toggle] [data-when="open"] { display: none; }
[data-menu-toggle][aria-expanded="true"] [data-when="open"] { display: inline; }
[data-menu-toggle][aria-expanded="true"] [data-when="closed"] { display: none; }


.m-link { padding: 0 4px; background-color: transparent; }
@media (hover: hover) and (pointer: fine) {
  .m-link, .m-btn { transition: color 1s var(--e1), background-color 1s var(--e1), border-color 1s var(--e1); }
  .m-link:hover, a:hover > .m-link, .m-btn:hover { color: var(--night); background-color: var(--gold-dim); }
  .m-btn--gold:hover { background-color: var(--gold); border-color: var(--gold); }
}


[data-petals] { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; pointer-events: none; }
[data-petals].is-paused { visibility: hidden; }
.petal {
  position: absolute; left: 0; top: 0; width: var(--size); height: var(--size);
  animation: petal-fall 11.8s linear var(--delay, 0s) 1 both;
}
.petal i {
  display: block; width: 100%; height: 100%;
  background: center / contain no-repeat;
  animation: petal-spin 11.8s linear var(--delay, 0s) 1 both;
}
.petal[data-img="0"] i { background-image: url(assets/decor/petal-1.webp?v=3); }
.petal[data-img="1"] i { background-image: url(assets/decor/petal-2.webp?v=3); }
.petal[data-img="2"] i { background-image: url(assets/decor/petal-3.webp?v=3); }
[data-petals].is-paused .petal, [data-petals].is-paused .petal i { animation-play-state: paused; }
@keyframes petal-fall {
  0% { transform: translate3d(var(--from-x), calc(var(--fh, 100vh) * -.18), 0) scale(var(--scale)); opacity: 0; }
  16.95% { transform: translate3d(var(--x1), calc(var(--fh, 100vh) * .10), 0) scale(var(--scale)); opacity: var(--op); }
  33.9% { transform: translate3d(var(--x2), calc(var(--fh, 100vh) * .38), 0) scale(var(--scale)); opacity: var(--op); }
  50.85% { transform: translate3d(var(--x3), calc(var(--fh, 100vh) * .66), 0) scale(var(--scale)); opacity: var(--op); }
  67.8% { transform: translate3d(var(--x4), calc(var(--fh, 100vh) * .94), 0) scale(var(--scale)); opacity: var(--op); }
  84.75% { transform: translate3d(var(--to-x), calc(var(--fh, 100vh) - var(--size)), 0) scale(var(--scale)); opacity: var(--op); }
  93.22% { transform: translate3d(var(--to-x), calc(var(--fh, 100vh) - var(--size)), 0) scale(var(--scale)); opacity: var(--op); }
  100% { transform: translate3d(var(--to-x), calc(var(--fh, 100vh) - var(--size)), 0) scale(var(--scale)); opacity: 0; }
}
@keyframes petal-spin { from { transform: rotate(var(--rot0)); } to { transform: rotate(var(--rot1)); } }


.pc__ph img {
  transform-origin: var(--ko, 50% 40%);
  animation: pc-breathe var(--kb, 14s) ease-in-out infinite alternate both;
  animation-play-state: paused;
}
.pc__ph.is-live img { animation-play-state: running; }
html.lite .pc__ph img, html.motion-off .pc__ph img { animation: none; }
@keyframes pc-breathe { from { transform: scale(1); } to { transform: scale(1.04); } }

.cal__medal { animation: medal-turn 240s linear infinite both; animation-play-state: paused; }
.cal__medal.is-live { animation-play-state: running; }
html.lite .cal__medal, html.motion-off .cal__medal { animation: none; }
@keyframes medal-turn { to { transform: rotate(360deg); } }


@media (prefers-reduced-motion: reduce) {
  [data-appear], [data-on="open"] { transform: none !important; transition-duration: .3s !important; transition-delay: 0s !important; }
  [data-text] .ch, [data-text] .ln { filter: none !important; transform: none !important; }
  [data-nav-links], [data-nav-bg], [data-menu], [data-menu].is-open, .m-link, .m-btn { transition-duration: .01s !important; transition-delay: 0s !important; }
  [data-petals] { display: none; }
  .pc__ph img, .cal__medal { animation: none !important; }
}
