/* 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-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%;
    scrollbar-gutter: stable;
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
  }
  body {
    background-color: var(--color-background);
    color: var(--color-text);
    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.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: var(--spacing-l);
    height: 1px;
    border: none;
    background-color: var(--border);
  }
}

/* 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-s);
      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--1: clamp(0.8333rem, 0.8101rem + 0.116vw, 0.9rem);
    --step-0: clamp(1rem, 0.9643rem + 0.1786vw, 1.125rem);
    --step-1: clamp(1.2rem, 1.1464rem + 0.2679vw, 1.4063rem);
    --step-2: clamp(1.44rem, 1.3601rem + 0.3996vw, 1.7578rem);
    --step-3: clamp(1.728rem, 1.6107rem + 0.5866vw, 2.1973rem);
    --step-4: clamp(2.0736rem, 1.9034rem + 0.8512vw, 2.7466rem);
    --step-5: clamp(2.4883rem, 2.2434rem + 1.2247vw, 3.4332rem);
  }
  :root {
    --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.1964rem + 0.2679vw, 0.4375rem);
    --spacing-3xs-2xs: clamp(0.5rem, 0.4286rem + 0.3571vw, 0.75rem);
    --spacing-2xs-xs: clamp(0.75rem, 0.6429rem + 0.5357vw, 1.125rem);
    --spacing-xs-s: clamp(1rem, 0.8571rem + 0.7143vw, 1.5rem);
    --spacing-s-m: clamp(1.5rem, 1.2857rem + 1.0714vw, 2.25rem);
    --spacing-m-l: clamp(2rem, 1.7143rem + 1.4286vw, 3rem);
    --spacing-l-xl: clamp(3rem, 2.5714rem + 2.1429vw, 4.5rem);
    --spacing-xl-2xl: clamp(4rem, 3.4286rem + 2.8571vw, 6rem);
    --spacing-2xl-3xl: clamp(6rem, 5.1429rem + 4.2857vw, 9rem);
    --spacing-3xl-4xl: clamp(8rem, 6.8571rem + 5.7143vw, 12rem);
    --spacing-4xl-5xl: clamp(12rem, 10.2857rem + 8.5714vw, 18rem);
    --spacing-s-l: clamp(1.5rem, 1.0714rem + 2.1429vw, 3rem);
  }
}

/* assets/css/base/variables.css */
@layer base {
  :root {
    --color-primary: black;
    --color-secondary: white;
    --color-gray-1: #f6f6f6;
    --color-gray-2: #ececec;
    --color-gray-3: #dcdcdc;
    --color-gray-4: #c2c2c2;
    --color-gray-5: #8f8f8f;
    --color-gray-6: #1c1c1c;
  }
  :root {
    --color-text: var(--color-primary);
    --color-background: var(--color-secondary);
  }
  :root {
    --spacing-inline: var(--spacing-m-l);
    --spacing-grid: var(--spacing-s-l);
  }
  :root {
    --width-max: 75rem;
    --width-border: 2px;
  }
}

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

/* assets/css/elements/tokens.css */
@layer elements {
  :root {
    --surface: var(--color-gray-1);
    --fill: var(--color-gray-2);
    --line: var(--color-gray-3);
    --heading: var(--color-gray-4);
    --ink: var(--color-gray-5);
    --border: var(--color-gray-4);
    --radius: 4px;
  }
}

/* assets/css/elements/arrow.css */
@layer elements {
  .arrow {
    display: grid;
    place-items: center;
    width: 2.75em;
    height: 2.75em;
    border: 1px solid var(--border);
    border-radius: 999px;
    background-color: var(--color-background);
    &::after {
      content: "";
      width: 0;
      height: 0;
      border-block: 0.35em solid transparent;
    }
  }
  .arrow--next::after {
    border-inline-start: 0.5em solid var(--ink);
    translate: 15% 0;
  }
  .arrow--previous::after {
    border-inline-end: 0.5em solid var(--ink);
    translate: -15% 0;
  }
}

/* assets/css/elements/avatar.css */
@layer elements {
  .avatar {
    border-radius: 999px;
    background-color: var(--fill);
  }
  .avatar--real {
    object-fit: cover;
  }
  .avatar--small {
    width: 2.5rem;
    height: 2.5rem;
  }
  .avatar--medium {
    width: 4rem;
    height: 4rem;
  }
  .avatar--large {
    width: 6rem;
    height: 6rem;
  }
}

/* assets/css/elements/badge.css */
@layer elements {
  .badge {
    display: inline-block;
    inline-size: 5em;
    block-size: 1.5em;
    border-radius: 999px;
    background-color: var(--surface);
    border: 1px solid var(--border);
  }
  .badge--real {
    display: inline-flex;
    align-items: center;
    inline-size: fit-content;
    block-size: auto;
    padding: 0.25em 0.75em;
    font-size: var(--font-size-s);
  }
}

/* assets/css/elements/breadcrumbs.css */
@layer elements {
  .breadcrumbs {
    display: flex;
    align-items: center;
    gap: 0.5em;
  }
  .breadcrumbs__item {
    width: 3em;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
    &:last-child {
      width: 4em;
      background-color: var(--heading);
    }
  }
  .breadcrumbs__item--real {
    width: auto;
    height: auto;
    background-color: transparent;
    color: var(--ink);
    font-size: var(--font-size-s);
    &:last-child {
      width: auto;
      background-color: transparent;
    }
  }
  .breadcrumbs__separator {
    color: var(--ink);
    font-size: var(--font-size-s);
  }
}

