/* assets/css/reset.css */
@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  :where(body, h1, h2, h3, h4, h5, h6, p, blockquote, figure, pre, dl, dd, ul, ol, menu, hr, fieldset, dialog, [popover]) {
    margin: 0;
  }
  :where(ul, ol, menu, fieldset, legend, input, textarea, td, th, dialog, [popover]) {
    padding: 0;
  }
  :root {
    text-size-adjust: none;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
    color: inherit;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
  }
  button {
    all: unset;
    cursor: pointer;
    box-sizing: border-box;
    &:focus-visible {
      outline: revert;
    }
  }
  a {
    color: inherit;
    text-decoration: none;
  }
  ul,
  ol {
    list-style-type: none;
  }
}

/* assets/css/base/document.css */
@layer base {
  :root {
    font: 100% var(--font-family);
    background-color: var(---color-white);
    color: var(--color-black);
    height: 100%;
    color-scheme: dark;
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
  }
  @view-transition { navigation: auto; }
  body {
    font-size: var(--font-size-base);
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }
}

/* assets/css/base/easings.css */
@layer base {
  :root {
    --ease-1: cubic-bezier(0.25, 0, 0.5, 1);
    --ease-2: cubic-bezier(0.25, 0, 0.4, 1);
    --ease-3: cubic-bezier(0.25, 0, 0.3, 1);
    --ease-4: cubic-bezier(0.25, 0, 0.2, 1);
    --ease-5: cubic-bezier(0.25, 0, 0.1, 1);
    --ease-in-1: cubic-bezier(0.25, 0, 1, 1);
    --ease-in-2: cubic-bezier(0.5, 0, 1, 1);
    --ease-in-3: cubic-bezier(0.7, 0, 1, 1);
    --ease-in-4: cubic-bezier(0.9, 0, 1, 1);
    --ease-in-5: cubic-bezier(1, 0, 1, 1);
    --ease-out-1: cubic-bezier(0, 0, 0.75, 1);
    --ease-out-2: cubic-bezier(0, 0, 0.5, 1);
    --ease-out-3: cubic-bezier(0, 0, 0.3, 1);
    --ease-out-4: cubic-bezier(0, 0, 0.1, 1);
    --ease-out-5: cubic-bezier(0, 0, 0, 1);
    --ease-in-out-1: cubic-bezier(0.1, 0, 0.9, 1);
    --ease-in-out-2: cubic-bezier(0.3, 0, 0.7, 1);
    --ease-in-out-3: cubic-bezier(0.5, 0, 0.5, 1);
    --ease-in-out-4: cubic-bezier(0.7, 0, 0.3, 1);
    --ease-in-out-5: cubic-bezier(0.9, 0, 0.1, 1);
    --ease-elastic-out-1: cubic-bezier(0.5, 0.75, 0.75, 1.25);
    --ease-elastic-out-2: cubic-bezier(0.5, 1, 0.75, 1.25);
    --ease-elastic-out-3: cubic-bezier(0.5, 1.25, 0.75, 1.25);
    --ease-elastic-out-4: cubic-bezier(0.5, 1.5, 0.75, 1.25);
    --ease-elastic-out-5: cubic-bezier(0.5, 1.75, 0.75, 1.25);
    --ease-elastic-in-1: cubic-bezier(0.5, -0.25, 0.75, 1);
    --ease-elastic-in-2: cubic-bezier(0.5, -0.5, 0.75, 1);
    --ease-elastic-in-3: cubic-bezier(0.5, -0.75, 0.75, 1);
    --ease-elastic-in-4: cubic-bezier(0.5, -1, 0.75, 1);
    --ease-elastic-in-5: cubic-bezier(0.5, -1.25, 0.75, 1);
    --ease-elastic-in-out-1: cubic-bezier(0.5, -0.1, 0.1, 1.5);
    --ease-elastic-in-out-2: cubic-bezier(0.5, -0.3, 0.1, 1.5);
    --ease-elastic-in-out-3: cubic-bezier(0.5, -0.5, 0.1, 1.5);
    --ease-elastic-in-out-4: cubic-bezier(0.5, -0.7, 0.1, 1.5);
    --ease-elastic-in-out-5: cubic-bezier(0.5, -0.9, 0.1, 1.5);
    --ease-step-1: steps(2);
    --ease-step-2: steps(3);
    --ease-step-3: steps(4);
    --ease-step-4: steps(7);
    --ease-step-5: steps(10);
    --ease-elastic-1: var(--ease-elastic-out-1);
    --ease-elastic-2: var(--ease-elastic-out-2);
    --ease-elastic-3: var(--ease-elastic-out-3);
    --ease-elastic-4: var(--ease-elastic-out-4);
    --ease-elastic-5: var(--ease-elastic-out-5);
    --ease-squish-1: var(--ease-elastic-in-out-1);
    --ease-squish-2: var(--ease-elastic-in-out-2);
    --ease-squish-3: var(--ease-elastic-in-out-3);
    --ease-squish-4: var(--ease-elastic-in-out-4);
    --ease-squish-5: var(--ease-elastic-in-out-5);
    --ease-spring-1: linear( 0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%, 0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 );
    --ease-spring-2: linear( 0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1 );
    --ease-spring-3: linear( 0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, 0.991, 0.977 51%, 0.974 53.8%, 0.975 57.1%, 0.997 69.8%, 1.003 76.9%, 1 );
    --ease-spring-4: linear( 0, 0.009, 0.037 1.7%, 0.153 3.6%, 0.776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, 0.973, 0.955 39.2%, 0.953 41.1%, 0.957 43.3%, 0.998 53.3%, 1.009 59.1% 63.7%, 0.998 78.9%, 1 );
    --ease-spring-5: linear( 0, 0.01, 0.04 1.6%, 0.161 3.3%, 0.816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, 0.999 29.4%, 0.955 32.1%, 0.942, 0.935 34.9%, 0.933, 0.939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, 0.996 70.2%, 1.001 87.2%, 1 );
    --ease-bounce-1: linear( 0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141, 0.191, 0.25, 0.316, 0.391 36.8%, 0.563, 0.766, 1 58.8%, 0.946, 0.908 69.1%, 0.895, 0.885, 0.879, 0.878, 0.879, 0.885, 0.895, 0.908 89.7%, 0.946, 1 );
    --ease-bounce-2: linear( 0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141 15.1%, 0.25, 0.391, 0.562, 0.765, 1, 0.892 45.2%, 0.849, 0.815, 0.788, 0.769, 0.757, 0.753, 0.757, 0.769, 0.788, 0.815, 0.85, 0.892 75.2%, 1 80.2%, 0.973, 0.954, 0.943, 0.939, 0.943, 0.954, 0.973, 1 );
    --ease-bounce-3: linear( 0, 0.004, 0.016, 0.035, 0.062, 0.098, 0.141 11.4%, 0.25, 0.39, 0.562, 0.764, 1 30.3%, 0.847 34.8%, 0.787, 0.737, 0.699, 0.672, 0.655, 0.65, 0.656, 0.672, 0.699, 0.738, 0.787, 0.847 61.7%, 1 66.2%, 0.946, 0.908, 0.885 74.2%, 0.879, 0.878, 0.879, 0.885 79.5%, 0.908, 0.946, 1 87.4%, 0.981, 0.968, 0.96, 0.957, 0.96, 0.968, 0.981, 1 );
    --ease-bounce-4: linear( 0, 0.004, 0.016 3%, 0.062, 0.141, 0.25, 0.391, 0.562 18.2%, 1 24.3%, 0.81, 0.676 32.3%, 0.629, 0.595, 0.575, 0.568, 0.575, 0.595, 0.629, 0.676 48.2%, 0.811, 1 56.2%, 0.918, 0.86, 0.825, 0.814, 0.825, 0.86, 0.918, 1 77.2%, 0.94 80.6%, 0.925, 0.92, 0.925, 0.94 87.5%, 1 90.9%, 0.974, 0.965, 0.974, 1 );
    --ease-bounce-5: linear( 0, 0.004, 0.016 2.5%, 0.063, 0.141, 0.25 10.1%, 0.562, 1 20.2%, 0.783, 0.627, 0.534 30.9%, 0.511, 0.503, 0.511, 0.534 38%, 0.627, 0.782, 1 48.7%, 0.892, 0.815, 0.769 56.3%, 0.757, 0.753, 0.757, 0.769 61.3%, 0.815, 0.892, 1 68.8%, 0.908 72.4%, 0.885, 0.878, 0.885, 0.908 79.4%, 1 83%, 0.954 85.5%, 0.943, 0.939, 0.943, 0.954 90.5%, 1 93%, 0.977, 0.97, 0.977, 1 );
  }
}

