/* 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;
  }
  :where(dialog, fieldset, [popover]) {
    border: none;
  }
  :where(dialog, [popover]) {
    max-inline-size: none;
    max-block-size: none;
  }
  :root {
    text-size-adjust: none;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-inline-size: 100%;
    block-size: auto;
  }
  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);
    block-size: 100%;
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
  }
  @view-transition {
    navigation: auto;
  }
  body {
    background-color: var(--color-background);
    color: var(--color-text);
    font-size: var(--font-size-base);
    display: flex;
    flex-direction: column;
    min-block-size: 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.15rem;
    --focus-outline-style: solid;
    --focus-outline-width: 0.15rem;
  }
  *: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;

/* assets/css/base/layout.css */
@layer base {
  .wrap {
    padding-inline: var(--spacing-inline);
  }
  .region {
    padding-block: var(--spacing-block);
  }
  .inner {
    inline-size: 100%;
    max-inline-size: var(--width-max);
    margin-inline: auto;
  }
  .grid {
    --grid-columns: 12;
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    gap: var(--spacing-grid);
    @media (max-width: 1000px) {
      --grid-columns: 6;
    }
    @media (max-width: 600px) {
      --grid-columns: 2;
    }
  }
  .stack {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-stack);
  }
  .cluster {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--spacing-cluster);
  }
  hr {
    margin-block: var(--spacing-l);
    block-size: var(--width-border);
    border: none;
    background-color: currentColor;
    opacity: 0.25;
  }
}

/* assets/css/base/rich-text.css */
@layer base {
  .rich-text {
    line-height: 1.4;
    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.075em;
    text-underline-offset: 0.15em;
    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-s);
    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-s);
  }
  .rich-text figure {
    margin-block: var(--spacing-l);
    figcaption {
      margin-block-start: var(--spacing-4xs);
      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-s);
  }
  .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/selection.css */
@layer base {
  ::selection {
    background-color: var(--color-text);
    color: var(--color-background);
  }
}

/* assets/css/base/typography.css */
@layer base {
  :root {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  :root {
    --font-family: system-ui, sans-serif;
  }
  :root {
    --font-size-s: var(--step--1);
    --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);
  }
  :is(.h1, .h2, .h3) {
    font-weight: bold;
    text-wrap: pretty;
    line-height: 1.1;
    hyphens: auto;
    hyphenate-limit-chars: 10 4 4;
  }
  .h1 {
    font-size: var(--font-size-2xl);
  }
  .h2 {
    font-size: var(--font-size-xl);
  }
  .h3 {
    font-size: var(--font-size-l);
    line-height: 1.2;
  }
}

/* assets/css/base/utopia.css */
@layer base {
  :root {
    --step-5: clamp(2.4883rem, 2.2183rem + 1.3499vw, 3.4332rem);
    --step-4: clamp(2.0736rem, 1.8813rem + 0.9614vw, 2.7466rem);
    --step-3: clamp(1.728rem, 1.5939rem + 0.6704vw, 2.1973rem);
    --step-2: clamp(1.44rem, 1.3492rem + 0.454vw, 1.7578rem);
    --step-1: clamp(1.2rem, 1.1411rem + 0.2946vw, 1.4063rem);
    --step-0: clamp(1rem, 0.9643rem + 0.1786vw, 1.125rem);
    --step--1: clamp(0.8333rem, 0.8143rem + 0.0952vw, 0.9rem);
    --spacing-4xs: clamp(0.25rem, 0.2321rem + 0.0893vw, 0.3125rem);
    --spacing-3xs: clamp(0.5rem, 0.4643rem + 0.1786vw, 0.625rem);
    --spacing-2xs: clamp(0.75rem, 0.6964rem + 0.2679vw, 0.9375rem);
    --spacing-xs: clamp(1rem, 0.9286rem + 0.3571vw, 1.25rem);
    --spacing-s: clamp(1.5rem, 1.3929rem + 0.5357vw, 1.875rem);
    --spacing-m: clamp(2rem, 1.8571rem + 0.7143vw, 2.5rem);
    --spacing-l: clamp(3rem, 2.7857rem + 1.0714vw, 3.75rem);
    --spacing-xl: clamp(4rem, 3.7143rem + 1.4286vw, 5rem);
    --spacing-2xl: clamp(6rem, 5.5714rem + 2.1429vw, 7.5rem);
    --spacing-3xl: clamp(8rem, 7.4286rem + 2.8571vw, 10rem);
    --spacing-4xl: clamp(12rem, 11.1429rem + 4.2857vw, 15rem);
    --spacing-5xl: clamp(16rem, 14.8571rem + 5.7143vw, 20rem);
    --spacing-4xs-3xs: clamp(0.25rem, 0.1429rem + 0.5357vw, 0.625rem);
    --spacing-3xs-2xs: clamp(0.5rem, 0.375rem + 0.625vw, 0.9375rem);
    --spacing-2xs-xs: clamp(0.75rem, 0.6071rem + 0.7143vw, 1.25rem);
    --spacing-xs-s: clamp(1rem, 0.75rem + 1.25vw, 1.875rem);
    --spacing-s-m: clamp(1.5rem, 1.2143rem + 1.4286vw, 2.5rem);
    --spacing-m-l: clamp(2rem, 1.5rem + 2.5vw, 3.75rem);
    --spacing-l-xl: clamp(3rem, 2.4286rem + 2.8571vw, 5rem);
    --spacing-xl-2xl: clamp(4rem, 3rem + 5vw, 7.5rem);
    --spacing-2xl-3xl: clamp(6rem, 4.8571rem + 5.7143vw, 10rem);
    --spacing-3xl-4xl: clamp(8rem, 6rem + 10vw, 15rem);
    --spacing-4xl-5xl: clamp(12rem, 9.7143rem + 11.4286vw, 20rem);
    --spacing-s-l: clamp(1.5rem, 0.8571rem + 3.2143vw, 3.75rem);
  }
}