/* assets/css/elements/button.css */
@layer elements {
  .button {
    --background-color: var(--ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6.5em;
    height: 2.75em;
    padding-inline: 1.25em;
    border-radius: var(--radius);
    background-color: var(--background-color);
    color: var(--color-secondary);
  }
  .button--outline {
    background-color: transparent;
    border: 1px solid var(--ink);
    color: var(--ink);
    &:empty::after {
      content: "";
      width: 3.5em;
      height: 0.7em;
      border-radius: var(--radius);
      background-color: var(--ink);
    }
  }
}

/* assets/css/elements/chart.css */
@layer elements {
  .chart {
    width: 100%;
    height: 14rem;
    border-block-end: 1px solid var(--border);
  }
  .chart--bars {
    display: flex;
    align-items: flex-end;
    gap: var(--spacing-2xs);
  }
  .chart__bar {
    flex: 1;
    height: 40%;
    border-radius: var(--radius) var(--radius) 0 0;
    background-color: var(--fill);
    &:nth-child(1) {
      height: 55%;
    }
    &:nth-child(2) {
      height: 75%;
    }
    &:nth-child(3) {
      height: 45%;
    }
    &:nth-child(4) {
      height: 90%;
      background-color: var(--heading);
    }
    &:nth-child(5) {
      height: 60%;
    }
    &:nth-child(6) {
      height: 72%;
    }
    &:nth-child(7) {
      height: 38%;
    }
  }
  .chart--line {
    color: var(--ink);
    svg {
      width: 100%;
      height: 100%;
    }
  }
}

/* assets/css/elements/check.css */
@layer elements {
  .check {
    display: block;
    width: 1.1em;
    height: 1.1em;
    background-color: var(--ink);
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  }
}

/* assets/css/elements/date.css */
@layer elements {
  .date {
    display: grid;
    gap: 0.4em;
    justify-items: center;
    align-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background-color: var(--surface);
  }
  .date__month {
    width: 1.5rem;
    height: 0.5em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .date__day {
    width: 1.25rem;
    height: 1.1em;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
  .date__month--real {
    width: auto;
    height: auto;
    color: var(--line);
    font-size: var(--font-size-s);
    text-transform: uppercase;
    background-color: transparent;
  }
  .date__day--real {
    width: auto;
    height: auto;
    color: var(--heading);
    font-size: var(--font-size-l);
    font-weight: 700;
    line-height: 1;
    background-color: transparent;
  }
}

/* assets/css/elements/digit.css */
@layer elements {
  .digit {
    display: block;
    width: 2.5rem;
    height: 3.5rem;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
}

/* assets/css/elements/dots.css */
@layer elements {
  .dots {
    display: flex;
    justify-content: center;
    gap: 0.5em;
  }
  .dots__dot {
    width: 0.6em;
    height: 0.6em;
    border-radius: 999px;
    background-color: var(--line);
  }
  .dots__dot--active {
    background-color: var(--ink);
  }
}

/* assets/css/elements/heading.css */
@layer elements {
  .heading {
    display: block;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
  .heading--1 {
    height: 2.5rem;
    width: min(60%, 24rem);
  }
  .heading--2 {
    height: 1.75rem;
    width: min(45%, 18rem);
  }
  .heading--3 {
    height: 1.25rem;
    width: min(35%, 14rem);
  }
}

/* assets/css/elements/icon.css */
@layer elements {
  .icon {
    display: block;
    width: 1.5em;
    height: 1.5em;
    border-radius: var(--radius);
    background-color: var(--ink);
  }
  .icon--circle {
    border-radius: 999px;
  }
}

/* assets/css/elements/image.css */
@layer elements {
  .image {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: var(--radius);
    background-color: var(--fill);
    background-image:
      linear-gradient(
        to top right,
        transparent calc(50% - 1px),
        var(--border) 50%,
        transparent calc(50% + 1px)),
      linear-gradient(
        to bottom right,
        transparent calc(50% - 1px),
        var(--border) 50%,
        transparent calc(50% + 1px));
  }
  .image--real {
    background: none;
    object-fit: cover;
  }
  .image[data-ratio="16/9"] {
    aspect-ratio: 16/9;
  }
  .image[data-ratio="3/4"] {
    aspect-ratio: 3/4;
  }
  .image[data-ratio="1/1"] {
    aspect-ratio: 1/1;
  }
  .image[data-ratio="5/2"] {
    aspect-ratio: 5/2;
    @media (max-width: 600px) {
      aspect-ratio: 16/9;
    }
  }
}

/* assets/css/elements/input.css */
@layer elements {
  .input {
    display: grid;
    gap: 0.5em;
  }
  .input__label {
    width: 5em;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .input:nth-child(2n) .input__label {
    width: 6.5em;
  }
  .input:nth-child(3n) .input__label {
    width: 4em;
  }
  .input__field {
    position: relative;
    height: 2.75em;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background-color: var(--color-background);
  }
  .input__field--textarea {
    height: 7em;
  }
  .input__field--select::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 1em;
    translate: 0 -25%;
    border: 0.35em solid transparent;
    border-block-start-color: var(--ink);
  }
}

/* assets/css/elements/lines.css */
@layer elements {
  .lines {
    display: grid;
    gap: 0.6em;
    width: 100%;
  }
  .lines__line {
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
    &:last-child {
      width: 70%;
    }
  }
  .lines--real {
    display: block;
    & > * + * {
      margin-block-start: 0.6em;
    }
  }
}

/* assets/css/elements/logo-mark.css */
@layer elements {
  .logo-mark {
    display: block;
    width: 5.5em;
    height: 2em;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background-color: var(--surface);
    background-image:
      linear-gradient(
        to top right,
        transparent calc(50% - 1px),
        var(--border) 50%,
        transparent calc(50% + 1px)),
      linear-gradient(
        to bottom right,
        transparent calc(50% - 1px),
        var(--border) 50%,
        transparent calc(50% + 1px));
  }
  .logo-mark--real {
    object-fit: contain;
    background: none;
  }
}

/* assets/css/elements/map.css */
@layer elements {
  .map {
    position: relative;
    aspect-ratio: 16/9;
    width: 100%;
    border-radius: var(--radius);
    background-color: var(--fill);
  }
  .map:not(.map--multi)::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    translate: -50% -50%;
    width: 1.25em;
    height: 1.25em;
    border-radius: 999px;
    background-color: var(--ink);
    box-shadow: 0 0 0 0.5em color-mix(in srgb, var(--ink), transparent 70%);
  }
  .map__pin {
    position: absolute;
    inset-block-start: var(--top);
    inset-inline-start: var(--left);
    translate: -50% -50%;
    width: 1em;
    height: 1em;
    border-radius: 999px;
    background-color: var(--ink);
    box-shadow: 0 0 0 0.35em color-mix(in srgb, var(--ink), transparent 75%);
  }
}

/* assets/css/elements/progress.css */
@layer elements {
  .progress {
    display: block;
    width: 100%;
    height: 0.7em;
    border-radius: 999px;
    background-color: var(--fill);
    background-image: linear-gradient(var(--ink), var(--ink));
    background-size: var(--value, 60%) 100%;
    background-repeat: no-repeat;
  }
}

/* assets/css/elements/quote-mark.css */
@layer elements {
  .quote-mark {
    display: block;
    line-height: 0.8;
    font-size: var(--font-size-3xl);
    color: var(--heading);
  }
}

/* assets/css/elements/stars.css */
@layer elements {
  .stars {
    display: flex;
    gap: 0.25em;
  }
  .stars__star {
    width: 1.1em;
    height: 1.1em;
    background-color: var(--line);
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  }
  .stars__star--filled {
    background-color: var(--ink);
  }
}

/* assets/css/elements/stat.css */
@layer elements {
  .stat {
    display: grid;
    gap: 0.6em;
    justify-items: start;
  }
  .stat__number {
    width: 4.5em;
    height: 2.25rem;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
  .stat__caption {
    width: 7em;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .stat__number--real {
    width: auto;
    height: auto;
    background-color: transparent;
    color: var(--heading);
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
  }
  .stat__caption--real {
    width: auto;
    height: auto;
    background-color: transparent;
    color: var(--ink);
  }
}

/* assets/css/elements/switch.css */
@layer elements {
  .switch {
    display: block;
    position: relative;
    width: 2.4em;
    height: 1.4em;
    border-radius: 999px;
    background-color: var(--line);
    &::after {
      content: "";
      position: absolute;
      inset-block-start: 0.2em;
      inset-inline-start: 0.2em;
      width: 1em;
      height: 1em;
      border-radius: 999px;
      background-color: var(--color-background);
    }
  }
  .switch--on {
    background-color: var(--ink);
    &::after {
      inset-inline-start: auto;
      inset-inline-end: 0.2em;
    }
  }
}

/* assets/css/elements/table.css */
@layer elements {
  .table {
    display: grid;
    gap: 1px;
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    background-color: var(--line);
  }
  .table__row {
    display: grid;
    grid-template-columns: repeat(var(--columns, 4), 1fr);
    gap: 1px;
  }
  .table__cell {
    display: flex;
    align-items: center;
    padding: 0.9em;
    background-color: var(--color-background);
  }
  .table__row--header .table__cell {
    background-color: var(--surface);
  }
  .table__bar {
    width: 60%;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .table__row--header .table__bar {
    width: 45%;
    background-color: var(--heading);
  }
  .table--real {
    border-collapse: collapse;
    background-color: var(--color-background);
    text-align: start;
    & th,
    & td {
      padding: 0.9em;
      border: 1px solid var(--line);
      text-align: start;
    }
    & thead {
      background-color: var(--surface);
      color: var(--heading);
    }
  }
}

/* assets/css/elements/tags.css */
@layer elements {
  .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
  }
  .tags__tag {
    width: 4em;
    height: 1.6em;
    border: 1px solid var(--border);
    border-radius: 999px;
    background-color: var(--surface);
    &:nth-child(2n) {
      width: 5em;
    }
    &:nth-child(3n) {
      width: 3.5em;
    }
  }
  .tags__tag--real {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    padding-block: 0.3em;
    padding-inline: 0.8em;
    color: var(--ink);
    font-size: var(--font-size-s);
    &:nth-child(2n),
    &:nth-child(3n) {
      width: auto;
    }
  }
}

/* assets/css/elements/video.css */
@layer elements {
  .video {
    display: grid;
    place-items: center;
    aspect-ratio: 16/9;
    width: 100%;
    border-radius: var(--radius);
    background-color: var(--fill);
    &::after {
      content: "";
      width: 0;
      height: 0;
      border-block: 1.25em solid transparent;
      border-inline-start: 2em solid var(--ink);
    }
  }
  .video--real {
    inline-size: 100%;
    border: none;
    &::after {
      content: none;
    }
  }
}

/* assets/css/elements/wordmark.css */
@layer elements {
  .wordmark {
    display: block;
    inline-size: 7em;
    block-size: 1.1em;
    border-radius: var(--radius);
    background-color: var(--ink);
  }
}

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

/* assets/css/components/buttons.css */
@layer components {
  .buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-2xs);
  }
}

/* assets/css/components/card.css */
@layer components {
  .card {
    display: grid;
    align-content: start;
    justify-items: start;
    gap: var(--spacing-xs);
    padding: var(--spacing-s-m);
    border-radius: calc(var(--radius) * 2);
    background-color: var(--surface);
  }
}

/* assets/css/components/dark.css */
@layer components {
  .dark {
    --surface: color-mix(in srgb, var(--color-secondary), transparent 92%);
    --fill: color-mix(in srgb, var(--color-secondary), transparent 85%);
    --line: color-mix(in srgb, var(--color-secondary), transparent 75%);
    --heading: color-mix(in srgb, var(--color-secondary), transparent 60%);
    --ink: color-mix(in srgb, var(--color-secondary), transparent 30%);
    --border: color-mix(in srgb, var(--color-secondary), transparent 60%);
    background-color: var(--color-gray-6);
    color: var(--color-secondary);
  }
}

/* assets/css/components/footer.css */
@layer components {
  .footer {
    margin-block-start: var(--spacing-xl);
    padding-block: var(--spacing-l);
    border-block-start: 1px solid var(--line);
  }
  .footer.dark {
    margin-block-start: 0;
    border-block-start: none;
  }
  .footer__nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-2xs) var(--spacing-s);
  }
  .footer__link {
    font-size: var(--font-size-s);
    color: inherit;
    &:hover,
    &:focus-visible {
      text-decoration: underline;
    }
  }
  .footer__copyright {
    inline-size: 9em;
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .footer__social {
    display: flex;
    gap: var(--spacing-2xs);
  }
  .footer__social-icon {
    inline-size: 1.4em;
    block-size: 1.4em;
  }
  .footer__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-m);
    margin-block-start: var(--spacing-l);
    padding-block-start: var(--spacing-m);
    border-block-start: 1px solid var(--border);
    @media (max-width: 600px) {
      flex-direction: column;
      align-items: flex-start;
    }
  }
  .footer__inner--meta {
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
    .footer__nav {
      margin-inline: auto;
    }
    @media (max-width: 600px) {
      flex-direction: column;
      gap: var(--spacing-s);
      text-align: center;
    }
  }
  .footer__inner--social {
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
    .footer__nav {
      margin-inline: auto;
    }
    @media (max-width: 600px) {
      flex-direction: column;
      gap: var(--spacing-s);
    }
  }
  .footer__inner--columns {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: var(--spacing-grid);
    @media (max-width: 800px) {
      grid-template-columns: 1fr 1fr;
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .footer__column {
    display: grid;
    align-content: start;
    gap: var(--spacing-xs);
  }
  .footer__contact-line {
    max-inline-size: 12em;
  }
  .footer__links .lines__line {
    width: 55%;
    &:nth-child(2n) {
      width: 40%;
    }
    &:nth-child(3n) {
      width: 65%;
    }
  }
  .footer__inner--contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
    align-items: start;
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
      gap: var(--spacing-l);
    }
  }
  .footer__contact-intro {
    display: grid;
    gap: var(--spacing-s);
    max-inline-size: 32ch;
  }
  .footer__contact-details {
    display: grid;
    gap: var(--spacing-2xs);
  }
  .footer__contact-line {
    max-inline-size: 12em;
  }
  .footer__contact-form {
    display: grid;
    gap: var(--spacing-xs);
  }
  .footer__contact-form .input__label {
    display: none;
  }
}

/* assets/css/components/header.css */
@layer components {
  .header {
    padding-block: var(--spacing-s);
    border-block-end: 1px solid var(--line);
  }
  .header__inner {
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
    min-block-size: 2em;
  }
  .header__actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-s);
    margin-inline-start: auto;
  }
  .header__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-3xs) var(--spacing-s);
    margin-inline-start: auto;
  }
  .header__link {
    font-size: var(--font-size-s);
    color: inherit;
    &:hover,
    &:focus-visible {
      text-decoration: underline;
    }
    &[aria-current=page] {
      text-decoration: underline;
      text-underline-offset: 0.3em;
    }
  }
  .header__menu-toggle {
    display: none;
    align-items: center;
    gap: var(--spacing-2xs);
  }
  .header__menu-label {
    font-size: var(--font-size-s);
  }
  .header__burger {
    inline-size: 1.5em;
    block-size: 0.9em;
    background:
      linear-gradient(currentColor, currentColor) top / 100% 2px no-repeat,
      linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
      linear-gradient(currentColor, currentColor) bottom / 100% 2px no-repeat;
  }
  .header--dialog .header__menu-toggle {
    display: inline-flex;
    margin-inline-start: auto;
  }
  .header__nav--anchor {
    gap: var(--spacing-s);
  }
  .header__anchor {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-3xs);
    opacity: 0.5;
  }
  .header__anchor--active {
    opacity: 1;
  }
  .header__num {
    font-size: var(--font-size-s);
    font-family: monospace;
  }
  .header__anchor-label {
    inline-size: 3em;
    block-size: 0.6em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .header__nav-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-3xs);
  }
  .header__chevron {
    inline-size: 0;
    block-size: 0;
    border-inline: 0.3em solid transparent;
    border-block-start: 0.35em solid currentColor;
  }
  .header__dropdown {
    display: none;
    position: absolute;
    inset-block-start: calc(100% + var(--spacing-s));
    inset-inline-start: 0;
    z-index: 2;
    min-inline-size: 12rem;
    flex-direction: column;
    gap: var(--spacing-xs);
    padding: var(--spacing-s);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background-color: var(--color-background);
    box-shadow: 0 1rem 2rem color-mix(in srgb, var(--color-gray-6), transparent 85%);
  }
  .header__dropdown::before {
    content: "";
    position: absolute;
    inset-block-end: 100%;
    inset-inline: 0;
    block-size: var(--spacing-s);
  }
  .header__nav-item--parent:hover .header__dropdown,
  .header__nav-item--parent:focus-within .header__dropdown {
    display: flex;
  }
  .header__dropdown-link {
    font-size: var(--font-size-s);
    color: inherit;
    &:hover,
    &:focus-visible {
      text-decoration: underline;
    }
  }
  @media (max-width: 800px) {
    .header__menu-toggle {
      display: inline-flex;
    }
    .header__nav {
      display: none;
    }
    .header__inner > .header__menu-toggle {
      margin-inline-start: auto;
    }
  }
  .menu-overlay {
    margin: 0;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: 100%;
    max-block-size: 100%;
    padding: 0;
    border: none;
    background-color: var(--color-background);
    color: var(--color-text);
  }
  .menu-overlay::backdrop {
    background-color: color-mix(in srgb, var(--color-gray-6), transparent 20%);
  }
  .menu-overlay__head {
    padding-block: var(--spacing-s);
    border-block-end: 1px solid var(--line);
  }
  .menu-overlay__head-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-block-size: 2em;
  }
  .menu-overlay__close {
    display: grid;
    place-items: center;
    inline-size: 2em;
    block-size: 2em;
  }
  .menu-overlay__close-icon {
    inline-size: 1.1em;
    block-size: 1.1em;
    rotate: 45deg;
    background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
  }
  .menu-overlay__nav {
    padding-block: var(--spacing-l);
  }
  .menu-overlay__list {
    display: grid;
    gap: var(--spacing-s);
  }
  .menu-overlay__link {
    font-size: var(--font-size-2xl);
    color: inherit;
    &:hover,
    &:focus-visible {
      text-decoration: underline;
    }
    &[aria-current=page] {
      text-decoration: underline;
      text-underline-offset: 0.3em;
    }
  }
}