/* assets/css/base/focus.css */
@layer base {
  :root {
    --focus-outline-color: currentColor;
    --focus-outline-offset: 0.4rem;
    --focus-outline-style: solid;
    --focus-outline-width: 0.4rem;
  }
  *:focus-visible {
    outline-color: var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
    outline-style: var(--focus-outline-style);
    outline-width: var(--focus-outline-width);
  }
}

/* assets/css/base/fonts.css */
@layer base {
  @font-face {
    font-family: "New Edge 666";
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/NewEdge666-LightRounded.woff2) format("woff2");
  }
}

/* assets/css/base/layout.css */
@layer base {
  .wrap {
    padding-inline: var(--spacing-inline);
  }
  .inner {
    width: 100%;
    max-width: var(--width-max);
    margin: 0 auto;
  }
  .grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--spacing-grid);
  }
  hr {
    margin-block: calc(var(--spacing-flow) * 2);
    height: 1px;
    border: none;
    background-color: currentColor;
    opacity: 0.25;
  }
}

/* assets/css/base/rich-text.css */
@layer base {
  .rich-text {
    line-height: var(--line-height);
    text-wrap: pretty;
    > *:first-child {
      margin-block-start: 0;
    }
    > *:last-child {
      margin-block-end: 0;
    }
  }
  .rich-text a,
  .link {
    text-decoration: underline;
    text-decoration-thickness: 0.05em;
    text-underline-offset: 0.2em;
    word-break: break-word;
  }
  .rich-text :is(h1, h2, h3, h4, h5, h6) {
    font-weight: bold;
    text-wrap: pretty;
    line-height: 1.1;
    margin-block-start: 1em;
    margin-block-end: var(--spacing-flow);
    hyphens: auto;
    hyphenate-limit-chars: 10 4 4;
    &:first-child {
      margin-block-start: 0;
    }
    &:last-child {
      margin-block-end: 0;
    }
  }
  .rich-text :where(h1) {
    font-size: var(--font-size-2xl);
  }
  .rich-text :where(h2) {
    font-size: var(--font-size-xl);
  }
  .rich-text :where(h3) {
    font-size: var(--font-size-l);
    line-height: 1.2;
  }
  .rich-text :where(h4) {
    font-size: var(--font-size-m);
    line-height: 1.2;
  }
  .rich-text :where(h5) {
    font-size: var(--font-size-base);
    line-height: 1.3;
  }
  .rich-text :where(h6) {
    font-size: var(--font-size-base);
    line-height: 1.3;
  }
  .rich-text p {
    margin-block: var(--spacing-flow);
  }
  .rich-text figure {
    margin-block: calc(var(--spacing-flow) * 2);
    figcaption {
      margin-block-start: var(--spacing-flow);
      font-size: var(--font-size-s);
    }
  }
  .rich-text strong {
    font-weight: bold;
  }
  .rich-text em {
    font-style: italic;
  }
  .rich-text :is(ul, ol) {
    margin-block: var(--spacing-flow);
  }
  .rich-text ul {
    list-style-type: disc;
    padding-inline-start: 1em;
  }
  .rich-text ol {
    list-style-type: decimal;
    padding-inline-start: 1.5em;
  }
}