/* assets/css/base/variables.css */
@layer base {
  :root {
    --color-black: #000000;
    --color-white: #ffffff;
    --color-blue: #0b57d0;
  }
  :root {
    --color-text: var(--color-black);
    --color-text-inverted: var(--color-white);
    --color-background: var(--color-white);
    --color-background-inverted: var(--color-black);
    --color-accent: var(--color-blue);
  }
  :root {
    --spacing-inline: var(--spacing-m-l);
    --spacing-block: var(--spacing-l-xl);
    --spacing-grid: var(--spacing-s-l);
    --spacing-stack: var(--spacing-s);
    --spacing-cluster: var(--spacing-3xs);
  }
  :root {
    --width-max: 75rem;
    --width-border: 0.125rem;
  }
}

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

/* assets/css/components/button.css */
@layer components {
  .button {
    --button-background: var(--color-accent);
    --button-text: var(--color-text-inverted);
    --focus-outline-color: var(--color-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-block: 0.4em;
    padding-inline: 0.9em;
    background-color: var(--button-background);
    color: var(--button-text);
  }
  .button__label {
    min-inline-size: 0;
    overflow-x: clip;
    text-overflow: ellipsis;
  }
}

/* assets/css/components/buttons.css */
@layer components {
  .buttons {
  }
  .buttons__item {
    max-inline-size: 100%;
  }
}

/* assets/css/components/guides.css */
@layer components {
  .guides {
    --guide-color: #84ffff;
    position: fixed;
    inset: 0;
    inline-size: auto;
    block-size: auto;
    background: transparent;
    pointer-events: none;
  }
  .guides::after {
    content: attr(data-window-width);
    color: var(--guide-color);
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--font-size-xl);
  }
  .guides__inner {
    block-size: 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 {
    --spacing-stack: var(--spacing-4xs);
  }
  .image-wrap__caption {
    font-size: var(--font-size-s);
  }
}

/* assets/css/components/logo.css */
@layer components {
  .logo {
  }
}

/* assets/css/components/menu.css */
@layer components {
  .menu {
  }
}

/* assets/css/components/skip-to-content.css */
@layer components {
  .skip-to-content {
    position: fixed;
    z-index: 200;
    inset-block-start: calc(var(--focus-outline-offset) + var(--focus-outline-width));
    inset-inline-start: calc(var(--focus-outline-offset) + var(--focus-outline-width));
    translate: 0 calc(-100% - var(--focus-outline-offset) - var(--focus-outline-width) - 0.0625rem);
    &:focus-visible {
      translate: 0;
    }
    @media (prefers-reduced-motion: no-preference) {
      transition: translate 0.25s var(--ease-spring-1);
    }
  }
}

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

/* assets/css/regions/footer.css */
@layer regions {
  .footer {
    --color-text: var(--color-text-inverted);
    --color-background: var(--color-background-inverted);
    background-color: var(--color-background);
    color: var(--color-text);
  }
}

/* assets/css/regions/header.css */
@layer regions {
  .header {
  }
}

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

/* assets/css/base/utility.css */
@layer utility {
  .visually-hidden {
    position: absolute;
    inline-size: 0.0625rem;
    block-size: 0.0625rem;
    padding: 0;
    margin: -0.0625rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

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