/* assets/css/components/person.css */
@layer components {
  .person {
    display: flex;
    align-items: center;
    gap: var(--spacing-2xs);
  }
  .person__meta {
    display: grid;
    gap: 0.6em;
  }
  .person__name {
    width: 7em;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
  .person__role {
    width: 5em;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .person__name--real {
    width: auto;
    height: auto;
    background-color: transparent;
    color: var(--heading);
    font-weight: 600;
  }
  .person__role--real {
    width: auto;
    height: auto;
    background-color: transparent;
    color: var(--ink);
  }
}

/* assets/css/components/text-wrap.css */
@layer components {
  .text-wrap {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--spacing-xs);
    max-width: 70ch;
  }
}

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

/* assets/css/modules/base-module.css */
@layer modules {
  .module {
    padding-block: var(--spacing-l-xl);
  }
  .module[data-spacing=flush] {
    padding-block: 0;
  }
  .modules[data-labels] .module {
    position: relative;
    outline: 1px dashed var(--border);
    outline-offset: -1px;
  }
  .modules[data-labels] .module::before {
    content: attr(data-module);
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 1;
    padding: 0.25em 0.75em;
    border-end-end-radius: var(--radius);
    background-color: var(--color-gray-6);
    color: var(--color-secondary);
    font-family: monospace;
    font-size: 0.75rem;
  }
  .module__columns {
    align-items: start;
  }
  .module__column {
    grid-column: span 6;
    @media (max-width: 800px) {
      grid-column: span 12;
    }
  }
}

/* assets/css/modules/accordion.css */
@layer modules {
  .accordion-module__items {
    margin-block-start: var(--spacing-s-m);
    border-block-start: 1px solid var(--border);
  }
  .accordion-module__item {
    border-block-end: 1px solid var(--border);
  }
  .accordion-module__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-s);
    padding-block: var(--spacing-s);
    cursor: pointer;
    list-style: none;
    &::-webkit-details-marker {
      display: none;
    }
    &::after {
      content: "+";
      font-size: 1.25rem;
      line-height: 1;
      color: var(--ink);
    }
  }
  .accordion-module__item[open] .accordion-module__summary::after {
    content: "\2212";
  }
  .accordion-module__item:nth-of-type(2n) .accordion-module__question {
    width: min(45%, 16rem);
  }
  .accordion-module__item:nth-of-type(3n) .accordion-module__question {
    width: min(30%, 12rem);
  }
  .accordion-module__body {
    padding-block-end: var(--spacing-s);
  }
}

/* assets/css/modules/article-header.css */
@layer modules {
  .article-header-module__inner {
    display: grid;
    gap: var(--spacing-s-m);
    justify-items: start;
  }
  .article-header-module__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-m);
    @media (max-width: 600px) {
      gap: var(--spacing-s);
    }
  }
  .article-header-module__cover {
    inline-size: 100%;
    margin-block-start: var(--spacing-s);
  }
}

/* assets/css/modules/articles.css */
@layer modules {
  .articles-module__rows {
    display: grid;
    gap: var(--spacing-m);
    margin-block-start: var(--spacing-s-m);
  }
  .articles-module__row {
    display: grid;
    grid-template-columns: 16rem 1fr;
    gap: var(--spacing-s-m);
    align-items: start;
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
      gap: var(--spacing-s);
    }
  }
  .articles-module__row-text {
    display: grid;
    gap: var(--spacing-s);
  }
  .articles-module__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
}

/* assets/css/modules/articles-featured.css */
@layer modules {
  .articles-featured-module__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--spacing-grid);
    align-items: start;
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .articles-featured-module__featured {
    grid-column: span 7;
    @media (max-width: 800px) {
      grid-column: auto;
    }
  }
  .articles-featured-module__list {
    grid-column: span 5;
    display: grid;
    gap: var(--spacing-m);
    @media (max-width: 800px) {
      grid-column: auto;
    }
  }
  .articles-featured-module__item {
    display: grid;
    grid-template-columns: 10rem 1fr;
    gap: var(--spacing-s-m);
    align-items: start;
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
      gap: var(--spacing-s);
    }
  }
  .articles-featured-module__item-text {
    display: grid;
    gap: var(--spacing-s);
  }
}

/* assets/css/modules/authors.css */
@layer modules {
  .authors-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .authors-module__button {
    margin-block-start: var(--spacing-xs);
  }
}

/* assets/css/modules/awards.css */
@layer modules {
  .awards-module__text-wrap {
    justify-items: center;
    margin-inline: auto;
    text-align: center;
  }
  .awards-module__text-wrap .lines {
    justify-items: center;
  }
  .awards-module__strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacing-m);
    margin-block-start: var(--spacing-s-m);
  }
  .awards-module__tile {
    display: grid;
    gap: var(--spacing-xs);
    justify-items: center;
    inline-size: 6.5rem;
    @media (max-width: 600px) {
      inline-size: 5rem;
    }
  }
  .awards-module__tile .icon {
    font-size: 2.5rem;
  }
  .awards-module__tile .lines {
    justify-items: center;
  }
}

/* assets/css/modules/banner.css */
@layer modules {
  .banner-module__band {
    display: flex;
    align-items: center;
    gap: var(--spacing-s);
    padding-block: var(--spacing-2xs);
    padding-inline: var(--spacing-s);
    border-radius: var(--radius);
  }
  .module:not(.dark) .banner-module__band {
    background-color: var(--fill);
  }
  .banner-module__line {
    flex: 1;
    max-width: 24rem;
  }
  .banner-module__line .lines__line {
    width: 100%;
  }
  .banner-module__button {
    font-size: 0.75em;
  }
  .banner-module__close {
    position: relative;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-inline-start: auto;
    &::before,
    &::after {
      content: "";
      position: absolute;
      inset-block-start: 50%;
      inset-inline-start: 0;
      width: 100%;
      height: 0.125rem;
      border-radius: var(--radius);
      background-color: var(--ink);
    }
    &::before {
      transform: translateY(-50%) rotate(45deg);
    }
    &::after {
      transform: translateY(-50%) rotate(-45deg);
    }
  }
  @media (max-width: 600px) {
    .banner-module__band {
      gap: var(--spacing-2xs);
    }
  }
}

/* assets/css/modules/banner-image.css */
@layer modules {
  .banner-image-module__inner {
    display: grid;
    gap: var(--spacing-2xs);
  }
  .banner-image-module__caption {
    max-inline-size: min(40ch, 75%);
  }
  .banner-image-module__caption--center {
    justify-self: center;
    text-align: center;
  }
  .banner-image-module__caption--end {
    justify-self: end;
    text-align: end;
  }
  .banner-image-module[data-spacing=flush] {
    padding-inline: 0;
  }
  .banner-image-module[data-spacing=flush] .banner-image-module__inner {
    max-width: none;
  }
  .banner-image-module[data-spacing=flush] .banner-image-module__image {
    border-radius: 0;
  }
}