/* assets/css/base/typography.css */
@layer base {
  :root {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  :root {
    --font-family: "New Edge 666", sans-serif;
  }
  :root {
    --step-0: clamp(1rem, 0.8625rem + 0.6875vw, 1.6875rem);
    --step-1: clamp(1.11rem, 0.9203rem + 0.9488vw, 2.0588rem);
    --step-2: clamp(1.2321rem, 0.9762rem + 1.2796vw, 2.5117rem);
    --step-3: clamp(1.3676rem, 1.0283rem + 1.6966vw, 3.0642rem);
    --step-4: clamp(1.5181rem, 1.074rem + 2.2203vw, 3.7384rem);
    --step-5: clamp(1.6851rem, 1.1099rem + 2.8758vw, 4.5608rem);
    --step-6: clamp(1.8704rem, 1.1317rem + 3.6938vw, 5.5642rem);
    --step-7: clamp(2.0762rem, 1.1337rem + 4.7122vw, 6.7883rem);
  }
  :root {
    --font-size-base: var(--step-0);
    --font-size-m: var(--step-1);
    --font-size-l: var(--step-2);
    --font-size-xl: var(--step-3);
    --font-size-2xl: var(--step-4);
    --font-size-3xl: var(--step-5);
    --font-size-4xl: var(--step-6);
    --font-size-5xl: var(--step-7);
    --font-size-text: var(--font-size-base);
    --font-size-hint: var(--font-size-m);
    --font-size-popup: var(--font-size-l);
    --font-size-button: var(--font-size-xl);
    --font-size-radio: var(--font-size-3xl);
    --font-size-question: var(--font-size-4xl);
    --font-size-heading: var(--font-size-5xl);
  }
}

/* assets/css/base/utility.css */
@layer base {
  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .caps {
    text-transform: uppercase;
    letter-spacing: 0.12em;
  }
  .mobile-only {
    @media (min-width: 1001px) {
      display: none;
    }
  }
  .desktop-only {
    @media (max-width: 1000px) {
      display: none;
    }
  }
  :is(.text-5xl, .text-4xl, .text-3xl, .text-2xl, .text-xl, .text-l, .text-m) {
    text-wrap: pretty;
    font-weight: bold;
  }
  .text-5xl {
    font-size: var(--font-size-5xl);
    line-height: 1;
  }
  .text-4xl {
    font-size: var(--font-size-4xl);
    line-height: 1.05;
  }
  .text-3xl {
    font-size: var(--font-size-3xl);
    line-height: 1.1;
  }
  .text-2xl {
    font-size: var(--font-size-2xl);
    line-height: 1.2;
  }
  .text-xl {
    font-size: var(--font-size-xl);
    line-height: 1.2;
  }
  .text-l {
    font-size: var(--font-size-l);
    line-height: 1.3;
  }
  .text-m {
    font-size: var(--font-size-m);
    line-height: 1.3;
  }
}

/* assets/css/base/variables.css */
@layer base {
  :root {
    --width-max: 1920px;
    --width-logo: 8rem;
    --width-logo-large: 40rem;
    --line-height: 1.1;
    @media (max-width: 1000px) {
      --width-logo: 4rem;
      --width-logo-large: 12rem;
    }
  }
  :root {
    --color-black: #000000;
    --color-white: #ffffff;
    --color-mesh-nw: oklch(0.65 0.2981 29);
    --color-mesh-ne: oklch(0.85 0.3632 146);
    --color-mesh-se: oklch(0.72 0.3592 331);
    --color-mesh-sw: oklch(0.85 0.194 200);
  }
  :root {
    --pill-stroke: calc(var(--font-size-base) * 0.15);
  }
  :root {
    --spacing-2: 0.125rem;
    --spacing-4: 0.25rem;
    --spacing-5: 0.3125rem;
    --spacing-7: 0.4375rem;
    --spacing-10: 0.625rem;
    --spacing-15: 0.9375rem;
    --spacing-20: 1.25rem;
    --spacing-25: 1.5625rem;
    --spacing-30: 1.875rem;
    --spacing-40: 2.5rem;
    --spacing-50: 3.125rem;
    --spacing-60: 3.75rem;
    --spacing-80: 5rem;
    --spacing-100: 6.25rem;
    --spacing-xxs: var(--spacing-10);
    --spacing-xs: var(--spacing-15);
    --spacing-s: var(--spacing-25);
    --spacing-m: var(--spacing-40);
    --spacing-l: var(--spacing-60);
    --spacing-xl: var(--spacing-100);
    --spacing-flow: var(--spacing-20);
    --spacing-grid: var(--spacing-20);
    --spacing-inline: var(--spacing-50);
    --spacing-block: var(--spacing-100);
    @media (max-width: 1000px) {
      --spacing-inline: var(--spacing-20);
    }
  }
}

/* assets/css/base/base.css */
@layer base;

/* assets/css/components/button.css */
@layer components {
  .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    text-decoration: none;
    font-family: var(--font-family);
    font-size: var(--font-size);
    font-weight: 400;
    line-height: 1;
    color: var(--color);
    background: var(--background);
    user-select: none;
    gap: var(--gap);
    padding: var(--padding-block) var(--padding-inline);
    border-radius: var(--radius);
    --font-size: var(--font-size-button);
    --background: var(--color-black);
    --color: var(--color-white);
    --gap: 0.5em;
    --padding-block: 0.4em;
    --padding-inline: 0.75em;
    --radius: 9999px;
    --size: 2em;
    --focus-outline-color: var(--background);
    transform: perspective(var(--wobble-perspective, 800px)) rotateX(var(--wobble-rx, 0deg)) rotateY(var(--wobble-ry, 0deg));
    scale: var(--wobble-scale, 1);
    will-change: transform, scale;
    &:disabled,
    &[disabled] {
      opacity: 0.2;
      cursor: not-allowed;
    }
  }
  .button--large {
    --font-size: var(--font-size-question);
    --padding-inline: 1.25em;
  }
  .button--circle {
    padding: 0;
    width: var(--size);
    height: var(--size);
  }
  .button--pill {
  }
  .button--black {
    --background: var(--color-black);
    --color: var(--color-white);
  }
  .button--gradient {
    --background:
      linear-gradient(
        
        90deg,
        #ff6b6b 0%,
        #ffd166 35%,
        #06d6a0 70%,
        #4d96ff 100% );
    --color: var(--color-black);
  }
  .button--outline {
    --background: transparent;
    --color: var(--color-black);
    --focus-outline-color: var(--color-black);
    box-shadow: inset 0 0 0 var(--pill-stroke) var(--color-black);
  }
  .button--caps {
    text-transform: uppercase;
    letter-spacing: 0.12em;
  }
  .button__icon {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    margin: -0.25em;
  }
  .button__label {
    white-space: nowrap;
  }
}

/* assets/css/components/guides.css */
@layer components {
  .guides {
    position: fixed;
    inset: 0;
    z-index: calc(infinity);
    pointer-events: none;
    visibility: hidden;
    --guide-color: #84ffff;
  }
  .guides::after {
    content: attr(data-window-width);
    color: var(--guide-color);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--font-size-xl);
  }
  .guides__inner {
    height: 100%;
  }
  .guides__guide {
    outline: 1px solid var(--guide-color);
    background-color: color-mix(in srgb, var(--guide-color), transparent 75%);
  }
}

