[hidden] { display: none !important; }
:root { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 90px; }
:focus-visible { outline: 2px solid #ff00bf; outline-offset: 4px; }

[data-menu-toggle] .maya-1orwruh, [data-menu-toggle] .maya-1orbr43 { transition: rotate .25s; }
[data-menu-toggle][aria-expanded="true"] .maya-1orwruh { rotate: -45deg; }
[data-menu-toggle][aria-expanded="true"] .maya-1orbr43 { rotate: 44deg; }
[data-menu-panel] { animation: maya-menu-in .24s ease-out both; }
@keyframes maya-menu-in {
  from { opacity: 0; translate: 0 -8px; }
  to { opacity: 1; translate: 0; }
}

.maya-6osML { transition: box-shadow .2s, background-color .2s; }
.maya-6osML:is(:hover, :focus-visible) {
  background-color: white !important;
  box-shadow: 0 0 0 1px #222, 4px 4px #000e !important;
}
.maya-hTllz:is(:hover, :focus-visible) p { --maya-text-color: #ff00bf !important; }
.maya-uvv0x:is(:hover, :focus-visible) .maya-1v1h00l { --1ygg0ew: #ff00bf !important; }

.maya-ZU6FW .maya-1ixuznh, .maya-ZU6FW .maya-1nt7vci {
  transition: translate .3s cubic-bezier(.2,.75,.2,1);
}
.maya-ZU6FW .maya-1nt7vci { bottom: 0; translate: 0 -115%; }
.maya-ZU6FW:is(:hover, :focus-visible) .maya-1ixuznh { translate: 0 115%; }
.maya-ZU6FW:is(:hover, :focus-visible) .maya-1nt7vci { translate: 0 0; }
[data-contact-form] button[type="submit"]:is(:hover, :focus-visible) { background-color: #333d !important; }

[data-video-player] video { pointer-events: none; }
[data-video-player] :is([data-play-video], [data-pause-video]) {
  background: #fff; color: #030303; padding: 0;
}
[data-play-video]:active { transform: translate(-50%, -50%) scale(.95) !important; }
[data-pause-video] {
  position: absolute; right: 16px; bottom: 16px; z-index: 3;
  display: grid; place-items: center; width: 48px; height: 48px;
  border: 2px solid #0a0a0a; border-radius: 8px; box-shadow: 4px 4px #030303;
  cursor: pointer; opacity: .9; transition: scale .1s, opacity .2s;
}
[data-pause-video]:is(:hover, :focus-visible) { scale: 1.05; opacity: 1; }

[data-word] { animation: maya-word-in .66s var(--word-delay) both; }
@keyframes maya-word-in {
  from { opacity: .001; filter: blur(10px); translate: 0 10px; }
  to { opacity: 1; filter: blur(0); translate: 0; }
}

.maya-template-link {
  position: fixed; right: 16px; bottom: 16px; z-index: 15;
  padding: 9px 14px; border: 2px solid #030303; border-radius: 24px;
  background: #c191ff; color: #030303; text-decoration: none;
  font: 700 13px/1.2 system-ui, sans-serif;
  box-shadow: 3px 3px #030303; transition: translate .2s;
}
.maya-template-link:is(:hover, :focus-visible) { translate: -2px -2px; }
.maya-dialog {
  position: fixed; inset: 0; margin: auto; width: min(440px, calc(100% - 36px));
  border: 2px solid #030303; border-radius: 20px; padding: 24px;
  background: #faf7eb; color: #030303; box-shadow: 7px 7px #030303;
  font: 16px/1.45 system-ui, sans-serif;
}
.maya-dialog::backdrop { background: #03030388; }
.maya-dialog h2 { font-size: 22px; margin: 0 42px 8px 0; }
.maya-dialog p { margin: 0; }
.maya-dialog button {
  float: right; width: 34px; height: 34px; cursor: pointer;
  border: 2px solid #030303; border-radius: 50%; background: #c191ff; font: 22px/1 system-ui;
}

@media (hover: hover) and (pointer: fine) {
  #main, #main :is(a, button, [data-menu-toggle], [data-video-player], #portfolio, video) {
    cursor: url('./assets/icon/cursor.svg') 3 2, auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  [data-word], [data-menu-panel] { animation: none; }
  .maya-ZU6FW .maya-1ixuznh, .maya-ZU6FW .maya-1nt7vci { transition: none; }
}