/* assets/css/modules/bento.css */
@layer modules {
  .bento-module__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 9rem;
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
  }
  .bento-module__tile {
    grid-column: span 4;
    grid-row: span 1;
  }
  .bento-module__tile[data-span=wide] {
    grid-column: span 8;
  }
  .bento-module__tile[data-span=tall] {
    grid-row: span 2;
  }
  .bento-module__tile[data-span=large] {
    grid-column: span 8;
    grid-row: span 2;
  }
  .bento-module__tile[data-type=image] {
    padding: 0;
    overflow: hidden;
  }
  .bento-module__tile[data-type=image] .image {
    aspect-ratio: auto;
    block-size: 100%;
  }
  @media (max-width: 800px) {
    .bento-module__tile {
      grid-column: span 6;
    }
    .bento-module__tile[data-span=wide],
    .bento-module__tile[data-span=large] {
      grid-column: span 12;
    }
  }
  @media (max-width: 600px) {
    .bento-module__tile {
      grid-column: span 12;
    }
  }
}

/* assets/css/modules/cards.css */
@layer modules {
  .cards-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .cards-module__buttons {
    margin-block-start: var(--spacing-m-l);
  }
}

/* assets/css/modules/cards-filter.css */
@layer modules {
  .cards-filter-module__filters {
    margin-block-start: var(--spacing-s-m);
    .tags__tag:nth-child(1) {
      background-color: var(--ink);
      border-color: var(--ink);
    }
  }
  .cards-filter-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
}

/* assets/css/modules/carousel-cards.css */
@layer modules {
  .carousel-cards-module__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--spacing-s-m);
    margin-block-end: var(--spacing-s-m);
  }
  .carousel-cards-module__arrows {
    display: flex;
    flex-shrink: 0;
    gap: var(--spacing-xs);
  }
  .carousel-cards-module__track {
    --peek: 0.4;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - var(--columns, 3) * var(--spacing-grid)) / (var(--columns, 3) + var(--peek)));
    gap: var(--spacing-grid);
    overflow: hidden;
  }
  .carousel-cards-module__dots {
    margin-block-start: var(--spacing-s-m);
  }
  @media (max-width: 1000px) {
    .carousel-cards-module__track {
      grid-auto-columns: calc((100% - 2 * var(--spacing-grid)) / (2 + var(--peek)));
    }
  }
  @media (max-width: 800px) {
    .carousel-cards-module__track {
      grid-auto-columns: calc((100% - 1 * var(--spacing-grid)) / (1 + var(--peek)));
    }
  }
}

/* assets/css/modules/case-studies.css */
@layer modules {
  .case-studies-module__list {
    display: grid;
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
  }
  .case-studies-module__card {
    justify-items: stretch;
  }
  .case-studies-module__text {
    display: grid;
    gap: var(--spacing-xs);
    justify-items: start;
    align-content: start;
  }
  .case-studies-module__stats {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: start;
    gap: var(--spacing-m);
    margin-block-start: var(--spacing-2xs);
  }
  .case-studies-module__text .button {
    margin-block-start: var(--spacing-2xs);
  }
}

/* assets/css/modules/categories.css */
@layer modules {
  .categories-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 4), 1fr);
    gap: var(--spacing-grid);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .categories-module__tile {
    position: relative;
  }
  .categories-module__label {
    position: absolute;
    inset-block-end: var(--spacing-2xs);
    inset-inline-start: var(--spacing-2xs);
    display: block;
    padding: 0.5em 0.75em;
    border-radius: var(--radius);
    background-color: var(--color-background);
  }
  .categories-module__label-bar {
    display: block;
    width: 3.5em;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
  .categories-module__label-text {
    display: block;
    color: var(--heading);
    font-size: var(--font-size-s);
  }
  .categories-module__tile:nth-child(2n) .categories-module__label-bar {
    width: 4.5em;
  }
  .categories-module__tile:nth-child(3n) .categories-module__label-bar {
    width: 3em;
  }
}

/* assets/css/modules/chart.css */
@layer modules {
  .chart-module__chart {
    margin-block-start: var(--spacing-s-m);
  }
  .chart-module__legend {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-2xs) var(--spacing-m);
    margin-block-start: var(--spacing-s);
  }
  .chart-module__legend-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-3xs);
  }
  .chart-module__legend-bar {
    display: block;
    inline-size: 4em;
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .chart-module__legend-item:nth-child(2n) .chart-module__legend-bar {
    inline-size: 5em;
  }
  .chart-module__legend-item:nth-child(3n) .chart-module__legend-bar {
    inline-size: 3.5em;
  }
}