/* assets/css/components/image.css */
@layer components {
  .image-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  .image-wrap__image {
    background-size: cover;
  }
  .image-wrap__caption {
    font-size: var(--font-size-s);
  }
}

/* assets/css/components/info-popup.css */
@layer components {
  .info-popup {
    position: fixed;
    inset: auto 0 0 0;
    width: 100%;
    max-width: 40rem;
    max-height: none;
    margin: var(--spacing-inline);
    margin-block-end: 0;
    padding: var(--spacing-m) var(--spacing-inline);
    box-sizing: border-box;
    background: var(--color-black);
    color: var(--color-white);
    border: none;
    border-radius: 1em 1em 0 0;
    &[open] {
      animation: info-popup-slide-up 0.25s var(--ease-2);
    }
    &::backdrop {
      background: rgba(0, 0, 0, 0.33);
    }
  }
  @keyframes info-popup-slide-up {
    from {
      translate: 0 100%;
    }
    to {
      translate: 0 0;
    }
  }
  .info-popup__text {
    font-size: var(--font-size-popup);
    line-height: var(--line-height);
  }
  .info-popup__close {
    float: right;
    padding: var(--spacing-xs);
    margin-block-start: calc(var(--spacing-xs) * -1);
    margin-inline-end: calc(var(--spacing-xs) * -1);
    color: var(--color-white);
  }
  .info-popup__x {
    width: 1.5em;
    height: auto;
  }
}

