/* 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);
    height: 100%;
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
  }
  body {
    background-color: var(--color-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-base);
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }
}

/* assets/css/base/colors.css */
@layer base {
  :root {
    --color-primary: #000000;
    --color-secondary: #ffffff;
  }
}

/* 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);
  }
  .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: 1.4;
    text-wrap: pretty;
    > *:first-child {
      margin-block-start: 0;
    }
    > *:last-child {
      margin-block-end: 0;
    }
  }
  .rich-text a {
    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-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/spacing.css */
@layer base {
  :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);
    --width-max: 1200px;
    --spacing-flow: var(--spacing-20);
    --spacing-grid: var(--spacing-20);
    --spacing-inline: var(--spacing-100);
    --spacing-block: var(--spacing-100);
    @media (max-width: 1200px) {
      --spacing-inline: var(--spacing-50);
    }
    @media (max-width: 1000px) {
      --spacing-xs: var(--spacing-10);
      --spacing-s: var(--spacing-15);
      --spacing-m: var(--spacing-25);
      --spacing-l: var(--spacing-40);
      --spacing-xl: var(--spacing-80);
      --spacing-grid: var(--spacing-10);
      --spacing-inline: var(--spacing-20);
      --spacing-block: var(--spacing-40);
    }
  }
}

/* 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 {
    --step--1: clamp(0.9091rem, 0.901rem + 0.0406vw, 0.9375rem);
    --step-0: clamp(1rem, 0.9643rem + 0.1786vw, 1.125rem);
    --step-1: clamp(1.1rem, 1.0286rem + 0.3571vw, 1.35rem);
    --step-2: clamp(1.21rem, 1.0929rem + 0.5857vw, 1.62rem);
    --step-3: clamp(1.331rem, 1.1559rem + 0.8757vw, 1.944rem);
    --step-4: clamp(1.4641rem, 1.2159rem + 1.241vw, 2.3328rem);
    --step-5: clamp(1.6105rem, 1.2708rem + 1.6984vw, 2.7994rem);
    --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);
  }
}

/* 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;
  }
  :is(.text-3xl, .text-2xl, .text-xl, .text-l, .text-m) {
    text-wrap: pretty;
    font-weight: bold;
  }
  .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/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/base.css */
@layer base;

/* 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/components.css */
@layer components;

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

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