/* assets/css/modules/checklist.css */
@layer modules {
  .checklist-module__list {
    display: grid;
    grid-template-columns: repeat(var(--columns, 1), 1fr);
    gap: var(--spacing-xs) var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .checklist-module__row {
    display: flex;
    align-items: center;
    gap: var(--spacing-2xs);
  }
  .checklist-module__line {
    flex: 1;
    max-inline-size: 24rem;
  }
}

/* assets/css/modules/code.css */
@layer modules {
  .code-module__block {
    padding: var(--spacing-m);
    border-radius: var(--radius);
  }
  .module:not(.dark) .code-module__block {
    background-color: var(--surface);
  }
  .code-module__lines {
    gap: 0.9em;
  }
  .code-module__lines .lines__line:nth-child(3n+2) {
    margin-inline-start: 1.5em;
  }
  .code-module__lines .lines__line:nth-child(3n) {
    margin-inline-start: 3em;
  }
  .code-module__lines .lines__line:nth-child(4n+1) {
    width: 55%;
  }
  .code-module__lines .lines__line:nth-child(4n+2) {
    width: 70%;
  }
  .code-module__lines .lines__line:nth-child(4n+3) {
    width: 40%;
  }
  .code-module__lines .lines__line:nth-child(4n) {
    width: 60%;
  }
}

/* assets/css/modules/collection.css */
@layer modules {
  .collection-module__head {
    display: flex;
    align-items: center;
    gap: var(--spacing-s);
    margin-block-end: var(--spacing-s-m);
  }
  .collection-module__source {
    flex: 0 0 auto;
    padding: 0.2em 0.7em;
    border: 1px dashed var(--border);
    border-radius: 999px;
    color: var(--ink);
    font-family: monospace;
    font-size: var(--font-size-s);
  }
  .collection-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .collection-module__item {
    display: grid;
    align-content: start;
    gap: var(--spacing-xs);
    padding: var(--spacing-s);
    border: 1px dashed var(--border);
    border-radius: calc(var(--radius) * 2);
  }
}

/* assets/css/modules/columns.css */
@layer modules {
  .columns-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .columns-module__column {
    display: grid;
    gap: var(--spacing-s);
    align-content: start;
  }
}

/* assets/css/modules/contact.css */
@layer modules {
  .contact-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    @media (max-width: 800px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .text-wrap + .contact-module__grid {
    margin-block-start: var(--spacing-s-m);
  }
  .contact-module__column {
    display: grid;
    gap: var(--spacing-2xs);
    justify-items: start;
  }
}

/* assets/css/modules/contact-split.css */
@layer modules {
  .contact-split-module__form {
    display: grid;
    gap: var(--spacing-s);
  }
  .contact-split-module__submit {
    justify-self: start;
  }
  .contact-split-module__info {
    display: grid;
    gap: var(--spacing-s);
  }
  .contact-split-module__map {
    margin-block-end: var(--spacing-xs);
    font-size: 0.7rem;
  }
  @media (max-width: 800px) {
    .contact-split-module .module__column + .module__column {
      margin-block-start: var(--spacing-m);
    }
  }
}

/* assets/css/modules/cta.css */
@layer modules {
  .cta-module__band {
    border-radius: var(--radius);
    text-align: center;
  }
  .cta-module:not(.cta-module--plain) .cta-module__band {
    padding: var(--spacing-m-l);
  }
  .cta-module:not(.dark):not(.cta-module--plain) .cta-module__band {
    background-color: var(--fill);
  }
  .cta-module__text-wrap {
    justify-items: center;
    margin-inline: auto;
  }
}

/* assets/css/modules/cta-split.css */
@layer modules {
  .cta-split-module__band {
    padding: var(--spacing-m-l);
    border-radius: var(--radius);
  }
  .module:not(.dark) .cta-split-module__band {
    background-color: var(--surface);
  }
  .cta-split-module__columns {
    align-items: center;
  }
  @media (min-width: 801px) {
    .cta-split-module__columns[data-position=left] .module__column:first-child {
      order: 2;
    }
  }
}

/* assets/css/modules/definition-list.css */
@layer modules {
  .definition-list-module__heading {
    margin-block-end: var(--spacing-s-m);
  }
  .definition-list-module__rows {
    margin: 0;
  }
  .definition-list-module__row {
    display: grid;
    grid-template-columns: 4fr 8fr;
    gap: var(--spacing-grid);
    align-items: start;
    padding-block: var(--spacing-s);
    &:not(:first-child) {
      border-block-start: 1px solid var(--line);
    }
    &:first-child {
      padding-block-start: 0;
    }
    &:last-child {
      padding-block-end: 0;
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
      gap: var(--spacing-xs);
    }
  }
  .definition-list-module__term {
    margin: 0;
  }
  .definition-list-module__term .heading {
    width: min(60%, 12rem);
  }
  .definition-list-module__description {
    margin: 0;
  }
}

/* assets/css/modules/divider.css */
@layer modules {
  .divider-module {
    padding-block: 0;
    hr {
      margin-block: 0;
    }
  }
}

/* assets/css/modules/downloads.css */
@layer modules {
  .downloads-module__list {
    margin-block-start: var(--spacing-s-m);
    padding: 0;
    list-style: none;
  }
  .downloads-module__item {
    display: flex;
    align-items: center;
    gap: var(--spacing-s);
    padding-block: var(--spacing-xs);
  }
  .downloads-module__item + .downloads-module__item {
    border-block-start: 1px solid var(--border);
  }
  .downloads-module__name {
    flex: 1;
    max-inline-size: 28em;
    margin-inline-end: auto;
  }
  .downloads-module__item:nth-child(2n) .downloads-module__name {
    max-inline-size: 20em;
  }
  .downloads-module__item:nth-child(3n) .downloads-module__name {
    max-inline-size: 12em;
  }
  @media (max-width: 600px) {
    .downloads-module__item {
      flex-wrap: wrap;
    }
    .downloads-module__name {
      flex: 1 1 100%;
    }
  }
}

/* assets/css/modules/event-list.css */
@layer modules {
  .event-list-module__list {
    list-style: none;
    margin-block-start: var(--spacing-s-m);
    padding: 0;
  }
  .event-list-module__row {
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
    padding-block: var(--spacing-s-m);
    border-block-start: 1px solid var(--border);
  }
  .event-list-module__row:last-child {
    border-block-end: 1px solid var(--border);
  }
  .event-list-module__body {
    flex: 1;
    display: grid;
    gap: var(--spacing-xs);
  }
  .event-list-module__button {
    flex: none;
  }
  @media (max-width: 600px) {
    .event-list-module__row {
      flex-wrap: wrap;
    }
    .event-list-module__body {
      flex-basis: 100%;
      order: 1;
    }
  }
}

/* assets/css/modules/faq-columns.css */
@layer modules {
  .faq-columns-module__heading {
    margin-block-end: var(--spacing-s-m);
  }
  .faq-columns-module__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--spacing-grid);
    row-gap: var(--spacing-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .faq-columns-module__item {
    display: grid;
    gap: var(--spacing-xs);
  }
}

/* assets/css/modules/feature-highlight.css */
@layer modules {
  .feature-highlight-module__text {
    display: grid;
    gap: var(--spacing-s);
  }
  .feature-highlight-module__text > .button {
    justify-self: start;
  }
  .feature-highlight-module__checks {
    display: grid;
    gap: var(--spacing-xs);
  }
  .feature-highlight-module__check {
    display: flex;
    align-items: center;
    gap: var(--spacing-2xs);
  }
  .feature-highlight-module__check-line {
    flex: 1;
  }
  .feature-highlight-module--image-right .feature-highlight-module__image {
    order: 2;
  }
  .feature-highlight-module--image-right .feature-highlight-module__text {
    order: 1;
  }
  @media (max-width: 800px) {
    .feature-highlight-module--image-right .feature-highlight-module__image {
      order: initial;
    }
    .feature-highlight-module--image-right .feature-highlight-module__text {
      order: initial;
    }
  }
}

/* assets/css/modules/features.css */
@layer modules {
  .features-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .features-module__cell {
    display: grid;
    gap: var(--spacing-xs);
    align-content: start;
  }
}

/* assets/css/modules/features-alternating.css */
@layer modules {
  .features-alternating-module__section + .features-alternating-module__section {
    margin-block-start: var(--spacing-l);
  }
  .features-alternating-module__section:nth-child(even) .module__column:first-child {
    order: 1;
    @media (max-width: 800px) {
      order: 0;
    }
  }
  .features-alternating-module__text {
    display: grid;
    gap: var(--spacing-xs);
    justify-items: start;
  }
  .features-alternating-module__text .button {
    margin-block-start: var(--spacing-2xs);
  }
}

/* assets/css/modules/features-list.css */
@layer modules {
  .features-list-module__rows {
    display: grid;
    gap: var(--spacing-m);
    margin-block-start: var(--spacing-s-m);
  }
  .features-list-module .module__column .features-list-module__rows {
    margin-block-start: 0;
  }
  .features-list-module__row {
    display: flex;
    gap: var(--spacing-xs);
    align-items: flex-start;
  }
  .features-list-module__content {
    flex: 1;
    display: grid;
    gap: var(--spacing-2xs);
  }
}

/* assets/css/modules/form.css */
@layer modules {
  .form-module {
  }
  .form-module__inner > .text-wrap {
    max-inline-size: 36rem;
  }
  @media (max-width: 800px) {
    .form-module .module__column + .module__column {
      margin-block-start: var(--spacing-m);
    }
  }
  .form-module__form {
    display: grid;
    gap: var(--spacing-s);
  }
  .form-module__form--narrow {
    max-inline-size: 36rem;
    margin-block-start: var(--spacing-m);
  }
  .form-module__submit {
    justify-self: start;
  }
}

/* assets/css/modules/gallery.css */
@layer modules {
  .gallery-module__inner {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--spacing-s);
  }
  .gallery-module__grid {
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(var(--columns, 2), 1fr);
    gap: var(--spacing-grid);
    @media (max-width: 1200px) {
      grid-template-columns: repeat(min(var(--columns, 2), 3), 1fr);
    }
    @media (max-width: 800px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}

/* assets/css/modules/gallery-filter.css */
@layer modules {
  .gallery-filter-module__filters {
    margin-block-start: var(--spacing-s-m);
    .tags__tag:nth-child(1) {
      background-color: var(--ink);
      border-color: var(--ink);
    }
  }
  .gallery-filter-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
}

/* assets/css/modules/hero.css */
@layer modules {
  .hero-module {
    padding-block: var(--spacing-xl-2xl);
  }
  .hero-module .heading--1 {
    width: min(75%, 32rem);
  }
  .hero-module[data-image=top] .hero-module__image {
    margin-block-end: var(--spacing-m-l);
  }
  .hero-module[data-image=below] .hero-module__image {
    margin-block-start: var(--spacing-m-l);
  }
  .hero-module[data-image=side] .hero-module__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-grid);
    align-items: center;
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .hero-module[data-image=side] .heading--1 {
    width: 100%;
  }
}

/* assets/css/modules/hero-background.css */
@layer modules {
  .hero-background-module__band {
    position: relative;
    display: grid;
    align-content: center;
    min-block-size: 24rem;
    padding-block: var(--spacing-xl-2xl);
    text-align: center;
  }
  .module:not(.dark) .hero-background-module__band {
    background-color: var(--fill);
  }
  .hero-background-module__image {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
  .hero-background-module__inner {
    position: relative;
  }
  .hero-background-module__text-wrap {
    justify-items: center;
    max-inline-size: 44rem;
    margin-inline: auto;
  }
  @media (max-width: 600px) {
    .hero-background-module__band {
      min-block-size: 18rem;
    }
  }
}

/* assets/css/modules/hero-centered.css */
@layer modules {
  .hero-centered-module {
    padding-block: var(--spacing-xl-2xl);
    text-align: center;
  }
  .hero-centered-module__text-wrap {
    max-inline-size: 46rem;
    margin-inline: auto;
    justify-items: center;
  }
  .hero-centered-module__logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    row-gap: var(--spacing-s);
    column-gap: var(--spacing-m-l);
    margin-block-start: var(--spacing-l-xl);
  }
  .hero-centered-module__logo {
    inline-size: 6.5em;
    block-size: 2.25em;
  }
  .hero-centered-module__logo:nth-child(2n) {
    inline-size: 5.5em;
  }
}

/* assets/css/modules/hero-form.css */
@layer modules {
  .hero-form-module {
    padding-block: var(--spacing-xl-2xl);
  }
  .hero-form-module__card {
    justify-items: stretch;
    gap: var(--spacing-s);
  }
  .hero-form-module__submit {
    justify-self: start;
  }
  @media (max-width: 800px) {
    .hero-form-module .module__column + .module__column {
      margin-block-start: var(--spacing-m);
    }
  }
}

/* assets/css/modules/hero-split.css */
@layer modules {
  .hero-split-module {
    padding-block: var(--spacing-xl-2xl);
  }
  .hero-split-module .module__columns {
    align-items: center;
  }
}

/* assets/css/modules/hero-stats.css */
@layer modules {
  .hero-stats-module__inner {
    padding-block: var(--spacing-l-xl);
  }
  .hero-stats-module__stats {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-m-l);
    padding-block-start: var(--spacing-m-l);
    border-block-start: 1px solid var(--border);
    @media (max-width: 800px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
}

/* assets/css/modules/hero-video.css */
@layer modules {
  .hero-video-module {
    padding-block: var(--spacing-xl-2xl);
  }
  .hero-video-module__text-wrap {
    justify-items: center;
    text-align: center;
    margin-inline: auto;
  }
  .hero-video-module__text-wrap .lines {
    justify-items: center;
  }
  .hero-video-module .heading--1 {
    width: min(75%, 32rem);
  }
  .hero-video-module__video {
    max-inline-size: 60rem;
    margin-inline: auto;
    margin-block-start: var(--spacing-m-l);
    font-size: clamp(1rem, 2vw, 2rem);
  }
  .hero-video-module__video::after {
    translate: 12% 0;
  }
}

/* assets/css/modules/highlights.css */
@layer modules {
  .highlights-module__rows {
    max-inline-size: 44em;
    margin-block-start: var(--spacing-s-m);
    border-block-start: 1px solid var(--line);
  }
  .highlights-module__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-m);
    padding-block: var(--spacing-s);
    border-block-end: 1px solid var(--line);
    &:nth-child(3n) .highlights-module__label {
      inline-size: 22%;
    }
    &:nth-child(3n+2) .highlights-module__value {
      inline-size: 18%;
    }
    &:nth-child(4n+1) .highlights-module__value {
      inline-size: 32%;
    }
  }
  .highlights-module__label {
    inline-size: 16%;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .highlights-module__value {
    inline-size: 25%;
    height: 0.7em;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
}

/* assets/css/modules/image.css */
@layer modules {
  .image-module__inner {
    display: grid;
    gap: var(--spacing-2xs);
  }
  .image-module__caption {
    max-inline-size: min(30ch, 75%);
  }
  .image-module[data-spacing=flush] {
    padding-inline: 0;
  }
  .image-module[data-spacing=flush] .image-module__inner {
    max-width: none;
  }
  .image-module[data-spacing=flush] .image {
    max-inline-size: none;
    border-radius: 0;
  }
}

/* assets/css/modules/image-overlay.css */
@layer modules {
  .image-overlay-module__frame {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
  }
  .image-overlay-module__image {
    display: block;
  }
  .image-overlay-module__chip {
    position: absolute;
    display: grid;
    gap: var(--spacing-s);
    justify-items: start;
    padding: var(--spacing-m);
    border-radius: var(--radius);
    inline-size: min(80%, 28rem);
  }
  .image-overlay-module__chip--bottom {
    inset-block-end: var(--spacing-m);
    inset-inline-start: var(--spacing-m);
  }
  .image-overlay-module__chip--center {
    inset-block-start: 50%;
    inset-inline-start: 50%;
    translate: -50% -50%;
    justify-items: center;
    text-align: center;
  }
  @media (max-width: 600px) {
    .image-overlay-module__chip {
      padding: var(--spacing-s-m);
      inline-size: min(90%, 28rem);
    }
    .image-overlay-module__chip--bottom {
      inset-block-end: var(--spacing-s);
      inset-inline-start: var(--spacing-s);
    }
  }
}

/* assets/css/modules/job-listings.css */
@layer modules {
  .job-listings-module__list {
    margin-block-start: var(--spacing-s-m);
    list-style: none;
    border-block-start: 1px solid var(--border);
  }
  .job-listings-module__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-m);
    padding-block: var(--spacing-s-m);
    border-block-end: 1px solid var(--border);
  }
  .job-listings-module__info {
    display: grid;
    gap: var(--spacing-s);
  }
  .job-listings-module__button {
    flex-shrink: 0;
  }
  @media (max-width: 600px) {
    .job-listings-module__row {
      flex-wrap: wrap;
      align-items: flex-start;
      gap: var(--spacing-s);
    }
  }
}

/* assets/css/modules/lead.css */
@layer modules {
  .lead-module__lines {
    font-size: var(--font-size-xl);
    max-inline-size: 60rem;
  }
  .lead-module__lines--centered {
    margin-inline: auto;
  }
  .lead-module__lines--centered .lines__line:last-child {
    margin-inline: auto;
  }
}

/* assets/css/modules/links.css */
@layer modules {
  .links-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 2), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .links-module__link {
    display: grid;
    gap: var(--spacing-s);
    padding: var(--spacing-s);
    border: 1px solid var(--border);
    border-radius: calc(var(--radius) * 2);
  }
  .links-module__row {
    display: flex;
    align-items: center;
    gap: var(--spacing-s);
  }
  .links-module__body {
    flex: 1;
    display: grid;
    gap: var(--spacing-2xs);
  }
  .links-module__arrow {
    flex: 0 0 auto;
    inline-size: 2em;
    block-size: 2em;
  }
}