/* assets/css/components/input.css */
@layer components {
  .input {
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    height: 1.8em;
    font-family: var(--font-family);
    font-size: var(--font-size-question);
    font-weight: 400;
    line-height: 1;
    color: var(--color-black);
    background: transparent;
    padding: 0 0.75em;
    border: none;
    border-radius: 9999px;
    box-shadow: inset 0 0 0 var(--pill-stroke) var(--color-black);
    transform: perspective(var(--wobble-perspective, 800px)) rotateX(var(--wobble-rx, 0deg)) rotateY(var(--wobble-ry, 0deg));
    scale: var(--wobble-scale, 1);
    will-change: transform, scale;
    &::placeholder {
      color: var(--color-black);
      opacity: 0.4;
    }
  }
}

/* assets/css/components/logo.css */
@layer components {
  .logo {
    width: var(--width-logo);
    display: block;
    view-transition-name: logo;
  }
  .logo--large {
    width: var(--width-logo-large);
  }
  .logo--small {
    .circle-text__word {
      visibility: hidden;
    }
  }
  .logo__graphic {
    overflow: visible;
    width: 100%;
    height: auto;
  }
  .logo__graphic--mobile {
    .logo--small & {
    }
  }
  .logo__graphic--desktop {
    .logo--small & {
      margin-block-start: -0.7em;
    }
  }
  .logo__graphic--mobile .bling {
    --bling-cx: 30;
    --bling-cy: 13;
  }
  .logo__graphic--desktop .bling {
    --bling-cx: 9;
    --bling-cy: 135;
  }
  @media (prefers-reduced-motion: no-preference) {
    .circle-text__word {
      transform: scale(0);
      transform-box: view-box;
      transform-origin: calc(var(--circle-cx) * 1px) calc(var(--circle-cy) * 1px);
      opacity: 0;
      transition: transform 600ms var(--ease-spring-1), opacity 500ms ease-out;
      transition-delay: calc(var(--i) * 200ms);
    }
    .logo__graphic.is-revealed .circle-text__word {
      transform: scale(1);
      opacity: 1;
    }
  }
}

