/* MEDIA SETUP */
[data-media-init] [data-media-placeholder] {
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

[data-media-init][data-media-status="playing"] [data-media-placeholder],
[data-media-init][data-media-status="paused"] [data-media-placeholder] {
  visibility: hidden;
  opacity: 0;
}

/* CTA BUTTON CUSTOM CSS*/
[data-typewriter] {
  visibility: hidden;
}

:is(.wf-design-mode, .w-editor) [data-typewriter] {
  visibility: visible;
}

/* GRAIN EFFECT */
.grain[data-grain-animate="true"] {
  animation: grain 0.6s steps(1, end) infinite;
}

@keyframes grain {
  0%   { background-position: 0em 0em; }
  20%  { background-position: -0.5em 0.3em; }
  40%  { background-position: 0.4em -0.2em; }
  60%  { background-position: -0.3em -0.4em; }
  80%  { background-position: 0.2em 0.5em; }
}

/* BUTTON CODE */
.cta-button {
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  outline-style: none;
  text-decoration: none;
  transition: scale 0.3s cubic-bezier(0.625, 0.05, 0, 1);
}

.cta-button::after {
  content: '';
  display: block;
  position: absolute;
  inset: -0.125em;
  border-radius: inherit;
  transition: box-shadow 0.2s cubic-bezier(0.32, 0.72, 0, 1);
  pointer-events: none;
  z-index: 1;
}

.cta-button:is(:focus-visible)::after {
  box-shadow: 0 0 0 0.125em var(--_primitives---brand--focus);
}

.cta-button_text {
  clip-path: inset(0% 0% -15%);
}

.cta-button_char {
  display: inline-block;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .cta-button:hover {
    scale: 1.02;
  }
}

.cta-button:active {
  scale: 0.97;
  transition-duration: 0.1s;
}

/* FOOTER LINKS HOVER */

.footer_column:has(.footer_link:hover, .footer_link:focus-visible) .footer_link:not(:hover):not(:focus-visible) {
  opacity: 0.7;
}

.footer_column:has(.footer_link:hover, .footer_link:focus-visible) .footer_link:hover,
.footer_column:has(.footer_link:hover, .footer_link:focus-visible) .footer_link:focus-visible {
  color: var(--_primitives---brand--focus);
}

/* TEXT SELECTION COLOR */

::selection {
  background-color: var(--_primitives---brand--focus);
  color: var(--_primitives---brand--paper);
}

.footer-component ::selection {
  background-color: var(--_primitives---brand--paper);
  color: var(--_primitives---brand--ink);
}

/* PARALLAX FOOTER */
.footer-wrapper {
  position: relative;
  overflow: hidden;
}

.footer-wrapper_dark {
  opacity: 0;
  pointer-events: none;
  background-color: var(--_primitives---brand--ink);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.main-wrapper {
  background-color: var(--_primitives---brand--paper);
}

/* TEXT REVEAL */

.reveal-text-word {
  display: inline-block;
}

/* NAV LOGO */

.nav-logo_word {
  display: inline-block;
}

.nav-logo_char {
  display: inline-block;
}

/* CTA BG TEXT */

.action_bg-text {
  font-family: var(--_typography---font-styles--label);
  font-size: 1rem;
  line-height: 1.4;
  word-break: break-all;
  overflow-wrap: break-word;
  opacity: 0.22;
  color: var(--_primitives---brand--ink);
  user-select: none;
  pointer-events: none;
}