/* assets/css/modules/list.css */
@layer modules {
  .list-module__rows {
    margin-block-start: var(--spacing-s-m);
    border-block-start: 1px solid var(--line);
  }
  .list-module__row {
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
    padding-block: var(--spacing-s);
    border-block-end: 1px solid var(--line);
    @media (max-width: 600px) {
      flex-wrap: wrap;
      gap: var(--spacing-xs) var(--spacing-m);
    }
  }
  .list-module__text {
    flex: 1;
    display: grid;
    gap: var(--spacing-2xs);
    max-inline-size: 28em;
    margin-inline-end: auto;
    @media (max-width: 600px) {
      flex: 1 1 100%;
      max-inline-size: none;
    }
  }
}

/* assets/css/modules/locations.css */
@layer modules {
  .locations-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 2), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .locations-module__map {
    font-size: 0.7rem;
  }
  .locations-module__overview {
    inline-size: 100%;
    block-size: 14rem;
    margin-block-start: var(--spacing-s-m);
  }
}

/* assets/css/modules/logos.css */
@layer modules {
  .logos-module__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    row-gap: var(--spacing-s);
    column-gap: var(--spacing-m-l);
  }
  .logos-module__logo {
    inline-size: 7em;
    block-size: 2.5em;
  }
  .logos-module__logo:nth-child(2n) {
    inline-size: 5.5em;
  }
  .logos-module__logo:nth-child(3n) {
    inline-size: 8em;
  }
}

/* assets/css/modules/map.css */
@layer modules {
  .map-module__map {
    grid-column: span 8;
    @media (max-width: 800px) {
      grid-column: 1 / -1;
    }
  }
  .map-module__contact {
    grid-column: span 4;
    display: grid;
    gap: var(--spacing-xs);
    align-content: start;
    justify-items: start;
    @media (max-width: 800px) {
      grid-column: 1 / -1;
    }
    .button {
      margin-block-start: var(--spacing-2xs);
    }
  }
  .map-module__full {
    aspect-ratio: 3/1;
    font-size: 1.5em;
    @media (max-width: 800px) {
      aspect-ratio: 16/9;
    }
  }
}

/* assets/css/modules/masonry.css */
@layer modules {
  .masonry-module__grid {
    column-count: var(--columns, 3);
    column-gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      column-count: 3;
    }
    @media (max-width: 800px) {
      column-count: 2;
    }
    @media (max-width: 600px) {
      column-count: 1;
    }
  }
  .masonry-module__item {
    break-inside: avoid;
    margin-block-end: var(--spacing-grid);
  }
}

/* assets/css/modules/media.css */
@layer modules {
  .media-module .module__columns {
    align-items: center;
  }
  .media-module--image-left .media-module__text {
    order: 2;
  }
  .media-module--image-left .media-module__image {
    order: 1;
  }
  @media (max-width: 800px) {
    .media-module--image-left .media-module__text {
      order: initial;
    }
    .media-module--image-left .media-module__image {
      order: initial;
    }
  }
}

/* assets/css/modules/menu.css */
@layer modules {
  .menu-module__heading {
    margin-block-end: var(--spacing-s-m);
  }
  .menu-module__categories {
    display: grid;
    grid-template-columns: repeat(var(--columns, 1), 1fr);
    column-gap: var(--spacing-xl);
    row-gap: var(--spacing-l);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .menu-module__category-title {
    margin-block-end: var(--spacing-s);
  }
  .menu-module__list {
    display: grid;
    row-gap: var(--spacing-s);
  }
  .menu-module__dish {
    display: grid;
    gap: var(--spacing-3xs);
  }
  .menu-module__row {
    display: flex;
    align-items: baseline;
    gap: var(--spacing-2xs);
  }
  .menu-module__name {
    flex: 0 1 auto;
    width: min(45%, 12rem);
  }
  .menu-module__name--real {
    width: auto;
    color: var(--heading);
  }
  .menu-module__leader {
    flex: 1;
    min-width: var(--spacing-m);
    align-self: flex-end;
    margin-block-end: 0.35em;
    border-block-end: 2px dotted var(--line);
  }
  .menu-module__price {
    flex: 0 0 auto;
    width: 3em;
    height: 1.25rem;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
  .menu-module__price--real {
    width: auto;
    height: auto;
    border-radius: 0;
    background-color: transparent;
    color: var(--heading);
  }
}

/* assets/css/modules/milestones.css */
@layer modules {
  .milestones-module__track {
    display: grid;
    grid-template-columns: repeat(var(--columns, 4), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-m-l);
    list-style: none;
    padding: 0;
    border-block-start: 1px solid var(--border);
  }
  .milestones-module__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-s);
    padding-block-start: var(--spacing-m);
  }
  .milestones-module__dot {
    margin-block-start: calc(var(--spacing-m) * -1 - 0.75em);
  }
  .milestones-module__year {
    display: block;
    height: 3em;
    width: 4em;
    border-radius: var(--radius);
    background-color: var(--heading);
  }
  @media (max-width: 800px) {
    .milestones-module__track {
      grid-template-columns: 1fr;
      gap: var(--spacing-m-l);
      border-block-start: 0;
      border-inline-start: 1px solid var(--border);
      padding-inline-start: var(--spacing-m-l);
    }
    .milestones-module__item {
      padding-block-start: 0;
      padding-inline-start: var(--spacing-m);
    }
    .milestones-module__dot {
      margin-block-start: 0;
      margin-inline-start: calc(var(--spacing-m-l) * -1 - var(--spacing-m) - 0.75em);
    }
  }
}

/* assets/css/modules/modal.css */
@layer modules {
  .modal-module__scrim {
    display: flex;
    justify-content: center;
    padding: var(--spacing-l);
    border-radius: var(--radius);
    background-color: color-mix(in srgb, var(--color-gray-6), transparent 50%);
  }
  .modal-module__dialog {
    inline-size: 100%;
    max-inline-size: 30rem;
    gap: var(--spacing-s);
    padding: var(--spacing-m);
    justify-items: stretch;
  }
  .modal-module__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--spacing-s);
  }
  .modal-module__close {
    position: relative;
    flex-shrink: 0;
    inline-size: 1.25rem;
    block-size: 1.25rem;
  }
  .modal-module__cross::before,
  .modal-module__cross::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 2px;
    border-radius: var(--radius);
    background-color: var(--ink);
  }
  .modal-module__cross::before {
    transform: translateY(-50%) rotate(45deg);
  }
  .modal-module__cross::after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .modal-module__buttons {
    justify-content: end;
    margin-block-start: var(--spacing-2xs);
  }
  @media (max-width: 600px) {
    .modal-module__scrim {
      padding: var(--spacing-m);
    }
  }
}

/* assets/css/modules/newsletter.css */
@layer modules {
  .newsletter-module__band {
    display: grid;
    gap: var(--spacing-s);
    justify-items: center;
    padding: var(--spacing-m-l);
    border-radius: var(--radius);
    text-align: center;
  }
  .module:not(.dark) .newsletter-module__band {
    background-color: var(--fill);
  }
  .newsletter-module__text-wrap {
    justify-items: center;
  }
  .newsletter-module__text-wrap .lines {
    justify-items: center;
  }
  .newsletter-module__text-wrap .lines__line {
    inline-size: 28rem;
    max-inline-size: 100%;
  }
  .newsletter-module__form {
    display: flex;
    gap: var(--spacing-2xs);
    inline-size: 100%;
    max-inline-size: 28rem;
  }
  .newsletter-module__form--stacked {
    flex-direction: column;
  }
  .newsletter-module__input {
    flex: 1;
  }
  .newsletter-module__input .input__label {
    display: none;
  }
  @media (max-width: 600px) {
    .newsletter-module__form {
      flex-direction: column;
    }
  }
}