/* assets/css/components/meta-menu.css */
@layer components {
  .meta-menu {
  }
  .meta-menu__list {
    display: flex;
    gap: var(--spacing-xs);
  }
}

/* assets/css/components/radio-option.css */
@layer components {
  .radio-option {
    display: inline-flex;
    cursor: pointer;
  }
  .radio-option__input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }
  .radio-option .button {
    --font-size: var(--font-size-question);
    --padding-block: 1rem;
  }
  .radio-option:has(.radio-option__input:checked) .button--outline {
    --background: var(--color-black);
    --color: var(--color-white);
    box-shadow: none;
  }
  .radio-option:has(.radio-option__input:focus-visible) .button {
    outline-color: var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
    outline-style: var(--focus-outline-style);
    outline-width: var(--focus-outline-width);
  }
  .radio-binary,
  .radio-multi__options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-s);
  }
  .radio-multi__options .input {
    flex: 1 1 4em;
    min-width: 4em;
  }
}

/* assets/css/components/slider.css */
@layer components {
  .slider {
    position: relative;
    --size: calc(var(--font-size-question) + 2rem);
    --border-width: 0.15em;
    --border-color: var(--color-black);
    --thumb-color: var(--color-black);
    --average-color: var(--border-color);
    --average-size: calc(var(--size) * 0.78);
    --radius: 9999px;
    --label-gap: 0.75em;
    --focus-outline-color: var(--border-color);
    padding-block-end: calc(var(--label-gap) + 2lh);
  }
  .slider__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    &:focus-visible {
      outline: none;
    }
    &:focus-visible ~ .slider__track {
      outline-color: var(--focus-outline-color);
      outline-offset: var(--focus-outline-offset);
      outline-style: var(--focus-outline-style);
      outline-width: var(--focus-outline-width);
    }
  }
  .slider__track {
    position: relative;
    height: var(--size);
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--radius);
    overflow: clip;
    cursor: grab;
    touch-action: pan-y pinch-zoom;
    &:active {
      cursor: grabbing;
    }
  }
  .slider__thumb {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: var(--thumb-color);
    translate: 0 -50%;
    pointer-events: none;
  }
  .slider__labels {
    display: flex;
    justify-content: space-between;
    position: absolute;
    inset-block-end: 0;
    inset-inline: 0;
  }
  .slider__label {
    cursor: pointer;
    background: none;
    border: none;
    font-family: var(--font-family);
    font-size: var(--font-size-button);
    padding: 0;
    color: inherit;
    &:disabled {
      cursor: default;
    }
  }
  .slider__average {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    &::before {
      content: "";
      position: absolute;
      inset-inline-start: var(--average-position, 50%);
      inset-block-start: 50%;
      translate: -50% -50%;
      width: var(--average-size);
      height: var(--average-size);
      border-radius: 50%;
      border: var(--border-width) solid var(--average-color);
    }
    &::after {
      content: "";
      position: absolute;
      inset-block-start: 50%;
      inset-inline-start: var(--average-position, 50%);
      width: calc(var(--average-size) * 1.27);
      height: var(--border-width);
      background: var(--average-color);
      translate: -50% -50%;
      rotate: -45deg;
    }
  }
  .slider__average--invert {
    --average-color: white;
    z-index: 4;
    clip-path: circle(calc(var(--size) / 2) at var(--thumb-x, 50%) 50%);
  }
}