/* assets/css/modules/notification.css */
@layer modules {
  .notification-module__inner {
    max-inline-size: 40rem;
  }
  .notification-module__alert {
    display: flex;
    align-items: center;
    gap: var(--spacing-s);
    padding: var(--spacing-s-m);
    border: 1px solid var(--border);
    border-inline-start: 3px solid var(--ink);
    border-radius: var(--radius);
  }
  .notification-module__alert + .notification-module__alert {
    margin-block-start: var(--spacing-s);
  }
  .notification-module__icon {
    flex: none;
  }
  .notification-module__text {
    flex: 1;
  }
  .notification-module__button {
    flex: none;
  }
  .notification-module__close {
    position: relative;
    flex: none;
    inline-size: 1em;
    block-size: 1em;
  }
  .notification-module__close::before,
  .notification-module__close::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 2px;
    background-color: var(--ink);
  }
  .notification-module__close::before {
    transform: translateY(-50%) rotate(45deg);
  }
  .notification-module__close::after {
    transform: translateY(-50%) rotate(-45deg);
  }
}

/* assets/css/modules/opening-hours.css */
@layer modules {
  .opening-hours-module__card {
    max-inline-size: 26rem;
    margin-inline: auto;
    justify-items: center;
    text-align: center;
    gap: var(--spacing-xs);
  }
  .opening-hours-module__icon {
    font-size: 1.5rem;
  }
  .opening-hours-module__rows {
    inline-size: 100%;
    margin-block-start: var(--spacing-3xs);
  }
  .opening-hours-module__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-s);
    padding-block: var(--spacing-3xs);
    border-block-start: 1px solid var(--fill);
    &:last-child {
      border-block-end: 1px solid var(--fill);
    }
  }
  .opening-hours-module__day {
    inline-size: 5rem;
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .opening-hours-module__hours {
    inline-size: 6.5rem;
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .opening-hours-module__day--real,
  .opening-hours-module__hours--real {
    inline-size: auto;
    block-size: auto;
    background-color: transparent;
    color: var(--ink);
  }
  .opening-hours-module__day--real {
    color: var(--heading);
  }
  .opening-hours-module__row--closed .opening-hours-module__day,
  .opening-hours-module__row--closed .opening-hours-module__hours {
    background-color: var(--fill);
  }
  .opening-hours-module__row--closed .opening-hours-module__hours {
    inline-size: 4rem;
  }
  .opening-hours-module__row--closed .opening-hours-module__day--real,
  .opening-hours-module__row--closed .opening-hours-module__hours--real {
    background-color: transparent;
    color: var(--ink);
  }
}

/* assets/css/modules/page-header.css */
@layer modules {
  .page-header-module__inner {
    display: grid;
    gap: var(--spacing-s);
  }
  .page-header-module__lines {
    max-inline-size: 36rem;
  }
  .page-header-module--border .page-header-module__inner {
    border-block-end: 1px solid var(--line);
    padding-block-end: var(--spacing-m);
  }
}

/* assets/css/modules/pagination.css */
@layer modules {
  .pagination-module__pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
  }
  .pagination-module__page {
    display: grid;
    place-items: center;
    width: 2.5em;
    height: 2.5em;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background-color: var(--color-background);
  }
  .pagination-module__page--active {
    border-color: var(--ink);
    background-color: var(--ink);
  }
}

/* assets/css/modules/partners.css */
@layer modules {
  .partners-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
}

/* assets/css/modules/popup.css */
@layer modules {
  .popup-module__scrim {
    position: relative;
    min-block-size: 18rem;
    border-radius: var(--radius);
    background-color: color-mix(in srgb, var(--color-gray-6), transparent 88%);
  }
  .popup-module__dialog {
    position: absolute;
    display: grid;
    gap: var(--spacing-xs);
    padding: var(--spacing-s-m);
    border-radius: calc(var(--radius) * 2);
    background-color: var(--color-background);
    box-shadow: 0 1rem 2rem color-mix(in srgb, var(--color-gray-6), transparent 82%);
  }
  .popup-module__body {
    display: grid;
    gap: var(--spacing-2xs);
  }
  .popup-module__scrim[data-position=corner] .popup-module__dialog {
    inline-size: min(20rem, 80%);
    inset-block-end: var(--spacing-m);
    inset-inline-end: var(--spacing-m);
  }
  .popup-module__scrim[data-position=bar] .popup-module__dialog {
    inset-block-end: var(--spacing-m);
    inset-inline: var(--spacing-m);
    grid-template-columns: 1fr auto;
    align-items: center;
    .popup-module__image {
      display: none;
    }
  }
  .popup-module__close {
    position: absolute;
    inset-block-start: var(--spacing-s);
    inset-inline-end: var(--spacing-s);
    inline-size: 0.9em;
    block-size: 0.9em;
    rotate: 45deg;
    background: linear-gradient(var(--ink), var(--ink)) center / 100% 1.5px no-repeat, linear-gradient(var(--ink), var(--ink)) center / 1.5px 100% no-repeat;
  }
}

/* assets/css/modules/press.css */
@layer modules {
  .press-module__list {
    margin-block-start: var(--spacing-s-m);
    padding: 0;
    list-style: none;
  }
  .press-module__item {
    display: flex;
    align-items: center;
    gap: var(--spacing-s);
    padding-block: var(--spacing-s);
    border-block-start: 1px solid var(--border);
    &:last-child {
      border-block-end: 1px solid var(--border);
    }
  }
  .press-module__line {
    flex: 1;
    max-inline-size: 32rem;
  }
  .press-module__item:nth-child(2n) .press-module__line {
    max-inline-size: 24rem;
  }
  .press-module__date {
    margin-inline-start: auto;
  }
  @media (max-width: 600px) {
    .press-module__item {
      gap: var(--spacing-xs);
    }
  }
}

/* assets/css/modules/pricing.css */
@layer modules {
  .pricing-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    }
  }
  .pricing-module__grid .button {
    min-width: 10em;
  }
  .pricing-module__card--featured {
    position: relative;
    box-shadow: inset 0 0 0 2px var(--ink);
  }
  .pricing-module__badge {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
  }
}

/* assets/css/modules/process-cards.css */
@layer modules {
  .process-cards-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .process-cards-module__number {
    font-size: 1.75rem;
    margin-block-end: var(--spacing-xs);
  }
}

/* assets/css/modules/progress.css */
@layer modules {
  .progress-module__list {
    max-inline-size: 36rem;
    margin-block-start: var(--spacing-s-m);
    display: grid;
    gap: var(--spacing-s);
    list-style: none;
    padding: 0;
  }
  .progress-module__row {
    display: grid;
    gap: var(--spacing-xs);
  }
  .progress-module__label {
    inline-size: var(--label, 50%);
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .progress-module__value {
    inline-size: 2.5rem;
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .progress-module--above .progress-module__value {
    justify-self: end;
  }
  .progress-module--inline .progress-module__row {
    grid-template-columns: 8rem 1fr auto;
    align-items: center;
    gap: var(--spacing-s);
  }
  @media (max-width: 600px) {
    .progress-module--inline .progress-module__row {
      grid-template-columns: 6rem 1fr auto;
      gap: var(--spacing-xs);
    }
    .progress-module--inline .progress-module__label {
      inline-size: 100%;
    }
  }
}

/* assets/css/modules/quote.css */
@layer modules {
  .quote-module__inner {
    display: grid;
    gap: var(--spacing-s-m);
    justify-items: center;
    max-inline-size: 40rem;
    margin-inline: auto;
    text-align: center;
  }
  .quote-module__mark {
    block-size: 0.5em;
  }
  .quote-module__quote {
    margin: 0;
  }
  .quote-module__lines {
    --line: var(--heading);
    inline-size: 100%;
    font-size: var(--font-size-xl);
  }
  .quote-module__lines .lines__line:last-child {
    margin-inline: auto;
  }
  .quote-module__person {
    display: flex;
    align-items: center;
    gap: var(--spacing-2xs);
  }
  .quote-module__meta {
    display: grid;
    gap: 0.6em;
    justify-items: start;
  }
  .quote-module__bar {
    display: block;
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .quote-module__bar--name {
    inline-size: 7em;
    background-color: var(--heading);
  }
  .quote-module__bar--role {
    inline-size: 5em;
  }
}

/* assets/css/modules/reviews.css */
@layer modules {
  .reviews-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 2), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .reviews-module__review {
    align-content: start;
  }
}

/* assets/css/modules/rich-text.css */
@layer modules {
  .rich-text-module__prose {
    display: grid;
    gap: var(--spacing-s);
    max-inline-size: 70ch;
  }
  .rich-text-module__quote {
    padding-inline-start: var(--spacing-s);
    border-inline-start: 3px solid var(--ink);
    font-size: 1.25em;
  }
  .rich-text-module__list {
    display: grid;
    gap: 0.6em;
  }
  .rich-text-module__item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.6em;
  }
  .rich-text-module__bullet {
    inline-size: 0.45em;
    block-size: 0.45em;
    border-radius: 50%;
    background-color: var(--line);
  }
  .rich-text-module__item-line {
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
    inline-size: 90%;
  }
  .rich-text-module__item:nth-child(2) .rich-text-module__item-line {
    inline-size: 70%;
  }
  .rich-text-module__item:nth-child(3) .rich-text-module__item-line {
    inline-size: 80%;
  }
}

/* assets/css/modules/schedule.css */
@layer modules {
  .schedule-module__rows {
    margin-block-start: var(--spacing-s-m);
  }
  .schedule-module__row {
    display: grid;
    grid-template-columns: 2fr 10fr;
    gap: var(--spacing-m);
    padding-block: var(--spacing-s);
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
      gap: var(--spacing-xs);
    }
  }
  .schedule-module__time {
    display: block;
    block-size: 0.7em;
    inline-size: 4rem;
    border-radius: 0.2em;
    background-color: var(--heading);
    margin-block-start: 0.4em;
    @media (max-width: 600px) {
      margin-block-start: 0;
    }
  }
  .schedule-module__time--real {
    block-size: auto;
    inline-size: auto;
    background-color: transparent;
    color: var(--heading);
    font-weight: 600;
  }
  .schedule-module__session {
    display: grid;
    gap: var(--spacing-xs);
    justify-items: start;
    border-inline-start: 2px solid var(--border);
    padding-inline-start: var(--spacing-m);
    @media (max-width: 600px) {
      border-inline-start: 0;
      padding-inline-start: 0;
    }
  }
}