/* assets/css/components/textarea.css */
@layer components {
  .textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 3lh;
    font-family: var(--font-family);
    font-size: var(--font-size-question);
    font-weight: 400;
    line-height: var(--line-height);
    color: var(--color-black);
    background: transparent;
    padding: 0.4em 0.6em;
    border: none;
    border-radius: 1em;
    box-shadow: inset 0 0 0 var(--pill-stroke) var(--color-black);
    resize: none;
    &::placeholder {
      color: var(--color-black);
      opacity: 0.4;
    }
  }
  .form-textarea {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    min-height: 0;
  }
  .form-textarea .textarea {
    flex: 1;
  }
  .form-textarea__hint {
    font-size: var(--font-size-hint);
    color: var(--color-black);
    text-align: center;
  }
}

/* assets/css/components/components.css */
@layer components;

/* assets/css/sections/background.css */
@layer sections {
  .mesh-gradient {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    display: block;
  }
  .slider-gradient {
    pointer-events: auto;
    cursor: grab;
    touch-action: pan-y pinch-zoom;
  }
  .slider-gradient--dragging {
    cursor: grabbing;
  }
}

/* assets/css/sections/footer.css */
@layer sections {
  .footer {
    background-color: var(--color-black);
    color: var(--color-white);
    margin-block-start: auto;
    padding-block: var(--spacing-inline);
    position: sticky;
    bottom: 0;
  }
  .footer *:focus-visible {
    scroll-margin-block-end: 100vh;
  }
  .footer__inner {
    display: grid;
    grid-template-rows: 1fr 1fr;
    @media (max-width: 1000px) {
      grid-template-rows: initial;
    }
  }
  .footer__logos {
    grid-column: span 4;
    @media (max-width: 1000px) {
      grid-column: 1 / -1;
    }
  }
  .footer__logo {
    display: block;
    max-width: 16rem;
    img {
      width: 100%;
      height: auto;
    }
  }
  .footer__text {
    grid-column: span 4;
    grid-row: span 2;
    @media (max-width: 1000px) {
      grid-column: 1 / -1;
      grid-row: initial;
    }
  }
  .footer__contact {
    grid-column: span 3 / -1;
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    gap: 1lh;
    @media (max-width: 1000px) {
      grid-column: 1 / -1;
      grid-row: initial;
    }
  }
  .footer__contact-persons {
    display: flex;
    flex-direction: column;
    gap: 1lh;
  }
  .footer__contact-person {
    display: flex;
    flex-direction: column;
  }
  .footer__contact-email {
    word-break: break-word;
  }
  .footer__menu {
    align-self: end;
    line-height: var(--line-height);
    grid-column: span 4;
    @media (max-width: 1000px) {
      grid-column: 1 / -1;
      grid-row: initial;
      align-self: initial;
    }
  }
}

/* assets/css/sections/header.css */
@layer sections {
  .header {
    margin-block: var(--spacing-s);
  }
}

/* assets/css/sections/landing.css */
@layer sections {
  .landing {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--spacing-l);
  }
  .landing__text {
    max-width: 50ch;
    text-wrap: balance;
  }
  .landing__button {
  }
}

/* assets/css/sections/question.css */
@layer sections {
  .question {
    min-height: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
    padding-block-start: 5em;
    padding-block-end: var(--spacing-inline);
    @media (max-width: 1000px) {
      padding-block-start: 8em;
    }
    pointer-events: none;
    > * {
      pointer-events: initial;
    }
  }
  .question__headline {
    font-size: var(--font-size-question);
    text-wrap: balance;
    min-height: 2lh;
    display: flex;
    align-items: flex-end;
  }
  .question__content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    pointer-events: none;
    > * {
      pointer-events: initial;
    }
  }
  .question--textarea .question__content {
    flex: 1;
  }
  .question__navigation {
    margin-block-start: auto;
    align-self: flex-end;
  }
}

/* assets/css/sections/result.css */
@layer sections {
  .result-page {
    height: 100%;
    flex: 1;
  }
  .result-page__hex {
    font-family: monospace;
    font-size: var(--font-size-l);
    color: var(--color-black);
    background: var(--color-white);
    padding: 0.2em 0.5em;
    border-radius: 999px;
    text-transform: uppercase;
  }
  .result-page__placeholder {
    color: var(--color-gray-500);
  }
}

/* assets/css/sections/view.css */
@layer sections {
  .view {
    min-height: 100lvh;
    position: relative;
    z-index: 2;
    box-shadow:
      0px 3px 3px rgba(3, 7, 18, 1),
      0px 11px 11px rgba(3, 7, 18, 0.67),
      0px 24px 24px rgba(3, 7, 18, 0.33);
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
  }
  .view > .header {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: 2;
  }
}

/* assets/css/sections/sections.css */
@layer sections;

/* assets/css/base/utility.css */
@layer utility {
  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .caps {
    text-transform: uppercase;
    letter-spacing: 0.12em;
  }
  .mobile-only {
    @media (min-width: 1001px) {
      display: none;
    }
  }
  .desktop-only {
    @media (max-width: 1000px) {
      display: none;
    }
  }
  :is(.text-5xl, .text-4xl, .text-3xl, .text-2xl, .text-xl, .text-l, .text-m) {
    text-wrap: pretty;
    font-weight: bold;
  }
  .text-5xl {
    font-size: var(--font-size-5xl);
    line-height: 1;
  }
  .text-4xl {
    font-size: var(--font-size-4xl);
    line-height: 1.05;
  }
  .text-3xl {
    font-size: var(--font-size-3xl);
    line-height: 1.1;
  }
  .text-2xl {
    font-size: var(--font-size-2xl);
    line-height: 1.2;
  }
  .text-xl {
    font-size: var(--font-size-xl);
    line-height: 1.2;
  }
  .text-l {
    font-size: var(--font-size-l);
    line-height: 1.3;
  }
  .text-m {
    font-size: var(--font-size-m);
    line-height: 1.3;
  }
}

/* assets/css/style.css */
/*# sourceMappingURL=style.min.css.map */