/* assets/css/modules/sidebar-layout.css */
@layer modules {
  .sidebar-layout-module__grid {
    display: grid;
    grid-template-columns: 8fr 4fr;
    gap: var(--spacing-grid);
    align-items: start;
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .sidebar-layout-module__content {
    display: grid;
    gap: var(--spacing-s);
  }
  .sidebar-layout-module__sidebar {
    display: grid;
    gap: var(--spacing-s-m);
  }
  @media (min-width: 801px) {
    .sidebar-layout-module__grid[data-position=left] {
      grid-template-columns: 4fr 8fr;
    }
    .sidebar-layout-module__grid[data-position=left] .sidebar-layout-module__content {
      order: 2;
    }
  }
  .sidebar-layout-module__toc {
    display: grid;
    gap: var(--spacing-xs);
    counter-reset: toc;
  }
  .sidebar-layout-module__toc-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    counter-increment: toc;
    &::before {
      content: counter(toc);
      flex: none;
      color: var(--ink);
      font-size: var(--font-size-s);
    }
  }
  .sidebar-layout-module__toc-item .lines {
    flex: 1;
  }
}

/* assets/css/modules/slider.css */
@layer modules {
  .slider-module__frame {
    position: relative;
  }
  .slider-module__arrow {
    position: absolute;
    inset-block-start: 50%;
    translate: 0 -50%;
  }
  .slider-module__arrow--previous {
    inset-inline-start: var(--spacing-s);
  }
  .slider-module__arrow--next {
    inset-inline-end: var(--spacing-s);
  }
  .slider-module__dots {
    margin-block-start: var(--spacing-s);
  }
}

/* assets/css/modules/social.css */
@layer modules {
  .social-module__inner {
    display: grid;
    gap: var(--spacing-s-m);
  }
  .social-module__icons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-2xs);
    font-size: 1.75em;
  }
  .social-module__link,
  .social-module__item {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2xs);
    color: inherit;
  }
  .social-module__label {
    font-size: var(--font-size-s);
    color: var(--ink);
  }
  .social-module__inner--centered {
    justify-items: center;
    text-align: center;
  }
  .social-module__inner--centered .social-module__text-wrap {
    justify-items: center;
    margin-inline: auto;
  }
  .social-module__inner--centered .social-module__text-wrap .lines {
    justify-items: center;
  }
  .social-module__inner--centered .social-module__icons {
    justify-content: center;
  }
}

/* assets/css/modules/stats.css */
@layer modules {
  .stats-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .stats-module__grid--grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .stats-module__card--emphasis .stat__number {
    block-size: 4rem;
  }
  .stats-module .stat__number {
    inline-size: min(60%, 7em);
    block-size: 3rem;
  }
  .stats-module .stat__caption {
    inline-size: min(80%, 10em);
  }
  .stats-module .card:nth-child(2n) .stat__number {
    inline-size: min(45%, 5.5em);
  }
}

/* assets/css/modules/steps.css */
@layer modules {
  .steps-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 4), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .steps-module__step {
    display: grid;
    justify-items: start;
    gap: var(--spacing-xs);
  }
  .steps-module__number {
    display: block;
    font-size: 2rem;
    margin-block-end: var(--spacing-xs);
  }
  .steps-module__button {
    margin-block-start: var(--spacing-xs);
  }
}

/* assets/css/modules/table.css */
@layer modules {
  .table-module__table {
    margin-block-start: var(--spacing-s-m);
  }
  .table-module__table .table__row {
    @media (max-width: 600px) {
      grid-template-columns: repeat(var(--columns, 4), minmax(7rem, 1fr));
    }
  }
}

/* assets/css/modules/tabs.css */
@layer modules {
  .tabs-module__tabs {
    display: flex;
    gap: var(--spacing-m);
    border-block-end: 1px solid var(--line);
    @media (max-width: 600px) {
      gap: var(--spacing-s);
    }
  }
  .tabs-module__tab {
    padding-block-end: var(--spacing-2xs);
  }
  .tabs-module__tab .heading {
    width: 6rem;
    @media (max-width: 600px) {
      width: 3.5rem;
    }
  }
  .tabs-module__tab--active {
    border-block-end: 2px solid var(--ink);
    margin-block-end: -1px;
  }
  .tabs-module__tab--active .heading {
    background-color: var(--ink);
  }
  .tabs-module__panel {
    margin-block-start: var(--spacing-m);
  }
}

/* assets/css/modules/team.css */
@layer modules {
  .team-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 4), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-m-l);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .team-module__person {
    display: grid;
    gap: var(--spacing-2xs);
    justify-items: start;
  }
  .team-module__person .avatar,
  .team-module__person .image {
    margin-block-end: var(--spacing-xs);
  }
  .team-module__person .lines {
    max-inline-size: min(60%, 9em);
  }
  .team-module__person .team-module__bio {
    max-inline-size: 100%;
    margin-block-start: var(--spacing-2xs);
  }
  .team-module__social {
    display: flex;
    gap: var(--spacing-xs);
    margin-block-start: var(--spacing-2xs);
  }
  .team-module__buttons {
    justify-content: center;
    margin-block-start: var(--spacing-m-l);
  }
}

/* assets/css/modules/testimonial-slider.css */
@layer modules {
  .testimonial-slider-module__inner {
    position: relative;
  }
  .testimonial-slider-module__content {
    display: grid;
    gap: var(--spacing-s-m);
    justify-items: center;
    max-inline-size: 40rem;
    margin-inline: auto;
    text-align: center;
  }
  .testimonial-slider-module__mark {
    margin-block-end: calc(var(--spacing-s-m) * -0.5);
  }
  .testimonial-slider-module__quote {
    margin: 0;
  }
  .testimonial-slider-module__lines {
    --line: var(--heading);
    inline-size: 100%;
    font-size: var(--font-size-xl);
  }
  .testimonial-slider-module__lines .lines__line:last-child {
    margin-inline: auto;
  }
  .testimonial-slider-module__arrow {
    position: absolute;
    inset-block-start: 50%;
    translate: 0 -50%;
    @media (max-width: 600px) {
      display: none;
    }
  }
  .testimonial-slider-module__arrow--previous {
    inset-inline-start: 0;
  }
  .testimonial-slider-module__arrow--next {
    inset-inline-end: 0;
  }
}

/* assets/css/modules/testimonials.css */
@layer modules {
  .testimonials-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .testimonials-module__person--no-avatar .avatar {
    display: none;
  }
  .testimonials-module .card .quote-mark {
    margin-block-end: var(--spacing-2xs);
  }
}

/* assets/css/modules/text.css */
@layer modules {
  .text-module__heading {
    margin-block-end: var(--spacing-s);
  }
}

/* assets/css/modules/text-footnotes.css */
@layer modules {
  .text-footnotes-module__grid {
    display: grid;
    grid-template-columns: 8fr 4fr;
    gap: var(--spacing-grid);
    align-items: start;
    @media (max-width: 800px) {
      grid-template-columns: 1fr;
    }
  }
  .text-footnotes-module__content {
    display: grid;
    gap: var(--spacing-s);
  }
  .text-footnotes-module__footnotes {
    display: grid;
    gap: var(--spacing-s);
    font-size: var(--font-size-s);
    @media (min-width: 801px) {
      position: sticky;
      top: var(--spacing-m);
    }
  }
}

/* assets/css/modules/timeline.css */
@layer modules {
  .timeline-module__steps {
    --node-size: 1.5em;
    margin-block-start: var(--spacing-s-m);
    padding-inline-start: calc(var(--node-size) / 2);
  }
  .timeline-module__step {
    display: flex;
    gap: var(--spacing-s);
    padding-block-end: var(--spacing-m);
    border-inline-start: 1px solid var(--border);
    &:last-child {
      padding-block-end: 0;
      border-inline-start-color: transparent;
    }
  }
  .timeline-module__icon {
    flex-shrink: 0;
    margin-inline-start: calc(var(--node-size) / -2 - 0.5px);
    margin-block-start: calc((1.25rem - var(--node-size)) / 2);
  }
  .timeline-module__content {
    flex: 1;
    display: grid;
    gap: var(--spacing-xs);
    max-inline-size: 70ch;
  }
}

/* assets/css/modules/toc.css */
@layer modules {
  .toc-module__card {
    max-inline-size: 30rem;
    justify-items: stretch;
    gap: var(--spacing-s);
  }
  .toc-module__list {
    display: grid;
    gap: var(--spacing-2xs);
  }
  .toc-module__row {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
  }
  .toc-module__number {
    flex: none;
    inline-size: 1.25em;
    block-size: 1.25em;
    border-radius: var(--radius);
    background-color: var(--fill);
  }
  .toc-module__label {
    inline-size: 60%;
    block-size: 0.7em;
    border-radius: var(--radius);
    background-color: var(--line);
  }
  .toc-module__label--real {
    inline-size: auto;
    block-size: auto;
    background-color: transparent;
    color: var(--ink);
  }
  .toc-module__row:nth-child(3n+1) .toc-module__label:not(.toc-module__label--real) {
    inline-size: 70%;
  }
  .toc-module__row:nth-child(3n+2) .toc-module__label:not(.toc-module__label--real) {
    inline-size: 55%;
  }
  .toc-module__row:nth-child(3n+3) .toc-module__label:not(.toc-module__label--real) {
    inline-size: 62%;
  }
  .toc-module__row:nth-child(3n) {
    margin-inline-start: var(--spacing-m);
  }
}

/* assets/css/modules/video.css */
@layer modules {
  .video-module__inner {
    display: grid;
  }
  .video-module .text-wrap {
    margin-block-end: var(--spacing-xs);
  }
  .video-module .video {
    font-size: clamp(1rem, 2vw, 2rem);
  }
  .video-module .video::after {
    translate: 12% 0;
  }
  .video-module__caption {
    margin-block-start: var(--spacing-2xs);
    max-inline-size: min(30ch, 75%);
  }
}

/* assets/css/modules/video-grid.css */
@layer modules {
  .video-grid-module__grid {
    display: grid;
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    gap: var(--spacing-grid);
    margin-block-start: var(--spacing-s-m);
    @media (max-width: 1000px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }
  .video-grid-module__item {
    display: grid;
    gap: var(--spacing-xs);
  }
}

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

/* 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;
  }
}

/* assets/css/base/print.css */
@media print {
  .header__menu-toggle,
  .menu-overlay {
    display: none !important;
  }
  .module {
    break-inside: avoid;
  }
  .footer {
    break-before: avoid;
  }
}

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