/* Main entry point for the design system */
/* Components will have less priority than utilities */
/* Chips and Tags System */
:root {
  --chip-height-sm: 1.5rem;
  --chip-height-md: 2rem;
  --chip-height-lg: 2.5rem;
  --chip-padding-x: 0.75rem;
  --chip-padding-y: 0.25rem;
  --tag-padding-x: 1rem;
  --tag-padding-y: 0.5rem;
  --chip-indicator-size: 0.5rem;
  --chip-indicator-gap: 0.375rem;
  --chip-gap: 0.25rem;
  --tag-gap: 0.5rem;
}

.ds-chip,
.ds-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  transition: all 0.2s ease;
  cursor: default;
}

.ds-tag {
  border-radius: var(--radius-md);
  gap: var(--tag-gap);
  padding: var(--tag-padding-y) var(--tag-padding-x);
  height: auto;
}
.ds-tag-square {
  border-radius: var(--radius-md);
}
.ds-tag-rounded {
  border-radius: var(--radius-full);
}

.ds-chip {
  border-radius: var(--radius-full);
  gap: var(--chip-gap);
  padding: var(--chip-padding-y) var(--chip-padding-x);
  height: auto;
}

.ds-chip-sm,
.ds-tag-sm {
  height: var(--chip-height-sm);
  font-size: 0.75rem;
}

.ds-chip-lg,
.ds-tag-lg {
  height: var(--chip-height-lg);
  font-size: 1rem;
}

.ds-tag-default {
  background-color: var(--neutral-100);
  color: var(--neutral-800);
}

.ds-tag-primary {
  background-color: var(--primary-300);
  color: var(--primary-900);
}

.ds-tag-secondary {
  background-color: var(--secondary-500);
  color: var(--secondary-900);
}

.ds-tag-purple {
  background-color: var(--primary-500);
  color: var(--neutral-0);
}

.ds-tag-dark {
  background-color: var(--primary-900);
  color: var(--neutral-0);
}

.ds-chip-success {
  background-color: var(--secondary-500);
  color: var(--success-700);
}

.ds-chip-warning {
  background-color: var(--warning-500);
  color: var(--warning-900);
}

.ds-chip-error {
  background-color: var(--error-500);
  color: var(--error-900);
}

.ds-chip-info {
  background-color: var(--primary-300);
  color: var(--primary-900);
}

.ds-chip-interactive {
  cursor: pointer;
}
.ds-chip-interactive:hover {
  filter: brightness(0.95);
}
.ds-chip-interactive:active {
  filter: brightness(0.9);
}

.ds-chip-dismissible {
  padding-right: calc(var(--chip-padding-x) * 0.5);
}

.ds-chip-dismiss-icon {
  margin-left: var(--chip-gap);
  width: 1rem;
  height: 1rem;
  border-radius: var(--radius-full);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.7;
  transition: all 0.2s ease;
}
.ds-chip-dismiss-icon:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.1);
}

.ds-chip-with-indicator,
.ds-tag-with-indicator {
  position: relative;
  padding-left: calc(var(--chip-padding-x) + var(--chip-indicator-size) + var(--chip-gap));
}

.ds-chip-indicator,
.ds-tag-indicator {
  position: absolute;
  left: calc(var(--chip-padding-x) * 0.5);
  width: var(--chip-indicator-size);
  height: var(--chip-indicator-size);
  border-radius: var(--radius-full);
}

.ds-indicator-success {
  background-color: var(--success-700);
}

.ds-indicator-warning {
  background-color: var(--warning-700);
}

.ds-indicator-error {
  background-color: var(--error-700);
}

.ds-indicator-info {
  background-color: var(--secondary-700);
}

.ds-indicator-purple {
  background-color: var(--primary-500);
}

.ds-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ds-chip-toggle {
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
}
.ds-chip-toggle:hover {
  filter: brightness(0.95);
}
.ds-chip-toggle-selected {
  background-color: var(--primary-900);
  color: var(--neutral-0);
}
.ds-chip-toggle-unselected {
  background-color: var(--neutral-100);
  color: var(--neutral-800);
  border-color: var(--neutral-300);
}
.ds-chip-toggle-unselected:hover {
  border-color: var(--neutral-400);
}

/* Banner System */
:root {
  --banner-padding: 0.75rem 1.5rem;
}

.ds-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--banner-padding);
  position: relative;
  width: 100%;
  color: var(--neutral-0);
  font-size: 0.875rem;
  font-weight: 500;
}
.ds-banner-close {
  position: absolute;
  right: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}
.ds-banner-close:hover {
  opacity: 1;
}

.ds-banner-primary {
  background-color: var(--primary-600);
  color: var(--neutral-0);
}

.ds-banner-dark {
  background-color: var(--primary-900);
  color: var(--neutral-0);
}

.ds-banner-purple {
  background-color: var(--primary-500);
  color: var(--neutral-0);
}

.ds-banner-teal {
  background-color: var(--secondary-800);
  color: var(--neutral-0);
}

.ds-banner-success-dark {
  background-color: var(--secondary-700);
  color: var(--neutral-0);
}

.ds-banner-success-light {
  background-color: var(--secondary-500);
  color: var(--secondary-900);
}

.ds-banner-warning {
  background-color: var(--warning-500);
  color: var(--warning-900);
}

.ds-banner-error {
  background-color: var(--error-500);
  color: var(--error-900);
}

.ds-banner-with-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.ds-banner-with-icon .ds-banner-icon {
  margin-right: 0.5rem;
}

.ds-banner-top {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
}

.ds-banner-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
}

/*
 * Button System
 *
 * Categories:
 * 1. Bordered Buttons
 * 2. Borderless Buttons
 *
 * States:
 * - Normal
 * - Hover
 * - Focus
 * - Disabled
 */
.ds-p-xxs-fixed {
  padding: 0.125rem;
}

.ds-p-xs-fixed {
  padding: 0.25rem;
}

.ds-p-sm-fixed {
  padding: 0.5rem;
}

.ds-p-md-fixed {
  padding: 0.75rem;
}

.ds-p-lg-fixed {
  padding: 1rem;
}

.ds-p-xl-fixed {
  padding: 1.5rem;
}

.ds-p-2xl-fixed {
  padding: 2rem;
}

.ds-p-3xl-fixed {
  padding: 2.5rem;
}

.ds-p-4xl-fixed {
  padding: 3rem;
}

.ds-p-5xl-fixed {
  padding: 3.75rem;
}

.ds-p-6xl-fixed {
  padding: 4.5rem;
}

.ds-p-7xl-fixed {
  padding: 5rem;
}

.ds-p-120-fixed {
  padding: 7.5rem;
}

.ds-p-160-fixed {
  padding: 10rem;
}

.ds-p-240-fixed {
  padding: 15rem;
}

.ds-p-320-fixed {
  padding: 20rem;
}

.ds-pt-xxs-fixed {
  padding-top: 0.125rem;
}

.ds-pr-xxs-fixed {
  padding-right: 0.125rem;
}

.ds-pb-xxs-fixed {
  padding-bottom: 0.125rem;
}

.ds-pl-xxs-fixed {
  padding-left: 0.125rem;
}

.ds-pt-xs-fixed {
  padding-top: 0.25rem;
}

.ds-pr-xs-fixed {
  padding-right: 0.25rem;
}

.ds-pb-xs-fixed {
  padding-bottom: 0.25rem;
}

.ds-pl-xs-fixed {
  padding-left: 0.25rem;
}

.ds-pt-sm-fixed {
  padding-top: 0.5rem;
}

.ds-pr-sm-fixed {
  padding-right: 0.5rem;
}

.ds-pb-sm-fixed {
  padding-bottom: 0.5rem;
}

.ds-pl-sm-fixed {
  padding-left: 0.5rem;
}

.ds-pt-md-fixed {
  padding-top: 0.75rem;
}

.ds-pr-md-fixed {
  padding-right: 0.75rem;
}

.ds-pb-md-fixed {
  padding-bottom: 0.75rem;
}

.ds-pl-md-fixed {
  padding-left: 0.75rem;
}

.ds-pt-lg-fixed {
  padding-top: 1rem;
}

.ds-pr-lg-fixed {
  padding-right: 1rem;
}

.ds-pb-lg-fixed {
  padding-bottom: 1rem;
}

.ds-pl-lg-fixed {
  padding-left: 1rem;
}

.ds-pt-xl-fixed {
  padding-top: 1.5rem;
}

.ds-pr-xl-fixed {
  padding-right: 1.5rem;
}

.ds-pb-xl-fixed {
  padding-bottom: 1.5rem;
}

.ds-pl-xl-fixed {
  padding-left: 1.5rem;
}

.ds-pt-2xl-fixed {
  padding-top: 2rem;
}

.ds-pr-2xl-fixed {
  padding-right: 2rem;
}

.ds-pb-2xl-fixed {
  padding-bottom: 2rem;
}

.ds-pl-2xl-fixed {
  padding-left: 2rem;
}

.ds-pt-3xl-fixed {
  padding-top: 2.5rem;
}

.ds-pr-3xl-fixed {
  padding-right: 2.5rem;
}

.ds-pb-3xl-fixed {
  padding-bottom: 2.5rem;
}

.ds-pl-3xl-fixed {
  padding-left: 2.5rem;
}

.ds-pt-4xl-fixed {
  padding-top: 3rem;
}

.ds-pr-4xl-fixed {
  padding-right: 3rem;
}

.ds-pb-4xl-fixed {
  padding-bottom: 3rem;
}

.ds-pl-4xl-fixed {
  padding-left: 3rem;
}

.ds-pt-5xl-fixed {
  padding-top: 3.75rem;
}

.ds-pr-5xl-fixed {
  padding-right: 3.75rem;
}

.ds-pb-5xl-fixed {
  padding-bottom: 3.75rem;
}

.ds-pl-5xl-fixed {
  padding-left: 3.75rem;
}

.ds-pt-6xl-fixed {
  padding-top: 4.5rem;
}

.ds-pr-6xl-fixed {
  padding-right: 4.5rem;
}

.ds-pb-6xl-fixed {
  padding-bottom: 4.5rem;
}

.ds-pl-6xl-fixed {
  padding-left: 4.5rem;
}

.ds-pt-7xl-fixed {
  padding-top: 5rem;
}

.ds-pr-7xl-fixed {
  padding-right: 5rem;
}

.ds-pb-7xl-fixed {
  padding-bottom: 5rem;
}

.ds-pl-7xl-fixed {
  padding-left: 5rem;
}

.ds-pt-120-fixed {
  padding-top: 7.5rem;
}

.ds-pr-120-fixed {
  padding-right: 7.5rem;
}

.ds-pb-120-fixed {
  padding-bottom: 7.5rem;
}

.ds-pl-120-fixed {
  padding-left: 7.5rem;
}

.ds-pt-160-fixed {
  padding-top: 10rem;
}

.ds-pr-160-fixed {
  padding-right: 10rem;
}

.ds-pb-160-fixed {
  padding-bottom: 10rem;
}

.ds-pl-160-fixed {
  padding-left: 10rem;
}

.ds-pt-240-fixed {
  padding-top: 15rem;
}

.ds-pr-240-fixed {
  padding-right: 15rem;
}

.ds-pb-240-fixed {
  padding-bottom: 15rem;
}

.ds-pl-240-fixed {
  padding-left: 15rem;
}

.ds-pt-320-fixed {
  padding-top: 20rem;
}

.ds-pr-320-fixed {
  padding-right: 20rem;
}

.ds-pb-320-fixed {
  padding-bottom: 20rem;
}

.ds-pl-320-fixed {
  padding-left: 20rem;
}

.ds-px-xxs-fixed {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.ds-py-xxs-fixed {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.ds-px-xs-fixed {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.ds-py-xs-fixed {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.ds-px-sm-fixed {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.ds-py-sm-fixed {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.ds-px-md-fixed {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.ds-py-md-fixed {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.ds-px-lg-fixed {
  padding-left: 1rem;
  padding-right: 1rem;
}

.ds-py-lg-fixed {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.ds-px-xl-fixed {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.ds-py-xl-fixed {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.ds-px-2xl-fixed {
  padding-left: 2rem;
  padding-right: 2rem;
}

.ds-py-2xl-fixed {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.ds-px-3xl-fixed {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.ds-py-3xl-fixed {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.ds-px-4xl-fixed {
  padding-left: 3rem;
  padding-right: 3rem;
}

.ds-py-4xl-fixed {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.ds-px-5xl-fixed {
  padding-left: 3.75rem;
  padding-right: 3.75rem;
}

.ds-py-5xl-fixed {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.ds-px-6xl-fixed {
  padding-left: 4.5rem;
  padding-right: 4.5rem;
}

.ds-py-6xl-fixed {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}

.ds-px-7xl-fixed {
  padding-left: 5rem;
  padding-right: 5rem;
}

.ds-py-7xl-fixed {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.ds-px-120-fixed {
  padding-left: 7.5rem;
  padding-right: 7.5rem;
}

.ds-py-120-fixed {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}

.ds-px-160-fixed {
  padding-left: 10rem;
  padding-right: 10rem;
}

.ds-py-160-fixed {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.ds-px-240-fixed {
  padding-left: 15rem;
  padding-right: 15rem;
}

.ds-py-240-fixed {
  padding-top: 15rem;
  padding-bottom: 15rem;
}

.ds-px-320-fixed {
  padding-left: 20rem;
  padding-right: 20rem;
}

.ds-py-320-fixed {
  padding-top: 20rem;
  padding-bottom: 20rem;
}

.ds-m-xxs-fixed {
  margin: 0.125rem;
}

.ds-m-xs-fixed {
  margin: 0.25rem;
}

.ds-m-sm-fixed {
  margin: 0.5rem;
}

.ds-m-md-fixed {
  margin: 0.75rem;
}

.ds-m-lg-fixed {
  margin: 1rem;
}

.ds-m-xl-fixed {
  margin: 1.5rem;
}

.ds-m-2xl-fixed {
  margin: 2rem;
}

.ds-m-3xl-fixed {
  margin: 2.5rem;
}

.ds-m-4xl-fixed {
  margin: 3rem;
}

.ds-m-5xl-fixed {
  margin: 3.75rem;
}

.ds-m-6xl-fixed {
  margin: 4.5rem;
}

.ds-m-7xl-fixed {
  margin: 5rem;
}

.ds-m-120-fixed {
  margin: 7.5rem;
}

.ds-m-160-fixed {
  margin: 10rem;
}

.ds-m-240-fixed {
  margin: 15rem;
}

.ds-m-320-fixed {
  margin: 20rem;
}

.ds-mt-xxs-fixed {
  margin-top: 0.125rem;
}

.ds-mr-xxs-fixed {
  margin-right: 0.125rem;
}

.ds-mb-xxs-fixed {
  margin-bottom: 0.125rem;
}

.ds-ml-xxs-fixed {
  margin-left: 0.125rem;
}

.ds-mt-xs-fixed {
  margin-top: 0.25rem;
}

.ds-mr-xs-fixed {
  margin-right: 0.25rem;
}

.ds-mb-xs-fixed {
  margin-bottom: 0.25rem;
}

.ds-ml-xs-fixed {
  margin-left: 0.25rem;
}

.ds-mt-sm-fixed {
  margin-top: 0.5rem;
}

.ds-mr-sm-fixed {
  margin-right: 0.5rem;
}

.ds-mb-sm-fixed {
  margin-bottom: 0.5rem;
}

.ds-ml-sm-fixed {
  margin-left: 0.5rem;
}

.ds-mt-md-fixed {
  margin-top: 0.75rem;
}

.ds-mr-md-fixed {
  margin-right: 0.75rem;
}

.ds-mb-md-fixed {
  margin-bottom: 0.75rem;
}

.ds-ml-md-fixed {
  margin-left: 0.75rem;
}

.ds-mt-lg-fixed {
  margin-top: 1rem;
}

.ds-mr-lg-fixed {
  margin-right: 1rem;
}

.ds-mb-lg-fixed {
  margin-bottom: 1rem;
}

.ds-ml-lg-fixed {
  margin-left: 1rem;
}

.ds-mt-xl-fixed {
  margin-top: 1.5rem;
}

.ds-mr-xl-fixed {
  margin-right: 1.5rem;
}

.ds-mb-xl-fixed {
  margin-bottom: 1.5rem;
}

.ds-ml-xl-fixed {
  margin-left: 1.5rem;
}

.ds-mt-2xl-fixed {
  margin-top: 2rem;
}

.ds-mr-2xl-fixed {
  margin-right: 2rem;
}

.ds-mb-2xl-fixed {
  margin-bottom: 2rem;
}

.ds-ml-2xl-fixed {
  margin-left: 2rem;
}

.ds-mt-3xl-fixed {
  margin-top: 2.5rem;
}

.ds-mr-3xl-fixed {
  margin-right: 2.5rem;
}

.ds-mb-3xl-fixed {
  margin-bottom: 2.5rem;
}

.ds-ml-3xl-fixed {
  margin-left: 2.5rem;
}

.ds-mt-4xl-fixed {
  margin-top: 3rem;
}

.ds-mr-4xl-fixed {
  margin-right: 3rem;
}

.ds-mb-4xl-fixed {
  margin-bottom: 3rem;
}

.ds-ml-4xl-fixed {
  margin-left: 3rem;
}

.ds-mt-5xl-fixed {
  margin-top: 3.75rem;
}

.ds-mr-5xl-fixed {
  margin-right: 3.75rem;
}

.ds-mb-5xl-fixed {
  margin-bottom: 3.75rem;
}

.ds-ml-5xl-fixed {
  margin-left: 3.75rem;
}

.ds-mt-6xl-fixed {
  margin-top: 4.5rem;
}

.ds-mr-6xl-fixed {
  margin-right: 4.5rem;
}

.ds-mb-6xl-fixed {
  margin-bottom: 4.5rem;
}

.ds-ml-6xl-fixed {
  margin-left: 4.5rem;
}

.ds-mt-7xl-fixed {
  margin-top: 5rem;
}

.ds-mr-7xl-fixed {
  margin-right: 5rem;
}

.ds-mb-7xl-fixed {
  margin-bottom: 5rem;
}

.ds-ml-7xl-fixed {
  margin-left: 5rem;
}

.ds-mt-120-fixed {
  margin-top: 7.5rem;
}

.ds-mr-120-fixed {
  margin-right: 7.5rem;
}

.ds-mb-120-fixed {
  margin-bottom: 7.5rem;
}

.ds-ml-120-fixed {
  margin-left: 7.5rem;
}

.ds-mt-160-fixed {
  margin-top: 10rem;
}

.ds-mr-160-fixed {
  margin-right: 10rem;
}

.ds-mb-160-fixed {
  margin-bottom: 10rem;
}

.ds-ml-160-fixed {
  margin-left: 10rem;
}

.ds-mt-240-fixed {
  margin-top: 15rem;
}

.ds-mr-240-fixed {
  margin-right: 15rem;
}

.ds-mb-240-fixed {
  margin-bottom: 15rem;
}

.ds-ml-240-fixed {
  margin-left: 15rem;
}

.ds-mt-320-fixed {
  margin-top: 20rem;
}

.ds-mr-320-fixed {
  margin-right: 20rem;
}

.ds-mb-320-fixed {
  margin-bottom: 20rem;
}

.ds-ml-320-fixed {
  margin-left: 20rem;
}

.ds-mx-xxs-fixed {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

.ds-my-xxs-fixed {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.ds-mx-xs-fixed {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.ds-my-xs-fixed {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.ds-mx-sm-fixed {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.ds-my-sm-fixed {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.ds-mx-md-fixed {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.ds-my-md-fixed {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.ds-mx-lg-fixed {
  margin-left: 1rem;
  margin-right: 1rem;
}

.ds-my-lg-fixed {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.ds-mx-xl-fixed {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.ds-my-xl-fixed {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.ds-mx-2xl-fixed {
  margin-left: 2rem;
  margin-right: 2rem;
}

.ds-my-2xl-fixed {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.ds-mx-3xl-fixed {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

.ds-my-3xl-fixed {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.ds-mx-4xl-fixed {
  margin-left: 3rem;
  margin-right: 3rem;
}

.ds-my-4xl-fixed {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.ds-mx-5xl-fixed {
  margin-left: 3.75rem;
  margin-right: 3.75rem;
}

.ds-my-5xl-fixed {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
}

.ds-mx-6xl-fixed {
  margin-left: 4.5rem;
  margin-right: 4.5rem;
}

.ds-my-6xl-fixed {
  margin-top: 4.5rem;
  margin-bottom: 4.5rem;
}

.ds-mx-7xl-fixed {
  margin-left: 5rem;
  margin-right: 5rem;
}

.ds-my-7xl-fixed {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.ds-mx-120-fixed {
  margin-left: 7.5rem;
  margin-right: 7.5rem;
}

.ds-my-120-fixed {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
}

.ds-mx-160-fixed {
  margin-left: 10rem;
  margin-right: 10rem;
}

.ds-my-160-fixed {
  margin-top: 10rem;
  margin-bottom: 10rem;
}

.ds-mx-240-fixed {
  margin-left: 15rem;
  margin-right: 15rem;
}

.ds-my-240-fixed {
  margin-top: 15rem;
  margin-bottom: 15rem;
}

.ds-mx-320-fixed {
  margin-left: 20rem;
  margin-right: 20rem;
}

.ds-my-320-fixed {
  margin-top: 20rem;
  margin-bottom: 20rem;
}

.ds-gap-xxs-fixed {
  gap: 0.125rem;
}

.ds-gap-xs-fixed {
  gap: 0.25rem;
}

.ds-gap-sm-fixed {
  gap: 0.5rem;
}

.ds-gap-md-fixed {
  gap: 0.75rem;
}

.ds-gap-lg-fixed {
  gap: 1rem;
}

.ds-gap-xl-fixed {
  gap: 1.5rem;
}

.ds-gap-2xl-fixed {
  gap: 2rem;
}

.ds-gap-3xl-fixed {
  gap: 2.5rem;
}

.ds-gap-4xl-fixed {
  gap: 3rem;
}

.ds-gap-5xl-fixed {
  gap: 3.75rem;
}

.ds-gap-6xl-fixed {
  gap: 4.5rem;
}

.ds-gap-7xl-fixed {
  gap: 5rem;
}

.ds-gap-120-fixed {
  gap: 7.5rem;
}

.ds-gap-160-fixed {
  gap: 10rem;
}

.ds-gap-240-fixed {
  gap: 15rem;
}

.ds-gap-320-fixed {
  gap: 20rem;
}

:root {
  --btn-padding-default: 1rem 2rem;
  --btn-padding-sm: 0.75rem 1.5rem;
  --btn-padding-lg: 0.625rem 1.5rem;
  --btn-font-size-default: 1.125rem;
  --btn-font-size-sm: 0.875rem;
  --btn-font-size-lg: 1.125rem;
  --btn-icon-margin-default: 1rem;
  --btn-icon-margin-sm: 0.75rem;
  --btn-icon-size: 1.25rem;
}

.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border-radius: 9999px;
  transition: all 0.2s ease-in-out;
  line-height: 1.5;
  padding: var(--btn-padding-default);
  font-size: var(--btn-font-size-default);
  text-wrap: wrap;
  position: relative;
  overflow: visible;
  width: fit-content;
}
@media (max-width: 768px) {
  .ds-btn {
    width: 100%;
  }
}
.ds-btn:focus-visible {
  outline: none;
}

.ds-btn-fixed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border-radius: 9999px;
  transition: all 0.2s ease-in-out;
  line-height: 1.5;
  padding: var(--btn-padding-default);
  font-size: var(--btn-font-size-default);
  text-wrap: wrap;
  position: relative;
  overflow: visible;
  width: fit-content;
}
.ds-btn-fixed:focus-visible {
  outline: none;
}

.ds-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: var(--btn-icon-margin-default);
  width: var(--btn-icon-size);
  height: var(--btn-icon-size);
}
.ds-btn-sm .ds-btn-icon {
  margin-left: var(--btn-icon-margin-sm);
}

.ds-btn-primary {
  background-color: var(--primary-950);
  color: var(--neutral-0);
  border: none;
}
.ds-btn-primary:hover {
  background-color: var(--primary-600);
}
.ds-btn-primary:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-primary:disabled {
  cursor: not-allowed;
  pointer-events: none;
  background-color: var(--neutral-200);
  color: var(--neutral-500);
}

.ds-btn-light {
  background-color: var(--neutral-0);
  color: var(--primary-900);
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.ds-btn-light:hover {
  background-color: var(--primary-300);
  color: var(--primary-900);
}
.ds-btn-light:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-light:disabled {
  cursor: not-allowed;
  pointer-events: none;
  background-color: var(--neutral-200);
  color: var(--neutral-500);
}

.ds-btn-ghost {
  background-color: var(--primary-200);
  color: var(--primary-700);
  border: none;
}
.ds-btn-ghost:hover {
  color: var(--primary-500);
}
.ds-btn-ghost:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-ghost:disabled {
  cursor: not-allowed;
  pointer-events: none;
  background-color: var(--neutral-200);
  color: var(--neutral-500);
}

.ds-btn-ghost-underline {
  background-color: var(--transparent);
  color: var(--primary-700);
  border: none;
  position: relative;
}
.ds-btn-ghost-underline:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-ghost-underline:disabled {
  cursor: not-allowed;
  pointer-events: none;
}
.ds-btn-ghost-underline:hover {
  color: var(--primary-800);
}
.ds-btn-ghost-underline:disabled {
  border-color: var(--neutral-500);
}

.ds-btn-outline {
  background-color: var(--transparent);
  color: var(--primary-950);
  border: 1px solid var(--primary-950);
}
.ds-btn-outline:hover {
  color: var(--primary-700);
  border-color: var(--primary-700);
}
.ds-btn-outline:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-outline:disabled {
  cursor: not-allowed;
  pointer-events: none;
  color: var(--neutral-200);
  border-color: var(--neutral-200);
}

.ds-btn-dark-outline {
  background-color: var(--transparent);
  color: var(--neutral-0);
  border: 1px solid var(--neutral-0);
}
.ds-btn-dark-outline:hover {
  color: var(--neutral-0);
  border-color: var(--neutral-0);
}
.ds-btn-dark-outline:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-dark-outline:disabled {
  cursor: not-allowed;
  pointer-events: none;
  color: var(--neutral-700);
  border-color: var(--neutral-700);
}
.ds-btn-dark-outline:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.ds-btn-dark-outline:focus-visible {
  outline-color: var(--primary-300);
}

.ds-btn-dark-outline-v2 {
  background-color: var(--transparent);
  color: var(--neutral-0);
  border: 1px solid var(--neutral-0);
}
.ds-btn-dark-outline-v2:hover {
  color: var(--primary-400);
  border-color: var(--primary-400);
}
.ds-btn-dark-outline-v2:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-dark-outline-v2:disabled {
  cursor: not-allowed;
  pointer-events: none;
  color: var(--neutral-700);
  border-color: var(--neutral-700);
}
.ds-btn-dark-outline-v2:focus-visible {
  outline-color: var(--primary-300);
}

.ds-btn-ghost {
  background-color: var(--primary-200);
  color: var(--primary-700);
  border: none;
}
.ds-btn-ghost:hover {
  color: var(--primary-500);
}
.ds-btn-ghost:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-ghost:disabled {
  cursor: not-allowed;
  pointer-events: none;
  color: var(--neutral-500);
}

.ds-btn-dark-ghost {
  background-color: var(--transparent);
  color: var(--neutral-0);
  border: none;
  background-color: rgba(255, 255, 255, 0.1);
}
.ds-btn-dark-ghost:hover {
  color: var(--primary-300);
}
.ds-btn-dark-ghost:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-dark-ghost:disabled {
  cursor: not-allowed;
  pointer-events: none;
  color: var(--neutral-700);
}
.ds-btn-dark-ghost:focus-visible {
  outline-color: var(--primary-300);
}

.ds-btn-ghost-underline {
  background-color: var(--transparent);
  color: var(--primary-700);
  border: none;
}
.ds-btn-ghost-underline:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-ghost-underline:disabled {
  cursor: not-allowed;
  pointer-events: none;
  color: var(--neutral-500);
}

.ds-btn-dark-ghost-underline {
  background-color: var(--transparent);
  color: var(--neutral-0);
  border: none;
}
.ds-btn-dark-ghost-underline:hover {
  color: var(--primary-300);
}
.ds-btn-dark-ghost-underline:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-dark-ghost-underline:disabled {
  cursor: not-allowed;
  pointer-events: none;
  color: var(--neutral-700);
}
.ds-btn-dark-ghost-underline:focus-visible {
  outline-color: var(--primary-300);
}

.ds-btn-underline {
  background-color: var(--transparent);
  color: var(--primary-600);
  border: none;
  border-radius: 0;
  padding: 0.5rem 0;
  position: relative;
  border-bottom: 2px solid currentColor;
}
.ds-btn-underline:hover {
  color: var(--primary-950);
}
.ds-btn-underline:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-underline:disabled {
  cursor: not-allowed;
  pointer-events: none;
}
.ds-btn-underline:hover {
  border-color: var(--primary-950);
}
.ds-btn-underline:disabled {
  color: var(--neutral-500);
  border-color: var(--neutral-200);
}

.ds-btn-dark-underline {
  background-color: var(--transparent);
  color: var(--neutral-0);
  border: none;
  border-radius: 0;
  padding: 0.5rem 0;
  position: relative;
  border-bottom: 2px solid currentColor;
}
.ds-btn-dark-underline:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-dark-underline:disabled {
  cursor: not-allowed;
  pointer-events: none;
}
.ds-btn-dark-underline:hover {
  color: var(--primary-300);
}
.ds-btn-dark-underline:hover::after {
  background-color: var(--primary-300);
}
.ds-btn-dark-underline:focus-visible {
  outline-color: var(--primary-300);
}
.ds-btn-dark-underline:disabled {
  color: var(--neutral-700);
  border-color: var(--neutral-700);
}

.ds-btn-icon-only {
  padding: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
}
.ds-btn-icon-only:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.ds-btn-icon-only:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}
.ds-btn-icon-only.ds-btn-primary {
  background-color: var(--primary-950);
  color: var(--neutral-0);
}
.ds-btn-icon-only.ds-btn-primary:hover {
  background-color: var(--primary-600);
}

.ds-btn-dotted {
  border: 2px dashed var(--neutral-300);
  background-color: transparent;
  color: var(--neutral-700);
}
.ds-btn-dotted:hover {
  border-color: var(--neutral-400);
  color: var(--neutral-900);
}
.ds-btn-dotted:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}

.ds-btn-circle {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ds-btn-circle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.ds-btn-circle:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}

.ds-btn-text {
  padding: 0;
  background-color: transparent;
  color: var(--neutral-700);
}
.ds-btn-text:hover {
  color: var(--neutral-900);
}
.ds-btn-text:focus-visible {
  outline: 3px solid var(--primary-500);
  outline-offset: 2px;
}

.ds-btn-transparent {
  background-color: transparent;
}
.ds-btn-transparent:hover {
  background-color: transparent;
}
.ds-btn-transparent:focus-visible {
  outline: none;
}
.ds-btn-transparent:disabled {
  color: var(--neutral-500);
}
.ds-btn-transparent.ds-btn-text {
  color: var(--neutral-700);
}
.ds-btn-transparent.ds-btn-underline::after {
  background-color: var(--neutral-300);
}

.ds-btn-sm {
  padding: var(--btn-padding-sm);
  font-size: var(--btn-font-size-sm);
}

.ds-btn-lg {
  padding: var(--btn-padding-lg);
  font-size: var(--btn-font-size-lg);
}

/*
 * Button System
 *
 * Categories:
 * 1. Bordered Buttons
 * 2. Borderless Buttons
 *
 * States:
 * - Normal
 * - Hover
 * - Focus
 * - Disabled
 */
@font-face {
  font-family: "Satoshi";
  src: url("https://static.pocketpills.com/website-v2/fonts/Satoshi-Variable.eot");
  src: url("https://static.pocketpills.com/website-v2/fonts/Satoshi-Variable.eot?#iefix") format("embedded-opentype"), url("https://static.pocketpills.com/website-v2/fonts/Satoshi-Variable.woff2") format("woff2"), url("https://static.pocketpills.com/website-v2/fonts/Satoshi-Variable.woff") format("woff"), url("https://static.pocketpills.com/website-v2/fonts/Satoshi-Variable.ttf") format("truetype");
  font-weight: 400 300 500 700 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Satoshi";
  src: url("https://static.pocketpills.com/website-v2/fonts/Satoshi-VariableItalic.eot");
  src: url("https://static.pocketpills.com/website-v2/fonts/Satoshi-VariableItalic.eot?#iefix") format("embedded-opentype"), url("https://static.pocketpills.com/website-v2/fonts/Satoshi-VariableItalic.woff2") format("woff2"), url("https://static.pocketpills.com/website-v2/fonts/Satoshi-VariableItalic.woff") format("woff"), url("https://static.pocketpills.com/website-v2/fonts/Satoshi-VariableItalic.ttf") format("truetype");
  font-weight: 400 300 500 700 900;
  font-style: italic;
  font-display: swap;
}
:root {
  font-size: 16px;
  font-family: "Satoshi", "Arial", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

:root {
  --font-size-h1: 2.875rem;
  --font-size-h2: 2.563rem;
  --font-size-h3: 1.813rem;
  --font-size-h4: 1.625rem;
  --font-size-h5: 1.438rem;
  --font-size-h6: 1.25rem;
  --font-size-body-l: 1.125rem;
  --font-size-body-m: 1rem;
  --font-size-body-s: 0.875rem;
  --font-size-body-xs: 0.75rem;
  --font-size-body-xxs: 0.625rem;
  --font-size-caps-m: 1.125rem;
  --font-size-caps-s: 1rem;
  --font-size-caps-xs: 0.875rem;
  --font-size-caps-xxs: 0.75rem;
  --font-size-h-l: 1.625rem;
  --font-size-h-m: 1.438rem;
  --font-size-h-s: 1.25rem;
  --font-size-body-xl-fixed: 1.25rem;
  --font-size-body-l-fixed: 1.125rem;
  --font-size-body-m-fixed: 1rem;
  --font-size-body-s-fixed: 0.875rem;
  --font-size-body-xs-fixed: 0.75rem;
}

@media screen and (min-width: 768px) {
  :root {
    --font-size-h1: 3.45rem;
    --font-size-h2: 3.0756rem;
    --font-size-h3: 2.1756rem;
    --font-size-h4: 1.95rem;
    --font-size-h5: 1.7256rem;
    --font-size-h6: 1.5rem;
    --font-size-body-l: 1.2375rem;
    --font-size-body-m: 1.1rem;
    --font-size-body-s: 0.9625rem;
    --font-size-body-xs: 0.825rem;
    --font-size-body-xxs: 0.6875rem;
    --font-size-caps-m: 1.35rem;
    --font-size-caps-s: 1.2rem;
    --font-size-caps-xs: 1.05rem;
    --font-size-caps-xxs: 0.9rem;
  }
}
@media screen and (min-width: 1280px) {
  :root {
    --font-size-h1: 4.3125rem;
    --font-size-h2: 3.8445rem;
    --font-size-h3: 2.7195rem;
    --font-size-h4: 2.4375rem;
    --font-size-h5: 2.157rem;
    --font-size-h6: 1.875rem;
    --font-size-body-l: 1.2375rem;
    --font-size-body-m: 1.1rem;
    --font-size-body-s: 0.9625rem;
    --font-size-body-xs: 0.825rem;
    --font-size-body-xxs: 0.6875rem;
    --font-size-caps-m: 1.6875rem;
    --font-size-caps-s: 1.5rem;
    --font-size-caps-xs: 1.3125rem;
    --font-size-caps-xxs: 1.125rem;
  }
}
.ds-h1 {
  font-size: var(--font-size-h1);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-h2 {
  font-size: var(--font-size-h2);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-h3 {
  font-size: var(--font-size-h3);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-h4 {
  font-size: var(--font-size-h4);
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-h5 {
  font-size: var(--font-size-h5);
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: 0em;
  text-transform: none;
}

.ds-h6 {
  font-size: var(--font-size-h6);
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: 0em;
  text-transform: none;
}

.ds-caps-m {
  font-size: var(--font-size-caps-m);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-caps-s {
  font-size: var(--font-size-caps-s);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-caps-xs {
  font-size: var(--font-size-caps-xs);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-caps-xxs {
  font-size: var(--font-size-caps-xxs);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-h-l {
  font-size: var(--font-size-h-l);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-h-m {
  font-size: var(--font-size-h-m);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-h-s {
  font-size: var(--font-size-h-s);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: none;
}

.ds-body-l {
  font-size: var(--font-size-body-l);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-m, .ds-input {
  font-size: var(--font-size-body-m);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-s {
  font-size: var(--font-size-body-s);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-xs {
  font-size: var(--font-size-body-xs);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-xxs {
  font-size: var(--font-size-body-xxs);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-xl-fixed {
  font-size: var(--font-size-body-xl-fixed);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-l-fixed {
  font-size: var(--font-size-body-l-fixed);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-m-fixed {
  font-size: var(--font-size-body-m-fixed);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-s-fixed {
  font-size: var(--font-size-body-s-fixed);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-body-xs-fixed {
  font-size: var(--font-size-body-xs-fixed);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
}

.ds-caps-m {
  font-size: 1.125rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ds-caps-s {
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ds-caps-xs {
  font-size: 0.875rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ds-caps-xxs {
  font-size: 0.75rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ds-font-regular {
  font-weight: 400;
}

.ds-font-medium {
  font-weight: 500;
}

.ds-font-bold {
  font-weight: 700;
}

.ds-text-left {
  text-align: left;
}

.ds-text-center {
  text-align: center;
}

.ds-text-right {
  text-align: right;
}

.ds-text-uppercase {
  text-transform: uppercase;
}

.ds-text-capitalize {
  text-transform: capitalize;
}

.ds-text-lowercase {
  text-transform: lowercase;
}

.ds-input {
  padding: 1rem;
  background-color: var(--neutral-100);
  border-radius: var(--radius-m);
  border: 1px solid var(--neutral-200);
  outline: transparent;
  width: 100%;
  color: var(--neutral-800);
  transition: all 0.2s ease-in-out;
}
.ds-input.ds-input-white {
  background-color: var(--primary-100);
}
.ds-input::placeholder {
  color: var(--neutral-600);
}
.ds-input:not(:placeholder-shown) {
  background-color: white;
}
.ds-input:focus {
  border-color: var(--primary-500);
  background-color: white;
  outline: transparent;
}
.ds-input:focus-visible {
  outline: transparent;
}
.ds-input:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.ds-input.error {
  border-color: var(--error-700);
}

/* Dropdown System using native <select> elements */
:root {
  --select-padding: 0.5rem 1rem;
  --select-border-radius: var(--radius-md);
  --select-bg-default: var(--neutral-50);
  --select-bg-hover: var(--neutral-100);
  --select-bg-active: var(--primary-300);
  --select-text-color: var(--neutral-900);
  --select-border-color: var(--neutral-200);
  --select-shadow: var(--shadow-elevation-s);
  --select-menu-width: 200px;
  --select-item-padding: 0.5rem 1rem;
  --select-icon-size: 16px;
}

.ds-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: var(--select-bg-default);
  border: 1px solid var(--select-border-color);
  border-radius: var(--select-border-radius);
  color: var(--select-text-color);
  cursor: pointer;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  padding: var(--select-padding);
  transition: all 0.2s ease;
  width: var(--select-menu-width);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: var(--select-icon-size);
  padding-right: 2.5rem;
}
.ds-select:hover {
  background-color: var(--select-bg-hover);
}
.ds-select:focus {
  outline: none;
  border-color: var(--primary-500);
  box-shadow: 0 0 0 2px var(--primary-300);
}
.ds-select:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: var(--neutral-100);
}

.ds-select option {
  background-color: var(--neutral-0);
  color: var(--neutral-900);
  padding: var(--select-item-padding);
}

.ds-select-default {
  background-color: var(--neutral-50);
  color: var(--neutral-900);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.ds-select-primary {
  background-color: var(--primary-300);
  color: var(--primary-900);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23220f3e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.ds-select-dark {
  background-color: var(--primary-900);
  color: var(--neutral-0);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  border-color: var(--primary-800);
}
.ds-select-dark:hover {
  background-color: var(--primary-800);
}
.ds-select-dark option {
  background-color: var(--primary-900);
  color: var(--neutral-0);
}

.ds-select-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  padding-right: 2rem;
  background-size: 14px;
  background-position: right 0.5rem center;
}

.ds-select-lg {
  padding: 0.625rem 1.25rem;
  font-size: 1rem;
  padding-right: 3rem;
  background-size: 18px;
  background-position: right 1rem center;
}

.ds-select-bordered {
  border: 1px solid var(--select-border-color);
}

.ds-select-borderless {
  border: none;
}

.ds-select-group {
  position: relative;
  display: inline-block;
}
.ds-select-group .ds-select-icon {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.ds-select::-ms-expand {
  display: none;
}

.ds-select-with-label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ds-select-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--neutral-700);
}

/* Utilities will have the highest priority */
/* Spacing System */
:root {
  --space-xxs: 0.125rem;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 0.75rem;
  --space-lg: 1rem;
  --space-xl: 1.5rem;
  --space-2xl: 2rem;
  --space-3xl: 2.5rem;
  --space-4xl: 3rem;
  --space-5xl: 6rem;
}

@media screen and (min-width: 768px) {
  :root {
    --space-xxs: 0.15rem;
    --space-xs: 0.3rem;
    --space-sm: 0.6rem;
    --space-md: 0.9rem;
    --space-lg: 1.2rem;
    --space-xl: 1.8rem;
    --space-2xl: 2.4rem;
    --space-3xl: 3rem;
    --space-4xl: 3.6rem;
    --space-5xl: 7.2rem;
  }
}
@media screen and (min-width: 1280px) {
  :root {
    --space-xxs: 0.1875rem;
    --space-xs: 0.375rem;
    --space-sm: 0.75rem;
    --space-md: 1.125rem;
    --space-lg: 1.5rem;
    --space-xl: 2.25rem;
    --space-2xl: 3rem;
    --space-3xl: 3.75rem;
    --space-4xl: 4.5rem;
    --space-5xl: 9rem;
  }
}
.ds-p-xxs {
  padding: var(--space-xxs);
}

.ds-p-xs {
  padding: var(--space-xs);
}

.ds-p-sm {
  padding: var(--space-sm);
}

.ds-p-md {
  padding: var(--space-md);
}

.ds-p-lg {
  padding: var(--space-lg);
}

.ds-p-xl {
  padding: var(--space-xl);
}

.ds-p-2xl {
  padding: var(--space-2xl);
}

.ds-p-3xl {
  padding: var(--space-3xl);
}

.ds-p-4xl {
  padding: var(--space-4xl);
}

.ds-p-5xl {
  padding: var(--space-5xl);
}

.ds-pt-xxs {
  padding-top: var(--space-xxs);
}

.ds-pr-xxs {
  padding-right: var(--space-xxs);
}

.ds-pb-xxs {
  padding-bottom: var(--space-xxs);
}

.ds-pl-xxs {
  padding-left: var(--space-xxs);
}

.ds-pt-xs {
  padding-top: var(--space-xs);
}

.ds-pr-xs {
  padding-right: var(--space-xs);
}

.ds-pb-xs {
  padding-bottom: var(--space-xs);
}

.ds-pl-xs {
  padding-left: var(--space-xs);
}

.ds-pt-sm {
  padding-top: var(--space-sm);
}

.ds-pr-sm {
  padding-right: var(--space-sm);
}

.ds-pb-sm {
  padding-bottom: var(--space-sm);
}

.ds-pl-sm {
  padding-left: var(--space-sm);
}

.ds-pt-md {
  padding-top: var(--space-md);
}

.ds-pr-md {
  padding-right: var(--space-md);
}

.ds-pb-md {
  padding-bottom: var(--space-md);
}

.ds-pl-md {
  padding-left: var(--space-md);
}

.ds-pt-lg {
  padding-top: var(--space-lg);
}

.ds-pr-lg {
  padding-right: var(--space-lg);
}

.ds-pb-lg {
  padding-bottom: var(--space-lg);
}

.ds-pl-lg {
  padding-left: var(--space-lg);
}

.ds-pt-xl {
  padding-top: var(--space-xl);
}

.ds-pr-xl {
  padding-right: var(--space-xl);
}

.ds-pb-xl {
  padding-bottom: var(--space-xl);
}

.ds-pl-xl {
  padding-left: var(--space-xl);
}

.ds-pt-2xl {
  padding-top: var(--space-2xl);
}

.ds-pr-2xl {
  padding-right: var(--space-2xl);
}

.ds-pb-2xl {
  padding-bottom: var(--space-2xl);
}

.ds-pl-2xl {
  padding-left: var(--space-2xl);
}

.ds-pt-3xl {
  padding-top: var(--space-3xl);
}

.ds-pr-3xl {
  padding-right: var(--space-3xl);
}

.ds-pb-3xl {
  padding-bottom: var(--space-3xl);
}

.ds-pl-3xl {
  padding-left: var(--space-3xl);
}

.ds-pt-4xl {
  padding-top: var(--space-4xl);
}

.ds-pr-4xl {
  padding-right: var(--space-4xl);
}

.ds-pb-4xl {
  padding-bottom: var(--space-4xl);
}

.ds-pl-4xl {
  padding-left: var(--space-4xl);
}

.ds-pt-5xl {
  padding-top: var(--space-5xl);
}

.ds-pr-5xl {
  padding-right: var(--space-5xl);
}

.ds-pb-5xl {
  padding-bottom: var(--space-5xl);
}

.ds-pl-5xl {
  padding-left: var(--space-5xl);
}

.ds-px-xxs {
  padding-left: var(--space-xxs);
  padding-right: var(--space-xxs);
}

.ds-py-xxs {
  padding-top: var(--space-xxs);
  padding-bottom: var(--space-xxs);
}

.ds-px-xs {
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
}

.ds-py-xs {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
}

.ds-px-sm {
  padding-left: var(--space-sm);
  padding-right: var(--space-sm);
}

.ds-py-sm {
  padding-top: var(--space-sm);
  padding-bottom: var(--space-sm);
}

.ds-px-md {
  padding-left: var(--space-md);
  padding-right: var(--space-md);
}

.ds-py-md {
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
}

.ds-px-lg {
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}

.ds-py-lg {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}

.ds-px-xl {
  padding-left: var(--space-xl);
  padding-right: var(--space-xl);
}

.ds-py-xl {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

.ds-px-2xl {
  padding-left: var(--space-2xl);
  padding-right: var(--space-2xl);
}

.ds-py-2xl {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}

.ds-px-3xl {
  padding-left: var(--space-3xl);
  padding-right: var(--space-3xl);
}

.ds-py-3xl {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

.ds-px-4xl {
  padding-left: var(--space-4xl);
  padding-right: var(--space-4xl);
}

.ds-py-4xl {
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}

.ds-px-5xl {
  padding-left: var(--space-5xl);
  padding-right: var(--space-5xl);
}

.ds-py-5xl {
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}

.ds-m-xxs {
  margin: var(--space-xxs);
}

.ds-m-xs {
  margin: var(--space-xs);
}

.ds-m-sm {
  margin: var(--space-sm);
}

.ds-m-md {
  margin: var(--space-md);
}

.ds-m-lg {
  margin: var(--space-lg);
}

.ds-m-xl {
  margin: var(--space-xl);
}

.ds-m-2xl {
  margin: var(--space-2xl);
}

.ds-m-3xl {
  margin: var(--space-3xl);
}

.ds-m-4xl {
  margin: var(--space-4xl);
}

.ds-m-5xl {
  margin: var(--space-5xl);
}

.ds-mt-xxs {
  margin-top: var(--space-xxs);
}

.ds-mr-xxs {
  margin-right: var(--space-xxs);
}

.ds-mb-xxs {
  margin-bottom: var(--space-xxs);
}

.ds-ml-xxs {
  margin-left: var(--space-xxs);
}

.ds-mt-xs {
  margin-top: var(--space-xs);
}

.ds-mr-xs {
  margin-right: var(--space-xs);
}

.ds-mb-xs {
  margin-bottom: var(--space-xs);
}

.ds-ml-xs {
  margin-left: var(--space-xs);
}

.ds-mt-sm {
  margin-top: var(--space-sm);
}

.ds-mr-sm {
  margin-right: var(--space-sm);
}

.ds-mb-sm {
  margin-bottom: var(--space-sm);
}

.ds-ml-sm {
  margin-left: var(--space-sm);
}

.ds-mt-md {
  margin-top: var(--space-md);
}

.ds-mr-md {
  margin-right: var(--space-md);
}

.ds-mb-md {
  margin-bottom: var(--space-md);
}

.ds-ml-md {
  margin-left: var(--space-md);
}

.ds-mt-lg {
  margin-top: var(--space-lg);
}

.ds-mr-lg {
  margin-right: var(--space-lg);
}

.ds-mb-lg {
  margin-bottom: var(--space-lg);
}

.ds-ml-lg {
  margin-left: var(--space-lg);
}

.ds-mt-xl {
  margin-top: var(--space-xl);
}

.ds-mr-xl {
  margin-right: var(--space-xl);
}

.ds-mb-xl {
  margin-bottom: var(--space-xl);
}

.ds-ml-xl {
  margin-left: var(--space-xl);
}

.ds-mt-2xl {
  margin-top: var(--space-2xl);
}

.ds-mr-2xl {
  margin-right: var(--space-2xl);
}

.ds-mb-2xl {
  margin-bottom: var(--space-2xl);
}

.ds-ml-2xl {
  margin-left: var(--space-2xl);
}

.ds-mt-3xl {
  margin-top: var(--space-3xl);
}

.ds-mr-3xl {
  margin-right: var(--space-3xl);
}

.ds-mb-3xl {
  margin-bottom: var(--space-3xl);
}

.ds-ml-3xl {
  margin-left: var(--space-3xl);
}

.ds-mt-4xl {
  margin-top: var(--space-4xl);
}

.ds-mr-4xl {
  margin-right: var(--space-4xl);
}

.ds-mb-4xl {
  margin-bottom: var(--space-4xl);
}

.ds-ml-4xl {
  margin-left: var(--space-4xl);
}

.ds-mt-5xl {
  margin-top: var(--space-5xl);
}

.ds-mr-5xl {
  margin-right: var(--space-5xl);
}

.ds-mb-5xl {
  margin-bottom: var(--space-5xl);
}

.ds-ml-5xl {
  margin-left: var(--space-5xl);
}

.ds-mx-xxs {
  margin-left: var(--space-xxs);
  margin-right: var(--space-xxs);
}

.ds-my-xxs {
  margin-top: var(--space-xxs);
  margin-bottom: var(--space-xxs);
}

.ds-mx-xs {
  margin-left: var(--space-xs);
  margin-right: var(--space-xs);
}

.ds-my-xs {
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
}

.ds-mx-sm {
  margin-left: var(--space-sm);
  margin-right: var(--space-sm);
}

.ds-my-sm {
  margin-top: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.ds-mx-md {
  margin-left: var(--space-md);
  margin-right: var(--space-md);
}

.ds-my-md {
  margin-top: var(--space-md);
  margin-bottom: var(--space-md);
}

.ds-mx-lg {
  margin-left: var(--space-lg);
  margin-right: var(--space-lg);
}

.ds-my-lg {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.ds-mx-xl {
  margin-left: var(--space-xl);
  margin-right: var(--space-xl);
}

.ds-my-xl {
  margin-top: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.ds-mx-2xl {
  margin-left: var(--space-2xl);
  margin-right: var(--space-2xl);
}

.ds-my-2xl {
  margin-top: var(--space-2xl);
  margin-bottom: var(--space-2xl);
}

.ds-mx-3xl {
  margin-left: var(--space-3xl);
  margin-right: var(--space-3xl);
}

.ds-my-3xl {
  margin-top: var(--space-3xl);
  margin-bottom: var(--space-3xl);
}

.ds-mx-4xl {
  margin-left: var(--space-4xl);
  margin-right: var(--space-4xl);
}

.ds-my-4xl {
  margin-top: var(--space-4xl);
  margin-bottom: var(--space-4xl);
}

.ds-mx-5xl {
  margin-left: var(--space-5xl);
  margin-right: var(--space-5xl);
}

.ds-my-5xl {
  margin-top: var(--space-5xl);
  margin-bottom: var(--space-5xl);
}

.ds-gap-xxs {
  gap: var(--space-xxs);
}

.ds-gap-xs {
  gap: var(--space-xs);
}

.ds-gap-sm {
  gap: var(--space-sm);
}

.ds-gap-md {
  gap: var(--space-md);
}

.ds-gap-lg {
  gap: var(--space-lg);
}

.ds-gap-xl {
  gap: var(--space-xl);
}

.ds-gap-2xl {
  gap: var(--space-2xl);
}

.ds-gap-3xl {
  gap: var(--space-3xl);
}

.ds-gap-4xl {
  gap: var(--space-4xl);
}

.ds-gap-5xl {
  gap: var(--space-5xl);
}

/* === Margin Auto === */
.mx-auto {
  margin-inline: auto;
}

.my-auto {
  margin-block: auto;
}

.m-auto {
  margin: auto;
}

/*
 * Button System
 *
 * Categories:
 * 1. Bordered Buttons
 * 2. Borderless Buttons
 *
 * States:
 * - Normal
 * - Hover
 * - Focus
 * - Disabled
 */
:root {
  --space-0: 0;
  --space-1: 0.125rem;
  --space-2: 0.25rem;
  --space-3: 0.5rem;
  --space-4: 0.75rem;
  --space-5: 1rem;
  --space-6: 1.5rem;
  --space-7: 2rem;
  --space-8: 2.5rem;
  --space-9: 3rem;
  --space-10: 4rem;
  --space-11: 5rem;
  --space-12: 6rem;
  --space-13: 10rem;
  --space-14: 15rem;
}

.ds-m-0 {
  margin: var(--space-0);
}

.ds-m-1 {
  margin: var(--space-1);
}

.ds-m-2 {
  margin: var(--space-2);
}

.ds-m-3 {
  margin: var(--space-3);
}

.ds-m-4 {
  margin: var(--space-4);
}

.ds-m-5 {
  margin: var(--space-5);
}

.ds-m-6 {
  margin: var(--space-6);
}

.ds-m-7 {
  margin: var(--space-7);
}

.ds-m-8 {
  margin: var(--space-8);
}

.ds-m-9 {
  margin: var(--space-9);
}

.ds-m-10 {
  margin: var(--space-10);
}

.ds-m-11 {
  margin: var(--space-11);
}

.ds-m-12 {
  margin: var(--space-12);
}

.ds-m-13 {
  margin: var(--space-13);
}

.ds-m-14 {
  margin: var(--space-14);
}

.ds-mt-0 {
  margin-top: var(--space-0);
}

.ds-mr-0 {
  margin-right: var(--space-0);
}

.ds-mb-0 {
  margin-bottom: var(--space-0);
}

.ds-ml-0 {
  margin-left: var(--space-0);
}

.ds-mt-1 {
  margin-top: var(--space-1);
}

.ds-mr-1 {
  margin-right: var(--space-1);
}

.ds-mb-1 {
  margin-bottom: var(--space-1);
}

.ds-ml-1 {
  margin-left: var(--space-1);
}

.ds-mt-2 {
  margin-top: var(--space-2);
}

.ds-mr-2 {
  margin-right: var(--space-2);
}

.ds-mb-2 {
  margin-bottom: var(--space-2);
}

.ds-ml-2 {
  margin-left: var(--space-2);
}

.ds-mt-3 {
  margin-top: var(--space-3);
}

.ds-mr-3 {
  margin-right: var(--space-3);
}

.ds-mb-3 {
  margin-bottom: var(--space-3);
}

.ds-ml-3 {
  margin-left: var(--space-3);
}

.ds-mt-4 {
  margin-top: var(--space-4);
}

.ds-mr-4 {
  margin-right: var(--space-4);
}

.ds-mb-4 {
  margin-bottom: var(--space-4);
}

.ds-ml-4 {
  margin-left: var(--space-4);
}

.ds-mt-5 {
  margin-top: var(--space-5);
}

.ds-mr-5 {
  margin-right: var(--space-5);
}

.ds-mb-5 {
  margin-bottom: var(--space-5);
}

.ds-ml-5 {
  margin-left: var(--space-5);
}

.ds-mt-6 {
  margin-top: var(--space-6);
}

.ds-mr-6 {
  margin-right: var(--space-6);
}

.ds-mb-6 {
  margin-bottom: var(--space-6);
}

.ds-ml-6 {
  margin-left: var(--space-6);
}

.ds-mt-7 {
  margin-top: var(--space-7);
}

.ds-mr-7 {
  margin-right: var(--space-7);
}

.ds-mb-7 {
  margin-bottom: var(--space-7);
}

.ds-ml-7 {
  margin-left: var(--space-7);
}

.ds-mt-8 {
  margin-top: var(--space-8);
}

.ds-mr-8 {
  margin-right: var(--space-8);
}

.ds-mb-8 {
  margin-bottom: var(--space-8);
}

.ds-ml-8 {
  margin-left: var(--space-8);
}

.ds-mt-9 {
  margin-top: var(--space-9);
}

.ds-mr-9 {
  margin-right: var(--space-9);
}

.ds-mb-9 {
  margin-bottom: var(--space-9);
}

.ds-ml-9 {
  margin-left: var(--space-9);
}

.ds-mt-10 {
  margin-top: var(--space-10);
}

.ds-mr-10 {
  margin-right: var(--space-10);
}

.ds-mb-10 {
  margin-bottom: var(--space-10);
}

.ds-ml-10 {
  margin-left: var(--space-10);
}

.ds-mt-11 {
  margin-top: var(--space-11);
}

.ds-mr-11 {
  margin-right: var(--space-11);
}

.ds-mb-11 {
  margin-bottom: var(--space-11);
}

.ds-ml-11 {
  margin-left: var(--space-11);
}

.ds-mt-12 {
  margin-top: var(--space-12);
}

.ds-mr-12 {
  margin-right: var(--space-12);
}

.ds-mb-12 {
  margin-bottom: var(--space-12);
}

.ds-ml-12 {
  margin-left: var(--space-12);
}

.ds-mt-13 {
  margin-top: var(--space-13);
}

.ds-mr-13 {
  margin-right: var(--space-13);
}

.ds-mb-13 {
  margin-bottom: var(--space-13);
}

.ds-ml-13 {
  margin-left: var(--space-13);
}

.ds-mt-14 {
  margin-top: var(--space-14);
}

.ds-mr-14 {
  margin-right: var(--space-14);
}

.ds-mb-14 {
  margin-bottom: var(--space-14);
}

.ds-ml-14 {
  margin-left: var(--space-14);
}

.ds-mx-0 {
  margin-left: var(--space-0);
  margin-right: var(--space-0);
}

.ds-my-0 {
  margin-top: var(--space-0);
  margin-bottom: var(--space-0);
}

.ds-mx-1 {
  margin-left: var(--space-1);
  margin-right: var(--space-1);
}

.ds-my-1 {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.ds-mx-2 {
  margin-left: var(--space-2);
  margin-right: var(--space-2);
}

.ds-my-2 {
  margin-top: var(--space-2);
  margin-bottom: var(--space-2);
}

.ds-mx-3 {
  margin-left: var(--space-3);
  margin-right: var(--space-3);
}

.ds-my-3 {
  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
}

.ds-mx-4 {
  margin-left: var(--space-4);
  margin-right: var(--space-4);
}

.ds-my-4 {
  margin-top: var(--space-4);
  margin-bottom: var(--space-4);
}

.ds-mx-5 {
  margin-left: var(--space-5);
  margin-right: var(--space-5);
}

.ds-my-5 {
  margin-top: var(--space-5);
  margin-bottom: var(--space-5);
}

.ds-mx-6 {
  margin-left: var(--space-6);
  margin-right: var(--space-6);
}

.ds-my-6 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-6);
}

.ds-mx-7 {
  margin-left: var(--space-7);
  margin-right: var(--space-7);
}

.ds-my-7 {
  margin-top: var(--space-7);
  margin-bottom: var(--space-7);
}

.ds-mx-8 {
  margin-left: var(--space-8);
  margin-right: var(--space-8);
}

.ds-my-8 {
  margin-top: var(--space-8);
  margin-bottom: var(--space-8);
}

.ds-mx-9 {
  margin-left: var(--space-9);
  margin-right: var(--space-9);
}

.ds-my-9 {
  margin-top: var(--space-9);
  margin-bottom: var(--space-9);
}

.ds-mx-10 {
  margin-left: var(--space-10);
  margin-right: var(--space-10);
}

.ds-my-10 {
  margin-top: var(--space-10);
  margin-bottom: var(--space-10);
}

.ds-mx-11 {
  margin-left: var(--space-11);
  margin-right: var(--space-11);
}

.ds-my-11 {
  margin-top: var(--space-11);
  margin-bottom: var(--space-11);
}

.ds-mx-12 {
  margin-left: var(--space-12);
  margin-right: var(--space-12);
}

.ds-my-12 {
  margin-top: var(--space-12);
  margin-bottom: var(--space-12);
}

.ds-mx-13 {
  margin-left: var(--space-13);
  margin-right: var(--space-13);
}

.ds-my-13 {
  margin-top: var(--space-13);
  margin-bottom: var(--space-13);
}

.ds-mx-14 {
  margin-left: var(--space-14);
  margin-right: var(--space-14);
}

.ds-my-14 {
  margin-top: var(--space-14);
  margin-bottom: var(--space-14);
}

.ds-mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.ds-p-0 {
  padding: var(--space-0);
}

.ds-p-1 {
  padding: var(--space-1);
}

.ds-p-2 {
  padding: var(--space-2);
}

.ds-p-3 {
  padding: var(--space-3);
}

.ds-p-4 {
  padding: var(--space-4);
}

.ds-p-5 {
  padding: var(--space-5);
}

.ds-p-6 {
  padding: var(--space-6);
}

.ds-p-7 {
  padding: var(--space-7);
}

.ds-p-8 {
  padding: var(--space-8);
}

.ds-p-9 {
  padding: var(--space-9);
}

.ds-p-10 {
  padding: var(--space-10);
}

.ds-p-11 {
  padding: var(--space-11);
}

.ds-p-12 {
  padding: var(--space-12);
}

.ds-p-13 {
  padding: var(--space-13);
}

.ds-p-14 {
  padding: var(--space-14);
}

.ds-pt-0 {
  padding-top: var(--space-0);
}

.ds-pr-0 {
  padding-right: var(--space-0);
}

.ds-pb-0 {
  padding-bottom: var(--space-0);
}

.ds-pl-0 {
  padding-left: var(--space-0);
}

.ds-pt-1 {
  padding-top: var(--space-1);
}

.ds-pr-1 {
  padding-right: var(--space-1);
}

.ds-pb-1 {
  padding-bottom: var(--space-1);
}

.ds-pl-1 {
  padding-left: var(--space-1);
}

.ds-pt-2 {
  padding-top: var(--space-2);
}

.ds-pr-2 {
  padding-right: var(--space-2);
}

.ds-pb-2 {
  padding-bottom: var(--space-2);
}

.ds-pl-2 {
  padding-left: var(--space-2);
}

.ds-pt-3 {
  padding-top: var(--space-3);
}

.ds-pr-3 {
  padding-right: var(--space-3);
}

.ds-pb-3 {
  padding-bottom: var(--space-3);
}

.ds-pl-3 {
  padding-left: var(--space-3);
}

.ds-pt-4 {
  padding-top: var(--space-4);
}

.ds-pr-4 {
  padding-right: var(--space-4);
}

.ds-pb-4 {
  padding-bottom: var(--space-4);
}

.ds-pl-4 {
  padding-left: var(--space-4);
}

.ds-pt-5 {
  padding-top: var(--space-5);
}

.ds-pr-5 {
  padding-right: var(--space-5);
}

.ds-pb-5 {
  padding-bottom: var(--space-5);
}

.ds-pl-5 {
  padding-left: var(--space-5);
}

.ds-pt-6 {
  padding-top: var(--space-6);
}

.ds-pr-6 {
  padding-right: var(--space-6);
}

.ds-pb-6 {
  padding-bottom: var(--space-6);
}

.ds-pl-6 {
  padding-left: var(--space-6);
}

.ds-pt-7 {
  padding-top: var(--space-7);
}

.ds-pr-7 {
  padding-right: var(--space-7);
}

.ds-pb-7 {
  padding-bottom: var(--space-7);
}

.ds-pl-7 {
  padding-left: var(--space-7);
}

.ds-pt-8 {
  padding-top: var(--space-8);
}

.ds-pr-8 {
  padding-right: var(--space-8);
}

.ds-pb-8 {
  padding-bottom: var(--space-8);
}

.ds-pl-8 {
  padding-left: var(--space-8);
}

.ds-pt-9 {
  padding-top: var(--space-9);
}

.ds-pr-9 {
  padding-right: var(--space-9);
}

.ds-pb-9 {
  padding-bottom: var(--space-9);
}

.ds-pl-9 {
  padding-left: var(--space-9);
}

.ds-pt-10 {
  padding-top: var(--space-10);
}

.ds-pr-10 {
  padding-right: var(--space-10);
}

.ds-pb-10 {
  padding-bottom: var(--space-10);
}

.ds-pl-10 {
  padding-left: var(--space-10);
}

.ds-pt-11 {
  padding-top: var(--space-11);
}

.ds-pr-11 {
  padding-right: var(--space-11);
}

.ds-pb-11 {
  padding-bottom: var(--space-11);
}

.ds-pl-11 {
  padding-left: var(--space-11);
}

.ds-pt-12 {
  padding-top: var(--space-12);
}

.ds-pr-12 {
  padding-right: var(--space-12);
}

.ds-pb-12 {
  padding-bottom: var(--space-12);
}

.ds-pl-12 {
  padding-left: var(--space-12);
}

.ds-pt-13 {
  padding-top: var(--space-13);
}

.ds-pr-13 {
  padding-right: var(--space-13);
}

.ds-pb-13 {
  padding-bottom: var(--space-13);
}

.ds-pl-13 {
  padding-left: var(--space-13);
}

.ds-pt-14 {
  padding-top: var(--space-14);
}

.ds-pr-14 {
  padding-right: var(--space-14);
}

.ds-pb-14 {
  padding-bottom: var(--space-14);
}

.ds-pl-14 {
  padding-left: var(--space-14);
}

.ds-px-0 {
  padding-left: var(--space-0);
  padding-right: var(--space-0);
}

.ds-py-0 {
  padding-top: var(--space-0);
  padding-bottom: var(--space-0);
}

.ds-px-1 {
  padding-left: var(--space-1);
  padding-right: var(--space-1);
}

.ds-py-1 {
  padding-top: var(--space-1);
  padding-bottom: var(--space-1);
}

.ds-px-2 {
  padding-left: var(--space-2);
  padding-right: var(--space-2);
}

.ds-py-2 {
  padding-top: var(--space-2);
  padding-bottom: var(--space-2);
}

.ds-px-3 {
  padding-left: var(--space-3);
  padding-right: var(--space-3);
}

.ds-py-3 {
  padding-top: var(--space-3);
  padding-bottom: var(--space-3);
}

.ds-px-4 {
  padding-left: var(--space-4);
  padding-right: var(--space-4);
}

.ds-py-4 {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

.ds-px-5 {
  padding-left: var(--space-5);
  padding-right: var(--space-5);
}

.ds-py-5 {
  padding-top: var(--space-5);
  padding-bottom: var(--space-5);
}

.ds-px-6 {
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}

.ds-py-6 {
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
}

.ds-px-7 {
  padding-left: var(--space-7);
  padding-right: var(--space-7);
}

.ds-py-7 {
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.ds-px-8 {
  padding-left: var(--space-8);
  padding-right: var(--space-8);
}

.ds-py-8 {
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}

.ds-px-9 {
  padding-left: var(--space-9);
  padding-right: var(--space-9);
}

.ds-py-9 {
  padding-top: var(--space-9);
  padding-bottom: var(--space-9);
}

.ds-px-10 {
  padding-left: var(--space-10);
  padding-right: var(--space-10);
}

.ds-py-10 {
  padding-top: var(--space-10);
  padding-bottom: var(--space-10);
}

.ds-px-11 {
  padding-left: var(--space-11);
  padding-right: var(--space-11);
}

.ds-py-11 {
  padding-top: var(--space-11);
  padding-bottom: var(--space-11);
}

.ds-px-12 {
  padding-left: var(--space-12);
  padding-right: var(--space-12);
}

.ds-py-12 {
  padding-top: var(--space-12);
  padding-bottom: var(--space-12);
}

.ds-px-13 {
  padding-left: var(--space-13);
  padding-right: var(--space-13);
}

.ds-py-13 {
  padding-top: var(--space-13);
  padding-bottom: var(--space-13);
}

.ds-px-14 {
  padding-left: var(--space-14);
  padding-right: var(--space-14);
}

.ds-py-14 {
  padding-top: var(--space-14);
  padding-bottom: var(--space-14);
}

.ds-gap-0 {
  gap: var(--space-0);
}

.ds-gap-1 {
  gap: var(--space-1);
}

.ds-gap-2 {
  gap: var(--space-2);
}

.ds-gap-3 {
  gap: var(--space-3);
}

.ds-gap-4 {
  gap: var(--space-4);
}

.ds-gap-5 {
  gap: var(--space-5);
}

.ds-gap-6 {
  gap: var(--space-6);
}

.ds-gap-7 {
  gap: var(--space-7);
}

.ds-gap-8 {
  gap: var(--space-8);
}

.ds-gap-9 {
  gap: var(--space-9);
}

.ds-gap-10 {
  gap: var(--space-10);
}

.ds-gap-11 {
  gap: var(--space-11);
}

.ds-gap-12 {
  gap: var(--space-12);
}

.ds-gap-13 {
  gap: var(--space-13);
}

.ds-gap-14 {
  gap: var(--space-14);
}

/* Border Radius System */
:root {
  --radius-none: 0;
  --radius-xs: 0.125rem;
  --radius-s: 0.5rem;
  --radius-m: 1rem;
  --radius-l: 1.5rem;
  --radius-x: 2.25rem;
  --radius-xl: 3rem;
  --radius-full: 9999px;
}

.ds-radius-none {
  border-radius: var(--radius-none);
}

.ds-radius-xs {
  border-radius: var(--radius-xs);
}

.ds-radius-s {
  border-radius: var(--radius-s);
}

.ds-radius-m {
  border-radius: var(--radius-m);
}

.ds-radius-l {
  border-radius: var(--radius-l);
}

.ds-radius-x {
  border-radius: var(--radius-x);
}

.ds-radius-xl {
  border-radius: var(--radius-xl);
}

.ds-radius-full {
  border-radius: var(--radius-full);
}

.ds-radius-tl-none {
  border-top-left-radius: var(--radius-none);
}

.ds-radius-tl-xs {
  border-top-left-radius: var(--radius-xs);
}

.ds-radius-tl-s {
  border-top-left-radius: var(--radius-s);
}

.ds-radius-tl-m {
  border-top-left-radius: var(--radius-m);
}

.ds-radius-tl-l {
  border-top-left-radius: var(--radius-l);
}

.ds-radius-tl-x {
  border-top-left-radius: var(--radius-x);
}

.ds-radius-tl-xl {
  border-top-left-radius: var(--radius-xl);
}

.ds-radius-tl-full {
  border-top-left-radius: var(--radius-full);
}

.ds-radius-tr-none {
  border-top-right-radius: var(--radius-none);
}

.ds-radius-tr-xs {
  border-top-right-radius: var(--radius-xs);
}

.ds-radius-tr-s {
  border-top-right-radius: var(--radius-s);
}

.ds-radius-tr-m {
  border-top-right-radius: var(--radius-m);
}

.ds-radius-tr-l {
  border-top-right-radius: var(--radius-l);
}

.ds-radius-tr-x {
  border-top-right-radius: var(--radius-x);
}

.ds-radius-tr-xl {
  border-top-right-radius: var(--radius-xl);
}

.ds-radius-tr-full {
  border-top-right-radius: var(--radius-full);
}

.ds-radius-br-none {
  border-bottom-right-radius: var(--radius-none);
}

.ds-radius-br-xs {
  border-bottom-right-radius: var(--radius-xs);
}

.ds-radius-br-s {
  border-bottom-right-radius: var(--radius-s);
}

.ds-radius-br-m {
  border-bottom-right-radius: var(--radius-m);
}

.ds-radius-br-l {
  border-bottom-right-radius: var(--radius-l);
}

.ds-radius-br-x {
  border-bottom-right-radius: var(--radius-x);
}

.ds-radius-br-xl {
  border-bottom-right-radius: var(--radius-xl);
}

.ds-radius-br-full {
  border-bottom-right-radius: var(--radius-full);
}

.ds-radius-bl-none {
  border-bottom-left-radius: var(--radius-none);
}

.ds-radius-bl-xs {
  border-bottom-left-radius: var(--radius-xs);
}

.ds-radius-bl-s {
  border-bottom-left-radius: var(--radius-s);
}

.ds-radius-bl-m {
  border-bottom-left-radius: var(--radius-m);
}

.ds-radius-bl-l {
  border-bottom-left-radius: var(--radius-l);
}

.ds-radius-bl-x {
  border-bottom-left-radius: var(--radius-x);
}

.ds-radius-bl-xl {
  border-bottom-left-radius: var(--radius-xl);
}

.ds-radius-bl-full {
  border-bottom-left-radius: var(--radius-full);
}

.ds-radius-t-none {
  border-top-left: var(--radius-none);
  border-top-right: var(--radius-none);
}

.ds-radius-t-xs {
  border-top-left: var(--radius-xs);
  border-top-right: var(--radius-xs);
}

.ds-radius-t-s {
  border-top-left: var(--radius-s);
  border-top-right: var(--radius-s);
}

.ds-radius-t-m {
  border-top-left: var(--radius-m);
  border-top-right: var(--radius-m);
}

.ds-radius-t-l {
  border-top-left: var(--radius-l);
  border-top-right: var(--radius-l);
}

.ds-radius-t-x {
  border-top-left: var(--radius-x);
  border-top-right: var(--radius-x);
}

.ds-radius-t-xl {
  border-top-left: var(--radius-xl);
  border-top-right: var(--radius-xl);
}

.ds-radius-t-full {
  border-top-left: var(--radius-full);
  border-top-right: var(--radius-full);
}

.ds-radius-r-none {
  border-right-left: var(--radius-none);
  border-right-right: var(--radius-none);
}

.ds-radius-r-xs {
  border-right-left: var(--radius-xs);
  border-right-right: var(--radius-xs);
}

.ds-radius-r-s {
  border-right-left: var(--radius-s);
  border-right-right: var(--radius-s);
}

.ds-radius-r-m {
  border-right-left: var(--radius-m);
  border-right-right: var(--radius-m);
}

.ds-radius-r-l {
  border-right-left: var(--radius-l);
  border-right-right: var(--radius-l);
}

.ds-radius-r-x {
  border-right-left: var(--radius-x);
  border-right-right: var(--radius-x);
}

.ds-radius-r-xl {
  border-right-left: var(--radius-xl);
  border-right-right: var(--radius-xl);
}

.ds-radius-r-full {
  border-right-left: var(--radius-full);
  border-right-right: var(--radius-full);
}

.ds-radius-b-none {
  border-bottom-left: var(--radius-none);
  border-bottom-right: var(--radius-none);
}

.ds-radius-b-xs {
  border-bottom-left: var(--radius-xs);
  border-bottom-right: var(--radius-xs);
}

.ds-radius-b-s {
  border-bottom-left: var(--radius-s);
  border-bottom-right: var(--radius-s);
}

.ds-radius-b-m {
  border-bottom-left: var(--radius-m);
  border-bottom-right: var(--radius-m);
}

.ds-radius-b-l {
  border-bottom-left: var(--radius-l);
  border-bottom-right: var(--radius-l);
}

.ds-radius-b-x {
  border-bottom-left: var(--radius-x);
  border-bottom-right: var(--radius-x);
}

.ds-radius-b-xl {
  border-bottom-left: var(--radius-xl);
  border-bottom-right: var(--radius-xl);
}

.ds-radius-b-full {
  border-bottom-left: var(--radius-full);
  border-bottom-right: var(--radius-full);
}

.ds-radius-l-none {
  border-left-left: var(--radius-none);
  border-left-right: var(--radius-none);
}

.ds-radius-l-xs {
  border-left-left: var(--radius-xs);
  border-left-right: var(--radius-xs);
}

.ds-radius-l-s {
  border-left-left: var(--radius-s);
  border-left-right: var(--radius-s);
}

.ds-radius-l-m {
  border-left-left: var(--radius-m);
  border-left-right: var(--radius-m);
}

.ds-radius-l-l {
  border-left-left: var(--radius-l);
  border-left-right: var(--radius-l);
}

.ds-radius-l-x {
  border-left-left: var(--radius-x);
  border-left-right: var(--radius-x);
}

.ds-radius-l-xl {
  border-left-left: var(--radius-xl);
  border-left-right: var(--radius-xl);
}

.ds-radius-l-full {
  border-left-left: var(--radius-full);
  border-left-right: var(--radius-full);
}

/* Shadow System */
:root {
  --shadow-color: 0deg 0% 0%;
  --shadow-elevation-xs: 0px 1px 2px -1px hsl(var(--shadow-color)/0.1);
  --shadow-elevation-s: 0px 1px 3px -1px hsl(var(--shadow-color)/0.1), 0px 1px 2px -1px hsl(var(--shadow-color)/0.1);
  --shadow-elevation-m: 0px 4px 6px -1px hsl(var(--shadow-color)/0.1), 0px 2px 4px -2px hsl(var(--shadow-color)/0.1);
  --shadow-elevation-l: 0px 10px 15px -3px hsl(var(--shadow-color)/0.1), 0px 4px 6px -4px hsl(var(--shadow-color)/0.1);
  --shadow-elevation-xl: 0px 20px 25px -5px hsl(var(--shadow-color)/0.1), 0px 8px 10px -6px hsl(var(--shadow-color)/0.1);
  --shadow-elevation-2xl: 0px 25px 50px -12px hsl(var(--shadow-color)/0.25);
  --shadow-elevation-inner: inset 0px 2px 4px 0px hsl(var(--shadow-color)/0.05);
}

[class*=ds-shadow-] {
  transition: box-shadow 0.2s ease-in-out;
}

.ds-shadow-none {
  box-shadow: none;
}

.ds-shadow-xs {
  box-shadow: var(--shadow-elevation-xs);
}

.ds-shadow-s {
  box-shadow: var(--shadow-elevation-s);
}

.ds-shadow-m {
  box-shadow: var(--shadow-elevation-m);
}

.ds-shadow-l {
  box-shadow: var(--shadow-elevation-l);
}

.ds-shadow-xl {
  box-shadow: var(--shadow-elevation-xl);
}

.ds-shadow-2xl {
  box-shadow: var(--shadow-elevation-2xl);
}

.ds-shadow-inner {
  box-shadow: var(--shadow-elevation-inner);
}

.hover\:ds-shadow-none:hover {
  box-shadow: none;
}

.hover\:ds-shadow-xs:hover {
  box-shadow: var(--shadow-elevation-xs);
}

.hover\:ds-shadow-s:hover {
  box-shadow: var(--shadow-elevation-s);
}

.hover\:ds-shadow-m:hover {
  box-shadow: var(--shadow-elevation-m);
}

.hover\:ds-shadow-l:hover {
  box-shadow: var(--shadow-elevation-l);
}

.hover\:ds-shadow-xl:hover {
  box-shadow: var(--shadow-elevation-xl);
}

.hover\:ds-shadow-2xl:hover {
  box-shadow: var(--shadow-elevation-2xl);
}

.hover\:ds-shadow-inner:hover {
  box-shadow: var(--shadow-elevation-inner);
}

.focus\:ds-shadow-none:focus {
  box-shadow: none;
}

.focus\:ds-shadow-xs:focus {
  box-shadow: var(--shadow-elevation-xs);
}

.focus\:ds-shadow-s:focus {
  box-shadow: var(--shadow-elevation-s);
}

.focus\:ds-shadow-m:focus {
  box-shadow: var(--shadow-elevation-m);
}

.focus\:ds-shadow-l:focus {
  box-shadow: var(--shadow-elevation-l);
}

.focus\:ds-shadow-xl:focus {
  box-shadow: var(--shadow-elevation-xl);
}

.focus\:ds-shadow-2xl:focus {
  box-shadow: var(--shadow-elevation-2xl);
}

.focus\:ds-shadow-inner:focus {
  box-shadow: var(--shadow-elevation-inner);
}

/* Color System */
/*
* Color Palette:
* - Primary: Purple/Indigo shades
* - Secondary: Teal shades
* - Neutral: Grayscale
* - Success: Green/teal shades
* - Warning: Orange/amber shades
* - Error: Red shades
*/
:root {
  --primary-950: #4e2a84;
  --primary-900: #220f3e;
  --primary-800: #37325d;
  --primary-700: #6b1ce2;
  --primary-600: #7b47ff;
  --primary-500: #8c60ff;
  --primary-400: #aaa4ff;
  --primary-300: #e5e3ff;
  --primary-200: #f5f4fa;
  --primary-100: #ffffff;
  --secondary-900: #043b45;
  --secondary-800: #0a5a68;
  --secondary-700: #54c7da;
  --secondary-600: #a4eefb;
  --secondary-500: #dbf7fa;
  --neutral-900: #220f3e;
  --neutral-800: #37325d;
  --neutral-700: #525480;
  --neutral-600: #686b91;
  --neutral-500: #8e90b8;
  --neutral-400: #aaacca;
  --neutral-300: #c8c8dc;
  --neutral-200: #e7e7f2;
  --neutral-100: #f5f4fa;
  --neutral-50: #fafafa;
  --neutral-0: #ffffff;
  --success-900: #043b45;
  --success-700: #0a5a68;
  --success-500: #54c7da;
  --success-300: #a4eefb;
  --warning-900: #b94801;
  --warning-700: #ffa13c;
  --warning-500: #ffebd5;
  --warning-300: #fff5e8;
  --error-900: #b8310f;
  --error-700: #ff5950;
  --error-500: #ffe8e8;
  --error-300: #fff5f5;
}

.ds-bg-primary-950 {
  background-color: var(--primary-950);
}

.ds-bg-primary-900 {
  background-color: var(--primary-900);
}

.ds-bg-primary-800 {
  background-color: var(--primary-800);
}

.ds-bg-primary-700 {
  background-color: var(--primary-700);
}

.ds-bg-primary-600 {
  background-color: var(--primary-600);
}

.ds-bg-primary-500 {
  background-color: var(--primary-500);
}

.ds-bg-primary-400 {
  background-color: var(--primary-400);
}

.ds-bg-primary-300 {
  background-color: var(--primary-300);
}

.ds-bg-primary-200 {
  background-color: var(--primary-200);
}

.ds-bg-primary-100 {
  background-color: var(--primary-100);
}

.ds-bg-secondary-900 {
  background-color: var(--secondary-900);
}

.ds-bg-secondary-800 {
  background-color: var(--secondary-800);
}

.ds-bg-secondary-700 {
  background-color: var(--secondary-700);
}

.ds-bg-secondary-600 {
  background-color: var(--secondary-600);
}

.ds-bg-secondary-500 {
  background-color: var(--secondary-500);
}

.ds-bg-neutral-900 {
  background-color: var(--neutral-900);
}

.ds-bg-neutral-800 {
  background-color: var(--neutral-800);
}

.ds-bg-neutral-700 {
  background-color: var(--neutral-700);
}

.ds-bg-neutral-600 {
  background-color: var(--neutral-600);
}

.ds-bg-neutral-500 {
  background-color: var(--neutral-500);
}

.ds-bg-neutral-400 {
  background-color: var(--neutral-400);
}

.ds-bg-neutral-300 {
  background-color: var(--neutral-300);
}

.ds-bg-neutral-200 {
  background-color: var(--neutral-200);
}

.ds-bg-neutral-100 {
  background-color: var(--neutral-100);
}

.ds-bg-neutral-50 {
  background-color: var(--neutral-50);
}

.ds-bg-neutral-0 {
  background-color: var(--neutral-0);
}

.ds-bg-success-900 {
  background-color: var(--success-900);
}

.ds-bg-success-700 {
  background-color: var(--success-700);
}

.ds-bg-success-500 {
  background-color: var(--success-500);
}

.ds-bg-success-300 {
  background-color: var(--success-300);
}

.ds-bg-warning-900 {
  background-color: var(--warning-900);
}

.ds-bg-warning-700 {
  background-color: var(--warning-700);
}

.ds-bg-warning-500 {
  background-color: var(--warning-500);
}

.ds-bg-warning-300 {
  background-color: var(--warning-300);
}

.ds-bg-error-900 {
  background-color: var(--error-900);
}

.ds-bg-error-700 {
  background-color: var(--error-700);
}

.ds-bg-error-500 {
  background-color: var(--error-500);
}

.ds-bg-error-300 {
  background-color: var(--error-300);
}

.ds-text-primary-950 {
  color: var(--primary-950);
}

.ds-text-primary-900 {
  color: var(--primary-900);
}

.ds-text-primary-800 {
  color: var(--primary-800);
}

.ds-text-primary-700 {
  color: var(--primary-700);
}

.ds-text-primary-600 {
  color: var(--primary-600);
}

.ds-text-primary-500 {
  color: var(--primary-500);
}

.ds-text-primary-400 {
  color: var(--primary-400);
}

.ds-text-primary-300 {
  color: var(--primary-300);
}

.ds-text-primary-200 {
  color: var(--primary-200);
}

.ds-text-primary-100 {
  color: var(--primary-100);
}

.ds-text-secondary-900 {
  color: var(--secondary-900);
}

.ds-text-secondary-800 {
  color: var(--secondary-800);
}

.ds-text-secondary-700 {
  color: var(--secondary-700);
}

.ds-text-secondary-600 {
  color: var(--secondary-600);
}

.ds-text-secondary-500 {
  color: var(--secondary-500);
}

.ds-text-neutral-900 {
  color: var(--neutral-900);
}

.ds-text-neutral-800 {
  color: var(--neutral-800);
}

.ds-text-neutral-700 {
  color: var(--neutral-700);
}

.ds-text-neutral-600 {
  color: var(--neutral-600);
}

.ds-text-neutral-500 {
  color: var(--neutral-500);
}

.ds-text-neutral-400 {
  color: var(--neutral-400);
}

.ds-text-neutral-300 {
  color: var(--neutral-300);
}

.ds-text-neutral-200 {
  color: var(--neutral-200);
}

.ds-text-neutral-100 {
  color: var(--neutral-100);
}

.ds-text-neutral-50 {
  color: var(--neutral-50);
}

.ds-text-neutral-0 {
  color: var(--neutral-0);
}

.ds-text-success-900 {
  color: var(--success-900);
}

.ds-text-success-700 {
  color: var(--success-700);
}

.ds-text-success-500 {
  color: var(--success-500);
}

.ds-text-success-300 {
  color: var(--success-300);
}

.ds-text-warning-900 {
  color: var(--warning-900);
}

.ds-text-warning-700 {
  color: var(--warning-700);
}

.ds-text-warning-500 {
  color: var(--warning-500);
}

.ds-text-warning-300 {
  color: var(--warning-300);
}

.ds-text-error-900 {
  color: var(--error-900);
}

.ds-text-error-700 {
  color: var(--error-700);
}

.ds-text-error-500 {
  color: var(--error-500);
}

.ds-text-error-300 {
  color: var(--error-300);
}

.ds-border-primary-950 {
  border-color: var(--primary-950);
}

.ds-border-primary-900 {
  border-color: var(--primary-900);
}

.ds-border-primary-800 {
  border-color: var(--primary-800);
}

.ds-border-primary-700 {
  border-color: var(--primary-700);
}

.ds-border-primary-600 {
  border-color: var(--primary-600);
}

.ds-border-primary-500 {
  border-color: var(--primary-500);
}

.ds-border-primary-400 {
  border-color: var(--primary-400);
}

.ds-border-primary-300 {
  border-color: var(--primary-300);
}

.ds-border-primary-200 {
  border-color: var(--primary-200);
}

.ds-border-primary-100 {
  border-color: var(--primary-100);
}

.ds-border-secondary-900 {
  border-color: var(--secondary-900);
}

.ds-border-secondary-800 {
  border-color: var(--secondary-800);
}

.ds-border-secondary-700 {
  border-color: var(--secondary-700);
}

.ds-border-secondary-600 {
  border-color: var(--secondary-600);
}

.ds-border-secondary-500 {
  border-color: var(--secondary-500);
}

.ds-border-neutral-900 {
  border-color: var(--neutral-900);
}

.ds-border-neutral-800 {
  border-color: var(--neutral-800);
}

.ds-border-neutral-700 {
  border-color: var(--neutral-700);
}

.ds-border-neutral-600 {
  border-color: var(--neutral-600);
}

.ds-border-neutral-500 {
  border-color: var(--neutral-500);
}

.ds-border-neutral-400 {
  border-color: var(--neutral-400);
}

.ds-border-neutral-300 {
  border-color: var(--neutral-300);
}

.ds-border-neutral-200 {
  border-color: var(--neutral-200);
}

.ds-border-neutral-100 {
  border-color: var(--neutral-100);
}

.ds-border-neutral-50 {
  border-color: var(--neutral-50);
}

.ds-border-neutral-0 {
  border-color: var(--neutral-0);
}

.ds-border-success-900 {
  border-color: var(--success-900);
}

.ds-border-success-700 {
  border-color: var(--success-700);
}

.ds-border-success-500 {
  border-color: var(--success-500);
}

.ds-border-success-300 {
  border-color: var(--success-300);
}

.ds-border-warning-900 {
  border-color: var(--warning-900);
}

.ds-border-warning-700 {
  border-color: var(--warning-700);
}

.ds-border-warning-500 {
  border-color: var(--warning-500);
}

.ds-border-warning-300 {
  border-color: var(--warning-300);
}

.ds-border-error-900 {
  border-color: var(--error-900);
}

.ds-border-error-700 {
  border-color: var(--error-700);
}

.ds-border-error-500 {
  border-color: var(--error-500);
}

.ds-border-error-300 {
  border-color: var(--error-300);
}

.bg-transparent {
  background-color: transparent;
}

.ds-px-container {
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}
@media (min-width: 768px) {
  .ds-px-container {
    padding-left: var(--space-8);
    padding-right: var(--space-8);
  }
}
@media (min-width: 1280px) {
  .ds-px-container {
    padding-left: var(--space-11);
    padding-right: var(--space-11);
  }
}

.ds-mx-container {
  margin-left: var(--space-6);
  margin-right: var(--space-6);
}
@media (min-width: 768px) {
  .ds-mx-container {
    margin-left: var(--space-8);
    margin-right: var(--space-8);
  }
}
@media (min-width: 1280px) {
  .ds-mx-container {
    margin-left: var(--space-11);
    margin-right: var(--space-11);
  }
}

.ds-p-margin {
  padding-top: 96px;
}
@media (min-width: 768px) {
  .ds-p-margin {
    padding-top: 114px;
  }
}
@media (min-width: 1280px) {
  .ds-p-margin {
    padding-top: 144px;
  }
}

.ds-m-margin {
  margin-top: 96px;
}
@media (min-width: 768px) {
  .ds-m-margin {
    margin-top: 114px;
  }
}
@media (min-width: 1280px) {
  .ds-m-margin {
    margin-top: 144px;
  }
}

/* Spacing System */
/* Grid System */
/* Spacing System */
/* Grid System Mixins */
/* Grid Layout Templates */
.ds-grid-sidebar {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: var(--space-lg);
  min-height: 100vh;
}
@media (max-width: 767px) {
  .ds-grid-sidebar {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
}

.ds-grid-three-col {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: var(--space-lg);
}
@media (max-width: 1023px) {
  .ds-grid-three-col {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ds-grid-three-col {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
  .ds-grid-three-col > :nth-child(2) {
    grid-column: 1/-1;
    order: -1;
  }
}

.ds-grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-lg);
}
@media (max-width: 639px) {
  .ds-grid-cards {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-md);
  }
}
@media (min-width: 1280px) {
  .ds-grid-cards {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--space-xl);
  }
}

.ds-grid-cards-sm {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-md);
}
@media (max-width: 639px) {
  .ds-grid-cards-sm {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-sm);
  }
}

.ds-grid-cards-lg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: var(--space-xl);
}
@media (max-width: 767px) {
  .ds-grid-cards-lg {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-lg);
  }
}
@media (max-width: 639px) {
  .ds-grid-cards-lg {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

.ds-grid-layout {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 1fr;
  min-height: 100vh;
  gap: 0;
}
.ds-grid-layout.ds-grid-layout-gap {
  gap: var(--space-lg);
  padding: var(--space-lg);
}

.ds-grid-dashboard {
  display: grid;
  grid-template-areas: "sidebar header" "sidebar main";
  grid-template-columns: 250px 1fr;
  grid-template-rows: auto 1fr;
  min-height: 100vh;
  gap: 0;
}
.ds-grid-dashboard > .ds-dashboard-sidebar {
  grid-area: sidebar;
}
.ds-grid-dashboard > .ds-dashboard-header {
  grid-area: header;
}
.ds-grid-dashboard > .ds-dashboard-main {
  grid-area: main;
}
@media (max-width: 1023px) {
  .ds-grid-dashboard {
    grid-template-areas: "header" "main" "sidebar";
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
  }
}
.ds-grid-dashboard.ds-grid-dashboard-gap {
  gap: var(--space-md);
  padding: var(--space-md);
}

.ds-grid-nav-horizontal {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
  min-height: 100vh;
  gap: 0;
}
.ds-grid-nav-horizontal > .ds-nav-header {
  grid-row: 1;
}
.ds-grid-nav-horizontal > .ds-nav-main {
  grid-row: 2;
}
.ds-grid-nav-horizontal.ds-grid-nav-gap {
  gap: var(--space-lg);
  padding: var(--space-lg);
}

.ds-grid-nav-vertical {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: 1fr;
  min-height: 100vh;
  gap: 0;
}
.ds-grid-nav-vertical > .ds-nav-sidebar {
  grid-column: 1;
}
.ds-grid-nav-vertical > .ds-nav-main {
  grid-column: 2;
}
@media (max-width: 767px) {
  .ds-grid-nav-vertical {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
  .ds-grid-nav-vertical > .ds-nav-sidebar {
    grid-column: 1;
    grid-row: 1;
  }
  .ds-grid-nav-vertical > .ds-nav-main {
    grid-column: 1;
    grid-row: 2;
  }
}
.ds-grid-nav-vertical.ds-grid-nav-gap {
  gap: var(--space-md);
  padding: var(--space-md);
}

.ds-grid-nav-complex {
  display: grid;
  grid-template-areas: "header header" "sidebar main";
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto 1fr;
  min-height: 100vh;
  gap: 0;
}
.ds-grid-nav-complex > .ds-nav-header {
  grid-area: header;
}
.ds-grid-nav-complex > .ds-nav-sidebar {
  grid-area: sidebar;
}
.ds-grid-nav-complex > .ds-nav-main {
  grid-area: main;
}
@media (max-width: 767px) {
  .ds-grid-nav-complex {
    grid-template-areas: "header" "main" "sidebar";
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
  }
}
.ds-grid-nav-complex.ds-grid-nav-complex-gap {
  gap: var(--space-md);
  padding: var(--space-md);
}

.ds-grid-content {
  display: grid;
  grid-template-columns: 1fr min(65ch, 100%) 1fr;
  grid-template-rows: auto 1fr auto;
  gap: var(--space-lg);
}
.ds-grid-content > * {
  grid-column: 2;
}
.ds-grid-content > .ds-content-full {
  grid-column: 1/-1;
}
.ds-grid-content > .ds-content-wide {
  grid-column: 1/-1;
  max-width: 80ch;
  margin: 0 auto;
}

.ds-grid-asymmetric {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--space-lg);
}
@media (max-width: 767px) {
  .ds-grid-asymmetric {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
}

.ds-grid-asymmetric-reverse {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--space-lg);
}
@media (max-width: 767px) {
  .ds-grid-asymmetric-reverse {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
}

@supports (display: grid) {
  .ds-grid {
    display: grid;
    width: 100%;
    contain: layout style;
  }
}
@supports not (display: grid) {
  .ds-grid {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
}
.ds-grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.ds-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ds-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ds-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ds-grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ds-grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ds-grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ds-grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.ds-grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.ds-grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.ds-grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.ds-grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.ds-grid-cols-auto {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

.ds-grid-cols-auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.ds-grid-gap {
  gap: var(--space-lg);
}

.ds-grid-gap-xxs {
  gap: var(--space-xxs);
}

.ds-grid-gap-x-xxs {
  column-gap: var(--space-xxs);
}

.ds-grid-gap-y-xxs {
  row-gap: var(--space-xxs);
}

.ds-grid-gap-xs {
  gap: var(--space-xs);
}

.ds-grid-gap-x-xs {
  column-gap: var(--space-xs);
}

.ds-grid-gap-y-xs {
  row-gap: var(--space-xs);
}

.ds-grid-gap-sm {
  gap: var(--space-sm);
}

.ds-grid-gap-x-sm {
  column-gap: var(--space-sm);
}

.ds-grid-gap-y-sm {
  row-gap: var(--space-sm);
}

.ds-grid-gap-md {
  gap: var(--space-md);
}

.ds-grid-gap-x-md {
  column-gap: var(--space-md);
}

.ds-grid-gap-y-md {
  row-gap: var(--space-md);
}

.ds-grid-gap-lg {
  gap: var(--space-lg);
}

.ds-grid-gap-x-lg {
  column-gap: var(--space-lg);
}

.ds-grid-gap-y-lg {
  row-gap: var(--space-lg);
}

.ds-grid-gap-xl {
  gap: var(--space-xl);
}

.ds-grid-gap-x-xl {
  column-gap: var(--space-xl);
}

.ds-grid-gap-y-xl {
  row-gap: var(--space-xl);
}

.ds-grid-gap-2xl {
  gap: var(--space-2xl);
}

.ds-grid-gap-x-2xl {
  column-gap: var(--space-2xl);
}

.ds-grid-gap-y-2xl {
  row-gap: var(--space-2xl);
}

.ds-grid-gap-3xl {
  gap: var(--space-3xl);
}

.ds-grid-gap-x-3xl {
  column-gap: var(--space-3xl);
}

.ds-grid-gap-y-3xl {
  row-gap: var(--space-3xl);
}

.ds-grid-gap-4xl {
  gap: var(--space-4xl);
}

.ds-grid-gap-x-4xl {
  column-gap: var(--space-4xl);
}

.ds-grid-gap-y-4xl {
  row-gap: var(--space-4xl);
}

.ds-grid-gap-5xl {
  gap: var(--space-5xl);
}

.ds-grid-gap-x-5xl {
  column-gap: var(--space-5xl);
}

.ds-grid-gap-y-5xl {
  row-gap: var(--space-5xl);
}

.ds-col-span-1 {
  grid-column: span 1/span 1;
}

.ds-col-span-2 {
  grid-column: span 2/span 2;
}

.ds-col-span-3 {
  grid-column: span 3/span 3;
}

.ds-col-span-4 {
  grid-column: span 4/span 4;
}

.ds-col-span-5 {
  grid-column: span 5/span 5;
}

.ds-col-span-6 {
  grid-column: span 6/span 6;
}

.ds-col-span-7 {
  grid-column: span 7/span 7;
}

.ds-col-span-8 {
  grid-column: span 8/span 8;
}

.ds-col-span-9 {
  grid-column: span 9/span 9;
}

.ds-col-span-10 {
  grid-column: span 10/span 10;
}

.ds-col-span-11 {
  grid-column: span 11/span 11;
}

.ds-col-span-12 {
  grid-column: span 12/span 12;
}

.ds-col-span-full {
  grid-column: 1/-1;
}

.ds-col-span-1-center {
  grid-column: 6.5/7.5;
}

.ds-col-span-2-center {
  grid-column: 6/8;
}

.ds-col-span-3-center {
  grid-column: 5.5/8.5;
}

.ds-col-span-4-center {
  grid-column: 5/9;
}

.ds-col-span-5-center {
  grid-column: 4.5/9.5;
}

.ds-col-span-6-center {
  grid-column: 4/10;
}

.ds-col-span-7-center {
  grid-column: 3.5/10.5;
}

.ds-col-span-8-center {
  grid-column: 3/11;
}

.ds-col-span-9-center {
  grid-column: 2.5/11.5;
}

.ds-col-span-10-center {
  grid-column: 2/12;
}

.ds-col-span-11-center {
  grid-column: 1.5/12.5;
}

.ds-col-span-12-center {
  grid-column: 1/13;
}

.ds-col-auto {
  grid-column: auto;
  min-width: 0;
}

.ds-col-span-to-end {
  grid-column-end: -1;
  min-width: 0;
}

.ds-col-start-1 {
  grid-column-start: 1;
}

.ds-col-start-2 {
  grid-column-start: 2;
}

.ds-col-start-3 {
  grid-column-start: 3;
}

.ds-col-start-4 {
  grid-column-start: 4;
}

.ds-col-start-5 {
  grid-column-start: 5;
}

.ds-col-start-6 {
  grid-column-start: 6;
}

.ds-col-start-7 {
  grid-column-start: 7;
}

.ds-col-start-8 {
  grid-column-start: 8;
}

.ds-col-start-9 {
  grid-column-start: 9;
}

.ds-col-start-10 {
  grid-column-start: 10;
}

.ds-col-start-11 {
  grid-column-start: 11;
}

.ds-col-start-12 {
  grid-column-start: 12;
}

.ds-col-start-13 {
  grid-column-start: 13;
}

.ds-col-end-1 {
  grid-column-end: 1;
}

.ds-col-end-2 {
  grid-column-end: 2;
}

.ds-col-end-3 {
  grid-column-end: 3;
}

.ds-col-end-4 {
  grid-column-end: 4;
}

.ds-col-end-5 {
  grid-column-end: 5;
}

.ds-col-end-6 {
  grid-column-end: 6;
}

.ds-col-end-7 {
  grid-column-end: 7;
}

.ds-col-end-8 {
  grid-column-end: 8;
}

.ds-col-end-9 {
  grid-column-end: 9;
}

.ds-col-end-10 {
  grid-column-end: 10;
}

.ds-col-end-11 {
  grid-column-end: 11;
}

.ds-col-end-12 {
  grid-column-end: 12;
}

.ds-col-end-13 {
  grid-column-end: 13;
}

.ds-col-start-auto {
  grid-column-start: auto;
}

.ds-col-end-auto {
  grid-column-end: auto;
}

.ds-row-span-1 {
  grid-row: span 1/span 1;
}

.ds-row-span-2 {
  grid-row: span 2/span 2;
}

.ds-row-span-3 {
  grid-row: span 3/span 3;
}

.ds-row-span-4 {
  grid-row: span 4/span 4;
}

.ds-row-span-5 {
  grid-row: span 5/span 5;
}

.ds-row-span-6 {
  grid-row: span 6/span 6;
}

.ds-row-span-full {
  grid-row: 1/-1;
}

.ds-row-start-1 {
  grid-row-start: 1;
}

.ds-row-start-2 {
  grid-row-start: 2;
}

.ds-row-start-3 {
  grid-row-start: 3;
}

.ds-row-start-4 {
  grid-row-start: 4;
}

.ds-row-start-5 {
  grid-row-start: 5;
}

.ds-row-start-6 {
  grid-row-start: 6;
}

.ds-row-start-7 {
  grid-row-start: 7;
}

.ds-row-end-1 {
  grid-row-end: 1;
}

.ds-row-end-2 {
  grid-row-end: 2;
}

.ds-row-end-3 {
  grid-row-end: 3;
}

.ds-row-end-4 {
  grid-row-end: 4;
}

.ds-row-end-5 {
  grid-row-end: 5;
}

.ds-row-end-6 {
  grid-row-end: 6;
}

.ds-row-end-7 {
  grid-row-end: 7;
}

.ds-row-start-auto {
  grid-row-start: auto;
}

.ds-row-end-auto {
  grid-row-end: auto;
}

.ds-justify-items-start {
  justify-items: start;
}

.ds-justify-items-end {
  justify-items: end;
}

.ds-justify-items-center {
  justify-items: center;
}

.ds-justify-items-stretch {
  justify-items: stretch;
}

.ds-align-items-start {
  align-items: start;
}

.ds-align-items-end {
  align-items: end;
}

.ds-align-items-center {
  align-items: center;
}

.ds-align-items-stretch {
  align-items: stretch;
}

.ds-justify-content-start {
  justify-content: start;
}

.ds-justify-content-end {
  justify-content: end;
}

.ds-justify-content-center {
  justify-content: center;
}

.ds-justify-content-stretch {
  justify-content: stretch;
}

.ds-justify-content-space-between {
  justify-content: space-between;
}

.ds-justify-content-space-around {
  justify-content: space-around;
}

.ds-justify-content-space-evenly {
  justify-content: space-evenly;
}

.ds-align-content-start {
  align-content: start;
}

.ds-align-content-end {
  align-content: end;
}

.ds-align-content-center {
  align-content: center;
}

.ds-align-content-stretch {
  align-content: stretch;
}

.ds-align-content-space-between {
  align-content: space-between;
}

.ds-align-content-space-around {
  align-content: space-around;
}

.ds-align-content-space-evenly {
  align-content: space-evenly;
}

.ds-justify-self-start {
  justify-self: start;
}

.ds-justify-self-end {
  justify-self: end;
}

.ds-justify-self-center {
  justify-self: center;
}

.ds-justify-self-stretch {
  justify-self: stretch;
}

.ds-justify-self-auto {
  justify-self: auto;
}

.ds-align-self-start {
  align-self: start;
}

.ds-align-self-end {
  align-self: end;
}

.ds-align-self-center {
  align-self: center;
}

.ds-align-self-stretch {
  align-self: stretch;
}

.ds-align-self-auto {
  align-self: auto;
}

@media (min-width: 640px) {
  .ds-sm\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-auto {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .ds-sm\:grid-cols-auto-fit {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .ds-sm\:grid-gap-xxs {
    gap: var(--space-xxs);
  }
  .ds-sm\:grid-gap-x-xxs {
    column-gap: var(--space-xxs);
  }
  .ds-sm\:grid-gap-y-xxs {
    row-gap: var(--space-xxs);
  }
  .ds-sm\:grid-gap-xs {
    gap: var(--space-xs);
  }
  .ds-sm\:grid-gap-x-xs {
    column-gap: var(--space-xs);
  }
  .ds-sm\:grid-gap-y-xs {
    row-gap: var(--space-xs);
  }
  .ds-sm\:grid-gap-sm {
    gap: var(--space-sm);
  }
  .ds-sm\:grid-gap-x-sm {
    column-gap: var(--space-sm);
  }
  .ds-sm\:grid-gap-y-sm {
    row-gap: var(--space-sm);
  }
  .ds-sm\:grid-gap-md {
    gap: var(--space-md);
  }
  .ds-sm\:grid-gap-x-md {
    column-gap: var(--space-md);
  }
  .ds-sm\:grid-gap-y-md {
    row-gap: var(--space-md);
  }
  .ds-sm\:grid-gap-lg {
    gap: var(--space-lg);
  }
  .ds-sm\:grid-gap-x-lg {
    column-gap: var(--space-lg);
  }
  .ds-sm\:grid-gap-y-lg {
    row-gap: var(--space-lg);
  }
  .ds-sm\:grid-gap-xl {
    gap: var(--space-xl);
  }
  .ds-sm\:grid-gap-x-xl {
    column-gap: var(--space-xl);
  }
  .ds-sm\:grid-gap-y-xl {
    row-gap: var(--space-xl);
  }
  .ds-sm\:grid-gap-2xl {
    gap: var(--space-2xl);
  }
  .ds-sm\:grid-gap-x-2xl {
    column-gap: var(--space-2xl);
  }
  .ds-sm\:grid-gap-y-2xl {
    row-gap: var(--space-2xl);
  }
  .ds-sm\:grid-gap-3xl {
    gap: var(--space-3xl);
  }
  .ds-sm\:grid-gap-x-3xl {
    column-gap: var(--space-3xl);
  }
  .ds-sm\:grid-gap-y-3xl {
    row-gap: var(--space-3xl);
  }
  .ds-sm\:grid-gap-4xl {
    gap: var(--space-4xl);
  }
  .ds-sm\:grid-gap-x-4xl {
    column-gap: var(--space-4xl);
  }
  .ds-sm\:grid-gap-y-4xl {
    row-gap: var(--space-4xl);
  }
  .ds-sm\:grid-gap-5xl {
    gap: var(--space-5xl);
  }
  .ds-sm\:grid-gap-x-5xl {
    column-gap: var(--space-5xl);
  }
  .ds-sm\:grid-gap-y-5xl {
    row-gap: var(--space-5xl);
  }
  .ds-sm\:col-span-1 {
    grid-column: span 1/span 1;
  }
  .ds-sm\:col-span-2 {
    grid-column: span 2/span 2;
  }
  .ds-sm\:col-span-3 {
    grid-column: span 3/span 3;
  }
  .ds-sm\:col-span-4 {
    grid-column: span 4/span 4;
  }
  .ds-sm\:col-span-5 {
    grid-column: span 5/span 5;
  }
  .ds-sm\:col-span-6 {
    grid-column: span 6/span 6;
  }
  .ds-sm\:col-span-7 {
    grid-column: span 7/span 7;
  }
  .ds-sm\:col-span-8 {
    grid-column: span 8/span 8;
  }
  .ds-sm\:col-span-9 {
    grid-column: span 9/span 9;
  }
  .ds-sm\:col-span-10 {
    grid-column: span 10/span 10;
  }
  .ds-sm\:col-span-11 {
    grid-column: span 11/span 11;
  }
  .ds-sm\:col-span-12 {
    grid-column: span 12/span 12;
  }
  .ds-sm\:col-span-full {
    grid-column: 1/-1;
  }
  .ds-sm\:col-span-1-center {
    grid-column: 6.5/7.5;
  }
  .ds-sm\:col-span-2-center {
    grid-column: 6/8;
  }
  .ds-sm\:col-span-3-center {
    grid-column: 5.5/8.5;
  }
  .ds-sm\:col-span-4-center {
    grid-column: 5/9;
  }
  .ds-sm\:col-span-5-center {
    grid-column: 4.5/9.5;
  }
  .ds-sm\:col-span-6-center {
    grid-column: 4/10;
  }
  .ds-sm\:col-span-7-center {
    grid-column: 3.5/10.5;
  }
  .ds-sm\:col-span-8-center {
    grid-column: 3/11;
  }
  .ds-sm\:col-span-9-center {
    grid-column: 2.5/11.5;
  }
  .ds-sm\:col-span-10-center {
    grid-column: 2/12;
  }
  .ds-sm\:col-span-11-center {
    grid-column: 1.5/12.5;
  }
  .ds-sm\:col-span-12-center {
    grid-column: 1/13;
  }
  .ds-sm\:col-auto {
    grid-column: auto;
    min-width: 0;
  }
  .ds-sm\:col-span-to-end {
    grid-column-end: -1;
    min-width: 0;
  }
  .ds-sm\:col-start-1 {
    grid-column-start: 1;
  }
  .ds-sm\:col-start-2 {
    grid-column-start: 2;
  }
  .ds-sm\:col-start-3 {
    grid-column-start: 3;
  }
  .ds-sm\:col-start-4 {
    grid-column-start: 4;
  }
  .ds-sm\:col-start-5 {
    grid-column-start: 5;
  }
  .ds-sm\:col-start-6 {
    grid-column-start: 6;
  }
  .ds-sm\:col-start-7 {
    grid-column-start: 7;
  }
  .ds-sm\:col-start-8 {
    grid-column-start: 8;
  }
  .ds-sm\:col-start-9 {
    grid-column-start: 9;
  }
  .ds-sm\:col-start-10 {
    grid-column-start: 10;
  }
  .ds-sm\:col-start-11 {
    grid-column-start: 11;
  }
  .ds-sm\:col-start-12 {
    grid-column-start: 12;
  }
  .ds-sm\:col-start-13 {
    grid-column-start: 13;
  }
  .ds-sm\:col-end-1 {
    grid-column-end: 1;
  }
  .ds-sm\:col-end-2 {
    grid-column-end: 2;
  }
  .ds-sm\:col-end-3 {
    grid-column-end: 3;
  }
  .ds-sm\:col-end-4 {
    grid-column-end: 4;
  }
  .ds-sm\:col-end-5 {
    grid-column-end: 5;
  }
  .ds-sm\:col-end-6 {
    grid-column-end: 6;
  }
  .ds-sm\:col-end-7 {
    grid-column-end: 7;
  }
  .ds-sm\:col-end-8 {
    grid-column-end: 8;
  }
  .ds-sm\:col-end-9 {
    grid-column-end: 9;
  }
  .ds-sm\:col-end-10 {
    grid-column-end: 10;
  }
  .ds-sm\:col-end-11 {
    grid-column-end: 11;
  }
  .ds-sm\:col-end-12 {
    grid-column-end: 12;
  }
  .ds-sm\:col-end-13 {
    grid-column-end: 13;
  }
  .ds-sm\:col-start-auto {
    grid-column-start: auto;
  }
  .ds-sm\:col-end-auto {
    grid-column-end: auto;
  }
  .ds-sm\:row-span-1 {
    grid-row: span 1/span 1;
  }
  .ds-sm\:row-span-2 {
    grid-row: span 2/span 2;
  }
  .ds-sm\:row-span-3 {
    grid-row: span 3/span 3;
  }
  .ds-sm\:row-span-4 {
    grid-row: span 4/span 4;
  }
  .ds-sm\:row-span-5 {
    grid-row: span 5/span 5;
  }
  .ds-sm\:row-span-6 {
    grid-row: span 6/span 6;
  }
  .ds-sm\:row-span-full {
    grid-row: 1/-1;
  }
  .ds-sm\:row-start-1 {
    grid-row-start: 1;
  }
  .ds-sm\:row-start-2 {
    grid-row-start: 2;
  }
  .ds-sm\:row-start-3 {
    grid-row-start: 3;
  }
  .ds-sm\:row-start-4 {
    grid-row-start: 4;
  }
  .ds-sm\:row-start-5 {
    grid-row-start: 5;
  }
  .ds-sm\:row-start-6 {
    grid-row-start: 6;
  }
  .ds-sm\:row-start-7 {
    grid-row-start: 7;
  }
  .ds-sm\:row-end-1 {
    grid-row-end: 1;
  }
  .ds-sm\:row-end-2 {
    grid-row-end: 2;
  }
  .ds-sm\:row-end-3 {
    grid-row-end: 3;
  }
  .ds-sm\:row-end-4 {
    grid-row-end: 4;
  }
  .ds-sm\:row-end-5 {
    grid-row-end: 5;
  }
  .ds-sm\:row-end-6 {
    grid-row-end: 6;
  }
  .ds-sm\:row-end-7 {
    grid-row-end: 7;
  }
  .ds-sm\:row-start-auto {
    grid-row-start: auto;
  }
  .ds-sm\:row-end-auto {
    grid-row-end: auto;
  }
  .ds-sm\:justify-items-start {
    justify-items: start;
  }
  .ds-sm\:justify-items-end {
    justify-items: end;
  }
  .ds-sm\:justify-items-center {
    justify-items: center;
  }
  .ds-sm\:justify-items-stretch {
    justify-items: stretch;
  }
  .ds-sm\:align-items-start {
    align-items: start;
  }
  .ds-sm\:align-items-end {
    align-items: end;
  }
  .ds-sm\:align-items-center {
    align-items: center;
  }
  .ds-sm\:align-items-stretch {
    align-items: stretch;
  }
  .ds-sm\:justify-content-start {
    justify-content: start;
  }
  .ds-sm\:justify-content-end {
    justify-content: end;
  }
  .ds-sm\:justify-content-center {
    justify-content: center;
  }
  .ds-sm\:justify-content-stretch {
    justify-content: stretch;
  }
  .ds-sm\:justify-content-space-between {
    justify-content: space-between;
  }
  .ds-sm\:justify-content-space-around {
    justify-content: space-around;
  }
  .ds-sm\:justify-content-space-evenly {
    justify-content: space-evenly;
  }
  .ds-sm\:align-content-start {
    align-content: start;
  }
  .ds-sm\:align-content-end {
    align-content: end;
  }
  .ds-sm\:align-content-center {
    align-content: center;
  }
  .ds-sm\:align-content-stretch {
    align-content: stretch;
  }
  .ds-sm\:align-content-space-between {
    align-content: space-between;
  }
  .ds-sm\:align-content-space-around {
    align-content: space-around;
  }
  .ds-sm\:align-content-space-evenly {
    align-content: space-evenly;
  }
  .ds-sm\:justify-self-start {
    justify-self: start;
  }
  .ds-sm\:justify-self-end {
    justify-self: end;
  }
  .ds-sm\:justify-self-center {
    justify-self: center;
  }
  .ds-sm\:justify-self-stretch {
    justify-self: stretch;
  }
  .ds-sm\:justify-self-auto {
    justify-self: auto;
  }
  .ds-sm\:align-self-start {
    align-self: start;
  }
  .ds-sm\:align-self-end {
    align-self: end;
  }
  .ds-sm\:align-self-center {
    align-self: center;
  }
  .ds-sm\:align-self-stretch {
    align-self: stretch;
  }
  .ds-sm\:align-self-auto {
    align-self: auto;
  }
}
@media (min-width: 768px) {
  .ds-md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-auto {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .ds-md\:grid-cols-auto-fit {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .ds-md\:grid-gap-xxs {
    gap: var(--space-xxs);
  }
  .ds-md\:grid-gap-x-xxs {
    column-gap: var(--space-xxs);
  }
  .ds-md\:grid-gap-y-xxs {
    row-gap: var(--space-xxs);
  }
  .ds-md\:grid-gap-xs {
    gap: var(--space-xs);
  }
  .ds-md\:grid-gap-x-xs {
    column-gap: var(--space-xs);
  }
  .ds-md\:grid-gap-y-xs {
    row-gap: var(--space-xs);
  }
  .ds-md\:grid-gap-sm {
    gap: var(--space-sm);
  }
  .ds-md\:grid-gap-x-sm {
    column-gap: var(--space-sm);
  }
  .ds-md\:grid-gap-y-sm {
    row-gap: var(--space-sm);
  }
  .ds-md\:grid-gap-md {
    gap: var(--space-md);
  }
  .ds-md\:grid-gap-x-md {
    column-gap: var(--space-md);
  }
  .ds-md\:grid-gap-y-md {
    row-gap: var(--space-md);
  }
  .ds-md\:grid-gap-lg {
    gap: var(--space-lg);
  }
  .ds-md\:grid-gap-x-lg {
    column-gap: var(--space-lg);
  }
  .ds-md\:grid-gap-y-lg {
    row-gap: var(--space-lg);
  }
  .ds-md\:grid-gap-xl {
    gap: var(--space-xl);
  }
  .ds-md\:grid-gap-x-xl {
    column-gap: var(--space-xl);
  }
  .ds-md\:grid-gap-y-xl {
    row-gap: var(--space-xl);
  }
  .ds-md\:grid-gap-2xl {
    gap: var(--space-2xl);
  }
  .ds-md\:grid-gap-x-2xl {
    column-gap: var(--space-2xl);
  }
  .ds-md\:grid-gap-y-2xl {
    row-gap: var(--space-2xl);
  }
  .ds-md\:grid-gap-3xl {
    gap: var(--space-3xl);
  }
  .ds-md\:grid-gap-x-3xl {
    column-gap: var(--space-3xl);
  }
  .ds-md\:grid-gap-y-3xl {
    row-gap: var(--space-3xl);
  }
  .ds-md\:grid-gap-4xl {
    gap: var(--space-4xl);
  }
  .ds-md\:grid-gap-x-4xl {
    column-gap: var(--space-4xl);
  }
  .ds-md\:grid-gap-y-4xl {
    row-gap: var(--space-4xl);
  }
  .ds-md\:grid-gap-5xl {
    gap: var(--space-5xl);
  }
  .ds-md\:grid-gap-x-5xl {
    column-gap: var(--space-5xl);
  }
  .ds-md\:grid-gap-y-5xl {
    row-gap: var(--space-5xl);
  }
  .ds-md\:col-span-1 {
    grid-column: span 1/span 1;
  }
  .ds-md\:col-span-2 {
    grid-column: span 2/span 2;
  }
  .ds-md\:col-span-3 {
    grid-column: span 3/span 3;
  }
  .ds-md\:col-span-4 {
    grid-column: span 4/span 4;
  }
  .ds-md\:col-span-5 {
    grid-column: span 5/span 5;
  }
  .ds-md\:col-span-6 {
    grid-column: span 6/span 6;
  }
  .ds-md\:col-span-7 {
    grid-column: span 7/span 7;
  }
  .ds-md\:col-span-8 {
    grid-column: span 8/span 8;
  }
  .ds-md\:col-span-9 {
    grid-column: span 9/span 9;
  }
  .ds-md\:col-span-10 {
    grid-column: span 10/span 10;
  }
  .ds-md\:col-span-11 {
    grid-column: span 11/span 11;
  }
  .ds-md\:col-span-12 {
    grid-column: span 12/span 12;
  }
  .ds-md\:col-span-full {
    grid-column: 1/-1;
  }
  .ds-md\:col-span-1-center {
    grid-column: 6.5/7.5;
  }
  .ds-md\:col-span-2-center {
    grid-column: 6/8;
  }
  .ds-md\:col-span-3-center {
    grid-column: 5.5/8.5;
  }
  .ds-md\:col-span-4-center {
    grid-column: 5/9;
  }
  .ds-md\:col-span-5-center {
    grid-column: 4.5/9.5;
  }
  .ds-md\:col-span-6-center {
    grid-column: 4/10;
  }
  .ds-md\:col-span-7-center {
    grid-column: 3.5/10.5;
  }
  .ds-md\:col-span-8-center {
    grid-column: 3/11;
  }
  .ds-md\:col-span-9-center {
    grid-column: 2.5/11.5;
  }
  .ds-md\:col-span-10-center {
    grid-column: 2/12;
  }
  .ds-md\:col-span-11-center {
    grid-column: 1.5/12.5;
  }
  .ds-md\:col-span-12-center {
    grid-column: 1/13;
  }
  .ds-md\:col-auto {
    grid-column: auto;
    min-width: 0;
  }
  .ds-md\:col-span-to-end {
    grid-column-end: -1;
    min-width: 0;
  }
  .ds-md\:col-start-1 {
    grid-column-start: 1;
  }
  .ds-md\:col-start-2 {
    grid-column-start: 2;
  }
  .ds-md\:col-start-3 {
    grid-column-start: 3;
  }
  .ds-md\:col-start-4 {
    grid-column-start: 4;
  }
  .ds-md\:col-start-5 {
    grid-column-start: 5;
  }
  .ds-md\:col-start-6 {
    grid-column-start: 6;
  }
  .ds-md\:col-start-7 {
    grid-column-start: 7;
  }
  .ds-md\:col-start-8 {
    grid-column-start: 8;
  }
  .ds-md\:col-start-9 {
    grid-column-start: 9;
  }
  .ds-md\:col-start-10 {
    grid-column-start: 10;
  }
  .ds-md\:col-start-11 {
    grid-column-start: 11;
  }
  .ds-md\:col-start-12 {
    grid-column-start: 12;
  }
  .ds-md\:col-start-13 {
    grid-column-start: 13;
  }
  .ds-md\:col-end-1 {
    grid-column-end: 1;
  }
  .ds-md\:col-end-2 {
    grid-column-end: 2;
  }
  .ds-md\:col-end-3 {
    grid-column-end: 3;
  }
  .ds-md\:col-end-4 {
    grid-column-end: 4;
  }
  .ds-md\:col-end-5 {
    grid-column-end: 5;
  }
  .ds-md\:col-end-6 {
    grid-column-end: 6;
  }
  .ds-md\:col-end-7 {
    grid-column-end: 7;
  }
  .ds-md\:col-end-8 {
    grid-column-end: 8;
  }
  .ds-md\:col-end-9 {
    grid-column-end: 9;
  }
  .ds-md\:col-end-10 {
    grid-column-end: 10;
  }
  .ds-md\:col-end-11 {
    grid-column-end: 11;
  }
  .ds-md\:col-end-12 {
    grid-column-end: 12;
  }
  .ds-md\:col-end-13 {
    grid-column-end: 13;
  }
  .ds-md\:col-start-auto {
    grid-column-start: auto;
  }
  .ds-md\:col-end-auto {
    grid-column-end: auto;
  }
  .ds-md\:row-span-1 {
    grid-row: span 1/span 1;
  }
  .ds-md\:row-span-2 {
    grid-row: span 2/span 2;
  }
  .ds-md\:row-span-3 {
    grid-row: span 3/span 3;
  }
  .ds-md\:row-span-4 {
    grid-row: span 4/span 4;
  }
  .ds-md\:row-span-5 {
    grid-row: span 5/span 5;
  }
  .ds-md\:row-span-6 {
    grid-row: span 6/span 6;
  }
  .ds-md\:row-span-full {
    grid-row: 1/-1;
  }
  .ds-md\:row-start-1 {
    grid-row-start: 1;
  }
  .ds-md\:row-start-2 {
    grid-row-start: 2;
  }
  .ds-md\:row-start-3 {
    grid-row-start: 3;
  }
  .ds-md\:row-start-4 {
    grid-row-start: 4;
  }
  .ds-md\:row-start-5 {
    grid-row-start: 5;
  }
  .ds-md\:row-start-6 {
    grid-row-start: 6;
  }
  .ds-md\:row-start-7 {
    grid-row-start: 7;
  }
  .ds-md\:row-end-1 {
    grid-row-end: 1;
  }
  .ds-md\:row-end-2 {
    grid-row-end: 2;
  }
  .ds-md\:row-end-3 {
    grid-row-end: 3;
  }
  .ds-md\:row-end-4 {
    grid-row-end: 4;
  }
  .ds-md\:row-end-5 {
    grid-row-end: 5;
  }
  .ds-md\:row-end-6 {
    grid-row-end: 6;
  }
  .ds-md\:row-end-7 {
    grid-row-end: 7;
  }
  .ds-md\:row-start-auto {
    grid-row-start: auto;
  }
  .ds-md\:row-end-auto {
    grid-row-end: auto;
  }
  .ds-md\:justify-items-start {
    justify-items: start;
  }
  .ds-md\:justify-items-end {
    justify-items: end;
  }
  .ds-md\:justify-items-center {
    justify-items: center;
  }
  .ds-md\:justify-items-stretch {
    justify-items: stretch;
  }
  .ds-md\:align-items-start {
    align-items: start;
  }
  .ds-md\:align-items-end {
    align-items: end;
  }
  .ds-md\:align-items-center {
    align-items: center;
  }
  .ds-md\:align-items-stretch {
    align-items: stretch;
  }
  .ds-md\:justify-content-start {
    justify-content: start;
  }
  .ds-md\:justify-content-end {
    justify-content: end;
  }
  .ds-md\:justify-content-center {
    justify-content: center;
  }
  .ds-md\:justify-content-stretch {
    justify-content: stretch;
  }
  .ds-md\:justify-content-space-between {
    justify-content: space-between;
  }
  .ds-md\:justify-content-space-around {
    justify-content: space-around;
  }
  .ds-md\:justify-content-space-evenly {
    justify-content: space-evenly;
  }
  .ds-md\:align-content-start {
    align-content: start;
  }
  .ds-md\:align-content-end {
    align-content: end;
  }
  .ds-md\:align-content-center {
    align-content: center;
  }
  .ds-md\:align-content-stretch {
    align-content: stretch;
  }
  .ds-md\:align-content-space-between {
    align-content: space-between;
  }
  .ds-md\:align-content-space-around {
    align-content: space-around;
  }
  .ds-md\:align-content-space-evenly {
    align-content: space-evenly;
  }
  .ds-md\:justify-self-start {
    justify-self: start;
  }
  .ds-md\:justify-self-end {
    justify-self: end;
  }
  .ds-md\:justify-self-center {
    justify-self: center;
  }
  .ds-md\:justify-self-stretch {
    justify-self: stretch;
  }
  .ds-md\:justify-self-auto {
    justify-self: auto;
  }
  .ds-md\:align-self-start {
    align-self: start;
  }
  .ds-md\:align-self-end {
    align-self: end;
  }
  .ds-md\:align-self-center {
    align-self: center;
  }
  .ds-md\:align-self-stretch {
    align-self: stretch;
  }
  .ds-md\:align-self-auto {
    align-self: auto;
  }
}
@media (min-width: 1024px) {
  .ds-lg\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-auto {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .ds-lg\:grid-cols-auto-fit {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .ds-lg\:grid-gap-xxs {
    gap: var(--space-xxs);
  }
  .ds-lg\:grid-gap-x-xxs {
    column-gap: var(--space-xxs);
  }
  .ds-lg\:grid-gap-y-xxs {
    row-gap: var(--space-xxs);
  }
  .ds-lg\:grid-gap-xs {
    gap: var(--space-xs);
  }
  .ds-lg\:grid-gap-x-xs {
    column-gap: var(--space-xs);
  }
  .ds-lg\:grid-gap-y-xs {
    row-gap: var(--space-xs);
  }
  .ds-lg\:grid-gap-sm {
    gap: var(--space-sm);
  }
  .ds-lg\:grid-gap-x-sm {
    column-gap: var(--space-sm);
  }
  .ds-lg\:grid-gap-y-sm {
    row-gap: var(--space-sm);
  }
  .ds-lg\:grid-gap-md {
    gap: var(--space-md);
  }
  .ds-lg\:grid-gap-x-md {
    column-gap: var(--space-md);
  }
  .ds-lg\:grid-gap-y-md {
    row-gap: var(--space-md);
  }
  .ds-lg\:grid-gap-lg {
    gap: var(--space-lg);
  }
  .ds-lg\:grid-gap-x-lg {
    column-gap: var(--space-lg);
  }
  .ds-lg\:grid-gap-y-lg {
    row-gap: var(--space-lg);
  }
  .ds-lg\:grid-gap-xl {
    gap: var(--space-xl);
  }
  .ds-lg\:grid-gap-x-xl {
    column-gap: var(--space-xl);
  }
  .ds-lg\:grid-gap-y-xl {
    row-gap: var(--space-xl);
  }
  .ds-lg\:grid-gap-2xl {
    gap: var(--space-2xl);
  }
  .ds-lg\:grid-gap-x-2xl {
    column-gap: var(--space-2xl);
  }
  .ds-lg\:grid-gap-y-2xl {
    row-gap: var(--space-2xl);
  }
  .ds-lg\:grid-gap-3xl {
    gap: var(--space-3xl);
  }
  .ds-lg\:grid-gap-x-3xl {
    column-gap: var(--space-3xl);
  }
  .ds-lg\:grid-gap-y-3xl {
    row-gap: var(--space-3xl);
  }
  .ds-lg\:grid-gap-4xl {
    gap: var(--space-4xl);
  }
  .ds-lg\:grid-gap-x-4xl {
    column-gap: var(--space-4xl);
  }
  .ds-lg\:grid-gap-y-4xl {
    row-gap: var(--space-4xl);
  }
  .ds-lg\:grid-gap-5xl {
    gap: var(--space-5xl);
  }
  .ds-lg\:grid-gap-x-5xl {
    column-gap: var(--space-5xl);
  }
  .ds-lg\:grid-gap-y-5xl {
    row-gap: var(--space-5xl);
  }
  .ds-lg\:col-span-1 {
    grid-column: span 1/span 1;
  }
  .ds-lg\:col-span-2 {
    grid-column: span 2/span 2;
  }
  .ds-lg\:col-span-3 {
    grid-column: span 3/span 3;
  }
  .ds-lg\:col-span-4 {
    grid-column: span 4/span 4;
  }
  .ds-lg\:col-span-5 {
    grid-column: span 5/span 5;
  }
  .ds-lg\:col-span-6 {
    grid-column: span 6/span 6;
  }
  .ds-lg\:col-span-7 {
    grid-column: span 7/span 7;
  }
  .ds-lg\:col-span-8 {
    grid-column: span 8/span 8;
  }
  .ds-lg\:col-span-9 {
    grid-column: span 9/span 9;
  }
  .ds-lg\:col-span-10 {
    grid-column: span 10/span 10;
  }
  .ds-lg\:col-span-11 {
    grid-column: span 11/span 11;
  }
  .ds-lg\:col-span-12 {
    grid-column: span 12/span 12;
  }
  .ds-lg\:col-span-full {
    grid-column: 1/-1;
  }
  .ds-lg\:col-span-1-center {
    grid-column: 6.5/7.5;
  }
  .ds-lg\:col-span-2-center {
    grid-column: 6/8;
  }
  .ds-lg\:col-span-3-center {
    grid-column: 5.5/8.5;
  }
  .ds-lg\:col-span-4-center {
    grid-column: 5/9;
  }
  .ds-lg\:col-span-5-center {
    grid-column: 4.5/9.5;
  }
  .ds-lg\:col-span-6-center {
    grid-column: 4/10;
  }
  .ds-lg\:col-span-7-center {
    grid-column: 3.5/10.5;
  }
  .ds-lg\:col-span-8-center {
    grid-column: 3/11;
  }
  .ds-lg\:col-span-9-center {
    grid-column: 2.5/11.5;
  }
  .ds-lg\:col-span-10-center {
    grid-column: 2/12;
  }
  .ds-lg\:col-span-11-center {
    grid-column: 1.5/12.5;
  }
  .ds-lg\:col-span-12-center {
    grid-column: 1/13;
  }
  .ds-lg\:col-auto {
    grid-column: auto;
    min-width: 0;
  }
  .ds-lg\:col-span-to-end {
    grid-column-end: -1;
    min-width: 0;
  }
  .ds-lg\:col-start-1 {
    grid-column-start: 1;
  }
  .ds-lg\:col-start-2 {
    grid-column-start: 2;
  }
  .ds-lg\:col-start-3 {
    grid-column-start: 3;
  }
  .ds-lg\:col-start-4 {
    grid-column-start: 4;
  }
  .ds-lg\:col-start-5 {
    grid-column-start: 5;
  }
  .ds-lg\:col-start-6 {
    grid-column-start: 6;
  }
  .ds-lg\:col-start-7 {
    grid-column-start: 7;
  }
  .ds-lg\:col-start-8 {
    grid-column-start: 8;
  }
  .ds-lg\:col-start-9 {
    grid-column-start: 9;
  }
  .ds-lg\:col-start-10 {
    grid-column-start: 10;
  }
  .ds-lg\:col-start-11 {
    grid-column-start: 11;
  }
  .ds-lg\:col-start-12 {
    grid-column-start: 12;
  }
  .ds-lg\:col-start-13 {
    grid-column-start: 13;
  }
  .ds-lg\:col-end-1 {
    grid-column-end: 1;
  }
  .ds-lg\:col-end-2 {
    grid-column-end: 2;
  }
  .ds-lg\:col-end-3 {
    grid-column-end: 3;
  }
  .ds-lg\:col-end-4 {
    grid-column-end: 4;
  }
  .ds-lg\:col-end-5 {
    grid-column-end: 5;
  }
  .ds-lg\:col-end-6 {
    grid-column-end: 6;
  }
  .ds-lg\:col-end-7 {
    grid-column-end: 7;
  }
  .ds-lg\:col-end-8 {
    grid-column-end: 8;
  }
  .ds-lg\:col-end-9 {
    grid-column-end: 9;
  }
  .ds-lg\:col-end-10 {
    grid-column-end: 10;
  }
  .ds-lg\:col-end-11 {
    grid-column-end: 11;
  }
  .ds-lg\:col-end-12 {
    grid-column-end: 12;
  }
  .ds-lg\:col-end-13 {
    grid-column-end: 13;
  }
  .ds-lg\:col-start-auto {
    grid-column-start: auto;
  }
  .ds-lg\:col-end-auto {
    grid-column-end: auto;
  }
  .ds-lg\:row-span-1 {
    grid-row: span 1/span 1;
  }
  .ds-lg\:row-span-2 {
    grid-row: span 2/span 2;
  }
  .ds-lg\:row-span-3 {
    grid-row: span 3/span 3;
  }
  .ds-lg\:row-span-4 {
    grid-row: span 4/span 4;
  }
  .ds-lg\:row-span-5 {
    grid-row: span 5/span 5;
  }
  .ds-lg\:row-span-6 {
    grid-row: span 6/span 6;
  }
  .ds-lg\:row-span-full {
    grid-row: 1/-1;
  }
  .ds-lg\:row-start-1 {
    grid-row-start: 1;
  }
  .ds-lg\:row-start-2 {
    grid-row-start: 2;
  }
  .ds-lg\:row-start-3 {
    grid-row-start: 3;
  }
  .ds-lg\:row-start-4 {
    grid-row-start: 4;
  }
  .ds-lg\:row-start-5 {
    grid-row-start: 5;
  }
  .ds-lg\:row-start-6 {
    grid-row-start: 6;
  }
  .ds-lg\:row-start-7 {
    grid-row-start: 7;
  }
  .ds-lg\:row-end-1 {
    grid-row-end: 1;
  }
  .ds-lg\:row-end-2 {
    grid-row-end: 2;
  }
  .ds-lg\:row-end-3 {
    grid-row-end: 3;
  }
  .ds-lg\:row-end-4 {
    grid-row-end: 4;
  }
  .ds-lg\:row-end-5 {
    grid-row-end: 5;
  }
  .ds-lg\:row-end-6 {
    grid-row-end: 6;
  }
  .ds-lg\:row-end-7 {
    grid-row-end: 7;
  }
  .ds-lg\:row-start-auto {
    grid-row-start: auto;
  }
  .ds-lg\:row-end-auto {
    grid-row-end: auto;
  }
  .ds-lg\:justify-items-start {
    justify-items: start;
  }
  .ds-lg\:justify-items-end {
    justify-items: end;
  }
  .ds-lg\:justify-items-center {
    justify-items: center;
  }
  .ds-lg\:justify-items-stretch {
    justify-items: stretch;
  }
  .ds-lg\:align-items-start {
    align-items: start;
  }
  .ds-lg\:align-items-end {
    align-items: end;
  }
  .ds-lg\:align-items-center {
    align-items: center;
  }
  .ds-lg\:align-items-stretch {
    align-items: stretch;
  }
  .ds-lg\:justify-content-start {
    justify-content: start;
  }
  .ds-lg\:justify-content-end {
    justify-content: end;
  }
  .ds-lg\:justify-content-center {
    justify-content: center;
  }
  .ds-lg\:justify-content-stretch {
    justify-content: stretch;
  }
  .ds-lg\:justify-content-space-between {
    justify-content: space-between;
  }
  .ds-lg\:justify-content-space-around {
    justify-content: space-around;
  }
  .ds-lg\:justify-content-space-evenly {
    justify-content: space-evenly;
  }
  .ds-lg\:align-content-start {
    align-content: start;
  }
  .ds-lg\:align-content-end {
    align-content: end;
  }
  .ds-lg\:align-content-center {
    align-content: center;
  }
  .ds-lg\:align-content-stretch {
    align-content: stretch;
  }
  .ds-lg\:align-content-space-between {
    align-content: space-between;
  }
  .ds-lg\:align-content-space-around {
    align-content: space-around;
  }
  .ds-lg\:align-content-space-evenly {
    align-content: space-evenly;
  }
  .ds-lg\:justify-self-start {
    justify-self: start;
  }
  .ds-lg\:justify-self-end {
    justify-self: end;
  }
  .ds-lg\:justify-self-center {
    justify-self: center;
  }
  .ds-lg\:justify-self-stretch {
    justify-self: stretch;
  }
  .ds-lg\:justify-self-auto {
    justify-self: auto;
  }
  .ds-lg\:align-self-start {
    align-self: start;
  }
  .ds-lg\:align-self-end {
    align-self: end;
  }
  .ds-lg\:align-self-center {
    align-self: center;
  }
  .ds-lg\:align-self-stretch {
    align-self: stretch;
  }
  .ds-lg\:align-self-auto {
    align-self: auto;
  }
}
@media (min-width: 1280px) {
  .ds-xl\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-auto {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .ds-xl\:grid-cols-auto-fit {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .ds-xl\:grid-gap-xxs {
    gap: var(--space-xxs);
  }
  .ds-xl\:grid-gap-x-xxs {
    column-gap: var(--space-xxs);
  }
  .ds-xl\:grid-gap-y-xxs {
    row-gap: var(--space-xxs);
  }
  .ds-xl\:grid-gap-xs {
    gap: var(--space-xs);
  }
  .ds-xl\:grid-gap-x-xs {
    column-gap: var(--space-xs);
  }
  .ds-xl\:grid-gap-y-xs {
    row-gap: var(--space-xs);
  }
  .ds-xl\:grid-gap-sm {
    gap: var(--space-sm);
  }
  .ds-xl\:grid-gap-x-sm {
    column-gap: var(--space-sm);
  }
  .ds-xl\:grid-gap-y-sm {
    row-gap: var(--space-sm);
  }
  .ds-xl\:grid-gap-md {
    gap: var(--space-md);
  }
  .ds-xl\:grid-gap-x-md {
    column-gap: var(--space-md);
  }
  .ds-xl\:grid-gap-y-md {
    row-gap: var(--space-md);
  }
  .ds-xl\:grid-gap-lg {
    gap: var(--space-lg);
  }
  .ds-xl\:grid-gap-x-lg {
    column-gap: var(--space-lg);
  }
  .ds-xl\:grid-gap-y-lg {
    row-gap: var(--space-lg);
  }
  .ds-xl\:grid-gap-xl {
    gap: var(--space-xl);
  }
  .ds-xl\:grid-gap-x-xl {
    column-gap: var(--space-xl);
  }
  .ds-xl\:grid-gap-y-xl {
    row-gap: var(--space-xl);
  }
  .ds-xl\:grid-gap-2xl {
    gap: var(--space-2xl);
  }
  .ds-xl\:grid-gap-x-2xl {
    column-gap: var(--space-2xl);
  }
  .ds-xl\:grid-gap-y-2xl {
    row-gap: var(--space-2xl);
  }
  .ds-xl\:grid-gap-3xl {
    gap: var(--space-3xl);
  }
  .ds-xl\:grid-gap-x-3xl {
    column-gap: var(--space-3xl);
  }
  .ds-xl\:grid-gap-y-3xl {
    row-gap: var(--space-3xl);
  }
  .ds-xl\:grid-gap-4xl {
    gap: var(--space-4xl);
  }
  .ds-xl\:grid-gap-x-4xl {
    column-gap: var(--space-4xl);
  }
  .ds-xl\:grid-gap-y-4xl {
    row-gap: var(--space-4xl);
  }
  .ds-xl\:grid-gap-5xl {
    gap: var(--space-5xl);
  }
  .ds-xl\:grid-gap-x-5xl {
    column-gap: var(--space-5xl);
  }
  .ds-xl\:grid-gap-y-5xl {
    row-gap: var(--space-5xl);
  }
  .ds-xl\:col-span-1 {
    grid-column: span 1/span 1;
  }
  .ds-xl\:col-span-2 {
    grid-column: span 2/span 2;
  }
  .ds-xl\:col-span-3 {
    grid-column: span 3/span 3;
  }
  .ds-xl\:col-span-4 {
    grid-column: span 4/span 4;
  }
  .ds-xl\:col-span-5 {
    grid-column: span 5/span 5;
  }
  .ds-xl\:col-span-6 {
    grid-column: span 6/span 6;
  }
  .ds-xl\:col-span-7 {
    grid-column: span 7/span 7;
  }
  .ds-xl\:col-span-8 {
    grid-column: span 8/span 8;
  }
  .ds-xl\:col-span-9 {
    grid-column: span 9/span 9;
  }
  .ds-xl\:col-span-10 {
    grid-column: span 10/span 10;
  }
  .ds-xl\:col-span-11 {
    grid-column: span 11/span 11;
  }
  .ds-xl\:col-span-12 {
    grid-column: span 12/span 12;
  }
  .ds-xl\:col-span-full {
    grid-column: 1/-1;
  }
  .ds-xl\:col-span-1-center {
    grid-column: 6.5/7.5;
  }
  .ds-xl\:col-span-2-center {
    grid-column: 6/8;
  }
  .ds-xl\:col-span-3-center {
    grid-column: 5.5/8.5;
  }
  .ds-xl\:col-span-4-center {
    grid-column: 5/9;
  }
  .ds-xl\:col-span-5-center {
    grid-column: 4.5/9.5;
  }
  .ds-xl\:col-span-6-center {
    grid-column: 4/10;
  }
  .ds-xl\:col-span-7-center {
    grid-column: 3.5/10.5;
  }
  .ds-xl\:col-span-8-center {
    grid-column: 3/11;
  }
  .ds-xl\:col-span-9-center {
    grid-column: 2.5/11.5;
  }
  .ds-xl\:col-span-10-center {
    grid-column: 2/12;
  }
  .ds-xl\:col-span-11-center {
    grid-column: 1.5/12.5;
  }
  .ds-xl\:col-span-12-center {
    grid-column: 1/13;
  }
  .ds-xl\:col-auto {
    grid-column: auto;
    min-width: 0;
  }
  .ds-xl\:col-span-to-end {
    grid-column-end: -1;
    min-width: 0;
  }
  .ds-xl\:col-start-1 {
    grid-column-start: 1;
  }
  .ds-xl\:col-start-2 {
    grid-column-start: 2;
  }
  .ds-xl\:col-start-3 {
    grid-column-start: 3;
  }
  .ds-xl\:col-start-4 {
    grid-column-start: 4;
  }
  .ds-xl\:col-start-5 {
    grid-column-start: 5;
  }
  .ds-xl\:col-start-6 {
    grid-column-start: 6;
  }
  .ds-xl\:col-start-7 {
    grid-column-start: 7;
  }
  .ds-xl\:col-start-8 {
    grid-column-start: 8;
  }
  .ds-xl\:col-start-9 {
    grid-column-start: 9;
  }
  .ds-xl\:col-start-10 {
    grid-column-start: 10;
  }
  .ds-xl\:col-start-11 {
    grid-column-start: 11;
  }
  .ds-xl\:col-start-12 {
    grid-column-start: 12;
  }
  .ds-xl\:col-start-13 {
    grid-column-start: 13;
  }
  .ds-xl\:col-end-1 {
    grid-column-end: 1;
  }
  .ds-xl\:col-end-2 {
    grid-column-end: 2;
  }
  .ds-xl\:col-end-3 {
    grid-column-end: 3;
  }
  .ds-xl\:col-end-4 {
    grid-column-end: 4;
  }
  .ds-xl\:col-end-5 {
    grid-column-end: 5;
  }
  .ds-xl\:col-end-6 {
    grid-column-end: 6;
  }
  .ds-xl\:col-end-7 {
    grid-column-end: 7;
  }
  .ds-xl\:col-end-8 {
    grid-column-end: 8;
  }
  .ds-xl\:col-end-9 {
    grid-column-end: 9;
  }
  .ds-xl\:col-end-10 {
    grid-column-end: 10;
  }
  .ds-xl\:col-end-11 {
    grid-column-end: 11;
  }
  .ds-xl\:col-end-12 {
    grid-column-end: 12;
  }
  .ds-xl\:col-end-13 {
    grid-column-end: 13;
  }
  .ds-xl\:col-start-auto {
    grid-column-start: auto;
  }
  .ds-xl\:col-end-auto {
    grid-column-end: auto;
  }
  .ds-xl\:row-span-1 {
    grid-row: span 1/span 1;
  }
  .ds-xl\:row-span-2 {
    grid-row: span 2/span 2;
  }
  .ds-xl\:row-span-3 {
    grid-row: span 3/span 3;
  }
  .ds-xl\:row-span-4 {
    grid-row: span 4/span 4;
  }
  .ds-xl\:row-span-5 {
    grid-row: span 5/span 5;
  }
  .ds-xl\:row-span-6 {
    grid-row: span 6/span 6;
  }
  .ds-xl\:row-span-full {
    grid-row: 1/-1;
  }
  .ds-xl\:row-start-1 {
    grid-row-start: 1;
  }
  .ds-xl\:row-start-2 {
    grid-row-start: 2;
  }
  .ds-xl\:row-start-3 {
    grid-row-start: 3;
  }
  .ds-xl\:row-start-4 {
    grid-row-start: 4;
  }
  .ds-xl\:row-start-5 {
    grid-row-start: 5;
  }
  .ds-xl\:row-start-6 {
    grid-row-start: 6;
  }
  .ds-xl\:row-start-7 {
    grid-row-start: 7;
  }
  .ds-xl\:row-end-1 {
    grid-row-end: 1;
  }
  .ds-xl\:row-end-2 {
    grid-row-end: 2;
  }
  .ds-xl\:row-end-3 {
    grid-row-end: 3;
  }
  .ds-xl\:row-end-4 {
    grid-row-end: 4;
  }
  .ds-xl\:row-end-5 {
    grid-row-end: 5;
  }
  .ds-xl\:row-end-6 {
    grid-row-end: 6;
  }
  .ds-xl\:row-end-7 {
    grid-row-end: 7;
  }
  .ds-xl\:row-start-auto {
    grid-row-start: auto;
  }
  .ds-xl\:row-end-auto {
    grid-row-end: auto;
  }
  .ds-xl\:justify-items-start {
    justify-items: start;
  }
  .ds-xl\:justify-items-end {
    justify-items: end;
  }
  .ds-xl\:justify-items-center {
    justify-items: center;
  }
  .ds-xl\:justify-items-stretch {
    justify-items: stretch;
  }
  .ds-xl\:align-items-start {
    align-items: start;
  }
  .ds-xl\:align-items-end {
    align-items: end;
  }
  .ds-xl\:align-items-center {
    align-items: center;
  }
  .ds-xl\:align-items-stretch {
    align-items: stretch;
  }
  .ds-xl\:justify-content-start {
    justify-content: start;
  }
  .ds-xl\:justify-content-end {
    justify-content: end;
  }
  .ds-xl\:justify-content-center {
    justify-content: center;
  }
  .ds-xl\:justify-content-stretch {
    justify-content: stretch;
  }
  .ds-xl\:justify-content-space-between {
    justify-content: space-between;
  }
  .ds-xl\:justify-content-space-around {
    justify-content: space-around;
  }
  .ds-xl\:justify-content-space-evenly {
    justify-content: space-evenly;
  }
  .ds-xl\:align-content-start {
    align-content: start;
  }
  .ds-xl\:align-content-end {
    align-content: end;
  }
  .ds-xl\:align-content-center {
    align-content: center;
  }
  .ds-xl\:align-content-stretch {
    align-content: stretch;
  }
  .ds-xl\:align-content-space-between {
    align-content: space-between;
  }
  .ds-xl\:align-content-space-around {
    align-content: space-around;
  }
  .ds-xl\:align-content-space-evenly {
    align-content: space-evenly;
  }
  .ds-xl\:justify-self-start {
    justify-self: start;
  }
  .ds-xl\:justify-self-end {
    justify-self: end;
  }
  .ds-xl\:justify-self-center {
    justify-self: center;
  }
  .ds-xl\:justify-self-stretch {
    justify-self: stretch;
  }
  .ds-xl\:justify-self-auto {
    justify-self: auto;
  }
  .ds-xl\:align-self-start {
    align-self: start;
  }
  .ds-xl\:align-self-end {
    align-self: end;
  }
  .ds-xl\:align-self-center {
    align-self: center;
  }
  .ds-xl\:align-self-stretch {
    align-self: stretch;
  }
  .ds-xl\:align-self-auto {
    align-self: auto;
  }
}
@media (min-width: 1536px) {
  .ds-xxl\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-auto {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .ds-xxl\:grid-cols-auto-fit {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .ds-xxl\:grid-gap-xxs {
    gap: var(--space-xxs);
  }
  .ds-xxl\:grid-gap-x-xxs {
    column-gap: var(--space-xxs);
  }
  .ds-xxl\:grid-gap-y-xxs {
    row-gap: var(--space-xxs);
  }
  .ds-xxl\:grid-gap-xs {
    gap: var(--space-xs);
  }
  .ds-xxl\:grid-gap-x-xs {
    column-gap: var(--space-xs);
  }
  .ds-xxl\:grid-gap-y-xs {
    row-gap: var(--space-xs);
  }
  .ds-xxl\:grid-gap-sm {
    gap: var(--space-sm);
  }
  .ds-xxl\:grid-gap-x-sm {
    column-gap: var(--space-sm);
  }
  .ds-xxl\:grid-gap-y-sm {
    row-gap: var(--space-sm);
  }
  .ds-xxl\:grid-gap-md {
    gap: var(--space-md);
  }
  .ds-xxl\:grid-gap-x-md {
    column-gap: var(--space-md);
  }
  .ds-xxl\:grid-gap-y-md {
    row-gap: var(--space-md);
  }
  .ds-xxl\:grid-gap-lg {
    gap: var(--space-lg);
  }
  .ds-xxl\:grid-gap-x-lg {
    column-gap: var(--space-lg);
  }
  .ds-xxl\:grid-gap-y-lg {
    row-gap: var(--space-lg);
  }
  .ds-xxl\:grid-gap-xl {
    gap: var(--space-xl);
  }
  .ds-xxl\:grid-gap-x-xl {
    column-gap: var(--space-xl);
  }
  .ds-xxl\:grid-gap-y-xl {
    row-gap: var(--space-xl);
  }
  .ds-xxl\:grid-gap-2xl {
    gap: var(--space-2xl);
  }
  .ds-xxl\:grid-gap-x-2xl {
    column-gap: var(--space-2xl);
  }
  .ds-xxl\:grid-gap-y-2xl {
    row-gap: var(--space-2xl);
  }
  .ds-xxl\:grid-gap-3xl {
    gap: var(--space-3xl);
  }
  .ds-xxl\:grid-gap-x-3xl {
    column-gap: var(--space-3xl);
  }
  .ds-xxl\:grid-gap-y-3xl {
    row-gap: var(--space-3xl);
  }
  .ds-xxl\:grid-gap-4xl {
    gap: var(--space-4xl);
  }
  .ds-xxl\:grid-gap-x-4xl {
    column-gap: var(--space-4xl);
  }
  .ds-xxl\:grid-gap-y-4xl {
    row-gap: var(--space-4xl);
  }
  .ds-xxl\:grid-gap-5xl {
    gap: var(--space-5xl);
  }
  .ds-xxl\:grid-gap-x-5xl {
    column-gap: var(--space-5xl);
  }
  .ds-xxl\:grid-gap-y-5xl {
    row-gap: var(--space-5xl);
  }
  .ds-xxl\:col-span-1 {
    grid-column: span 1/span 1;
  }
  .ds-xxl\:col-span-2 {
    grid-column: span 2/span 2;
  }
  .ds-xxl\:col-span-3 {
    grid-column: span 3/span 3;
  }
  .ds-xxl\:col-span-4 {
    grid-column: span 4/span 4;
  }
  .ds-xxl\:col-span-5 {
    grid-column: span 5/span 5;
  }
  .ds-xxl\:col-span-6 {
    grid-column: span 6/span 6;
  }
  .ds-xxl\:col-span-7 {
    grid-column: span 7/span 7;
  }
  .ds-xxl\:col-span-8 {
    grid-column: span 8/span 8;
  }
  .ds-xxl\:col-span-9 {
    grid-column: span 9/span 9;
  }
  .ds-xxl\:col-span-10 {
    grid-column: span 10/span 10;
  }
  .ds-xxl\:col-span-11 {
    grid-column: span 11/span 11;
  }
  .ds-xxl\:col-span-12 {
    grid-column: span 12/span 12;
  }
  .ds-xxl\:col-span-full {
    grid-column: 1/-1;
  }
  .ds-xxl\:col-span-1-center {
    grid-column: 6.5/7.5;
  }
  .ds-xxl\:col-span-2-center {
    grid-column: 6/8;
  }
  .ds-xxl\:col-span-3-center {
    grid-column: 5.5/8.5;
  }
  .ds-xxl\:col-span-4-center {
    grid-column: 5/9;
  }
  .ds-xxl\:col-span-5-center {
    grid-column: 4.5/9.5;
  }
  .ds-xxl\:col-span-6-center {
    grid-column: 4/10;
  }
  .ds-xxl\:col-span-7-center {
    grid-column: 3.5/10.5;
  }
  .ds-xxl\:col-span-8-center {
    grid-column: 3/11;
  }
  .ds-xxl\:col-span-9-center {
    grid-column: 2.5/11.5;
  }
  .ds-xxl\:col-span-10-center {
    grid-column: 2/12;
  }
  .ds-xxl\:col-span-11-center {
    grid-column: 1.5/12.5;
  }
  .ds-xxl\:col-span-12-center {
    grid-column: 1/13;
  }
  .ds-xxl\:col-auto {
    grid-column: auto;
    min-width: 0;
  }
  .ds-xxl\:col-span-to-end {
    grid-column-end: -1;
    min-width: 0;
  }
  .ds-xxl\:col-start-1 {
    grid-column-start: 1;
  }
  .ds-xxl\:col-start-2 {
    grid-column-start: 2;
  }
  .ds-xxl\:col-start-3 {
    grid-column-start: 3;
  }
  .ds-xxl\:col-start-4 {
    grid-column-start: 4;
  }
  .ds-xxl\:col-start-5 {
    grid-column-start: 5;
  }
  .ds-xxl\:col-start-6 {
    grid-column-start: 6;
  }
  .ds-xxl\:col-start-7 {
    grid-column-start: 7;
  }
  .ds-xxl\:col-start-8 {
    grid-column-start: 8;
  }
  .ds-xxl\:col-start-9 {
    grid-column-start: 9;
  }
  .ds-xxl\:col-start-10 {
    grid-column-start: 10;
  }
  .ds-xxl\:col-start-11 {
    grid-column-start: 11;
  }
  .ds-xxl\:col-start-12 {
    grid-column-start: 12;
  }
  .ds-xxl\:col-start-13 {
    grid-column-start: 13;
  }
  .ds-xxl\:col-end-1 {
    grid-column-end: 1;
  }
  .ds-xxl\:col-end-2 {
    grid-column-end: 2;
  }
  .ds-xxl\:col-end-3 {
    grid-column-end: 3;
  }
  .ds-xxl\:col-end-4 {
    grid-column-end: 4;
  }
  .ds-xxl\:col-end-5 {
    grid-column-end: 5;
  }
  .ds-xxl\:col-end-6 {
    grid-column-end: 6;
  }
  .ds-xxl\:col-end-7 {
    grid-column-end: 7;
  }
  .ds-xxl\:col-end-8 {
    grid-column-end: 8;
  }
  .ds-xxl\:col-end-9 {
    grid-column-end: 9;
  }
  .ds-xxl\:col-end-10 {
    grid-column-end: 10;
  }
  .ds-xxl\:col-end-11 {
    grid-column-end: 11;
  }
  .ds-xxl\:col-end-12 {
    grid-column-end: 12;
  }
  .ds-xxl\:col-end-13 {
    grid-column-end: 13;
  }
  .ds-xxl\:col-start-auto {
    grid-column-start: auto;
  }
  .ds-xxl\:col-end-auto {
    grid-column-end: auto;
  }
  .ds-xxl\:row-span-1 {
    grid-row: span 1/span 1;
  }
  .ds-xxl\:row-span-2 {
    grid-row: span 2/span 2;
  }
  .ds-xxl\:row-span-3 {
    grid-row: span 3/span 3;
  }
  .ds-xxl\:row-span-4 {
    grid-row: span 4/span 4;
  }
  .ds-xxl\:row-span-5 {
    grid-row: span 5/span 5;
  }
  .ds-xxl\:row-span-6 {
    grid-row: span 6/span 6;
  }
  .ds-xxl\:row-span-full {
    grid-row: 1/-1;
  }
  .ds-xxl\:row-start-1 {
    grid-row-start: 1;
  }
  .ds-xxl\:row-start-2 {
    grid-row-start: 2;
  }
  .ds-xxl\:row-start-3 {
    grid-row-start: 3;
  }
  .ds-xxl\:row-start-4 {
    grid-row-start: 4;
  }
  .ds-xxl\:row-start-5 {
    grid-row-start: 5;
  }
  .ds-xxl\:row-start-6 {
    grid-row-start: 6;
  }
  .ds-xxl\:row-start-7 {
    grid-row-start: 7;
  }
  .ds-xxl\:row-end-1 {
    grid-row-end: 1;
  }
  .ds-xxl\:row-end-2 {
    grid-row-end: 2;
  }
  .ds-xxl\:row-end-3 {
    grid-row-end: 3;
  }
  .ds-xxl\:row-end-4 {
    grid-row-end: 4;
  }
  .ds-xxl\:row-end-5 {
    grid-row-end: 5;
  }
  .ds-xxl\:row-end-6 {
    grid-row-end: 6;
  }
  .ds-xxl\:row-end-7 {
    grid-row-end: 7;
  }
  .ds-xxl\:row-start-auto {
    grid-row-start: auto;
  }
  .ds-xxl\:row-end-auto {
    grid-row-end: auto;
  }
  .ds-xxl\:justify-items-start {
    justify-items: start;
  }
  .ds-xxl\:justify-items-end {
    justify-items: end;
  }
  .ds-xxl\:justify-items-center {
    justify-items: center;
  }
  .ds-xxl\:justify-items-stretch {
    justify-items: stretch;
  }
  .ds-xxl\:align-items-start {
    align-items: start;
  }
  .ds-xxl\:align-items-end {
    align-items: end;
  }
  .ds-xxl\:align-items-center {
    align-items: center;
  }
  .ds-xxl\:align-items-stretch {
    align-items: stretch;
  }
  .ds-xxl\:justify-content-start {
    justify-content: start;
  }
  .ds-xxl\:justify-content-end {
    justify-content: end;
  }
  .ds-xxl\:justify-content-center {
    justify-content: center;
  }
  .ds-xxl\:justify-content-stretch {
    justify-content: stretch;
  }
  .ds-xxl\:justify-content-space-between {
    justify-content: space-between;
  }
  .ds-xxl\:justify-content-space-around {
    justify-content: space-around;
  }
  .ds-xxl\:justify-content-space-evenly {
    justify-content: space-evenly;
  }
  .ds-xxl\:align-content-start {
    align-content: start;
  }
  .ds-xxl\:align-content-end {
    align-content: end;
  }
  .ds-xxl\:align-content-center {
    align-content: center;
  }
  .ds-xxl\:align-content-stretch {
    align-content: stretch;
  }
  .ds-xxl\:align-content-space-between {
    align-content: space-between;
  }
  .ds-xxl\:align-content-space-around {
    align-content: space-around;
  }
  .ds-xxl\:align-content-space-evenly {
    align-content: space-evenly;
  }
  .ds-xxl\:justify-self-start {
    justify-self: start;
  }
  .ds-xxl\:justify-self-end {
    justify-self: end;
  }
  .ds-xxl\:justify-self-center {
    justify-self: center;
  }
  .ds-xxl\:justify-self-stretch {
    justify-self: stretch;
  }
  .ds-xxl\:justify-self-auto {
    justify-self: auto;
  }
  .ds-xxl\:align-self-start {
    align-self: start;
  }
  .ds-xxl\:align-self-end {
    align-self: end;
  }
  .ds-xxl\:align-self-center {
    align-self: center;
  }
  .ds-xxl\:align-self-stretch {
    align-self: stretch;
  }
  .ds-xxl\:align-self-auto {
    align-self: auto;
  }
}
/* === Border === */
.border {
  border-width: 1px;
}

.border-transparent {
  border-color: transparent;
}

.border-solid {
  border-style: solid;
}

.border-dashed {
  border-style: dashed;
}

.border-none {
  border: none;
}

/* === Display === */
.block {
  display: block;
}

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

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

/* === Box Sizing === */
.box-border {
  box-sizing: border-box;
}

.box-content {
  box-sizing: content-box;
}

/* === Visibility === */
@media screen and (min-width: 768px) {
  .web-hidden {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .mobile-hidden {
    display: none;
  }
}

.bg-transparent {
  background: transparent;
}

/* === Flex Direction === */
.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

/* === Flex Grow === */
.grow {
  flex-grow: 1;
}

/* === Flex Shrink === */
.shrink {
  flex-shrink: 1;
}

/* === Flex Shorthand === */
.flex-1 {
  flex: 1;
}

/* === Flex Alignment === */
.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

/* === Self Alignment === */
.self-start {
  align-self: flex-start;
}

.self-center {
  align-self: center;
}

.self-end {
  align-self: flex-end;
}

.justify-self-start {
  justify-self: start;
}

.justify-self-center {
  justify-self: center;
}

.justify-self-end {
  justify-self: end;
}

/* === Flex Wrap === */
.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

/* === Flex Card  === */
.flex-card {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .flex-card {
    flex-direction: row;
  }
}
.flex-card-reverse {
  display: flex;
  flex-direction: row;
}

@media screen and (min-width: 768px) {
  .flex-card-reverse {
    flex-direction: column;
  }
}
/* === Grid Columns & Rows === */
.grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}

.grid-rows-1 {
  grid-template-rows: repeat(1, 1fr);
}

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-rows-2 {
  grid-template-rows: repeat(2, 1fr);
}

.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-rows-3 {
  grid-template-rows: repeat(3, 1fr);
}

.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid-rows-4 {
  grid-template-rows: repeat(4, 1fr);
}

.grid-cols-5 {
  grid-template-columns: repeat(5, 1fr);
}

.grid-rows-5 {
  grid-template-rows: repeat(5, 1fr);
}

.grid-cols-6 {
  grid-template-columns: repeat(6, 1fr);
}

.grid-rows-6 {
  grid-template-rows: repeat(6, 1fr);
}

.grid-cols-7 {
  grid-template-columns: repeat(7, 1fr);
}

.grid-rows-7 {
  grid-template-rows: repeat(7, 1fr);
}

.grid-cols-8 {
  grid-template-columns: repeat(8, 1fr);
}

.grid-rows-8 {
  grid-template-rows: repeat(8, 1fr);
}

.grid-cols-9 {
  grid-template-columns: repeat(9, 1fr);
}

.grid-rows-9 {
  grid-template-rows: repeat(9, 1fr);
}

.grid-cols-10 {
  grid-template-columns: repeat(10, 1fr);
}

.grid-rows-10 {
  grid-template-rows: repeat(10, 1fr);
}

.grid-cols-11 {
  grid-template-columns: repeat(11, 1fr);
}

.grid-rows-11 {
  grid-template-rows: repeat(11, 1fr);
}

.grid-cols-12 {
  grid-template-columns: repeat(12, 1fr);
}

.grid-rows-12 {
  grid-template-rows: repeat(12, 1fr);
}

.grid-flow-row {
  grid-auto-flow: row;
}

.grid-flow-col {
  grid-auto-flow: column;
}

.grid-flow-dense {
  grid-auto-flow: dense;
}

/* === Margin Auto === */
.mx-auto {
  margin-inline: auto;
}

.my-auto {
  margin-block: auto;
}

.m-auto {
  margin: auto;
}

.mr-auto {
  margin-right: auto;
}

.ml-auto {
  margin-left: auto;
}

.mt-auto {
  margin-top: auto;
}

.mb-auto {
  margin-bottom: auto;
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.scroll-auto {
  scroll-behavior: auto;
}

.scroll-smooth {
  scroll-behavior: smooth;
}

/* === Positioning === */
.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.sticky {
  position: sticky;
}

/* === Text Alignment === */
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

/* === Text Transform === */
.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

/* === Text Decoration === */
.underline {
  text-decoration: underline;
}

.no-underline {
  text-decoration: none;
}

/* === Text Wrapping === */
.break-words {
  overflow-wrap: break-word;
  word-break: break-word;
}

.break-normal {
  overflow-wrap: normal;
  word-break: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-normal {
  white-space: normal;
}

/* === Line Clamp === */
[class*=line-clamp-] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-1 {
  -webkit-line-clamp: 1;
}

.line-clamp-2 {
  -webkit-line-clamp: 2;
}

.line-clamp-3 {
  -webkit-line-clamp: 3;
}

.line-clamp-4 {
  -webkit-line-clamp: 4;
}

.line-clamp-5 {
  -webkit-line-clamp: 5;
}

.transition {
  transition: all 0.2s ease;
}

.duration-300 {
  transition-duration: 300ms;
}

.ease-in {
  transition-timing-function: ease-in;
}

.ease-out {
  transition-timing-function: ease-out;
}

/* === Overflow === */
.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.overflow-scroll {
  overflow: scroll;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

/* === Visibility === */
.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

/* === Pointer Events === */
.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

/* === Cursor === */
.cursor-pointer {
  cursor: pointer;
}

.cursor-default {
  cursor: default;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

/* === Width & Height === */
.w-full {
  width: 100%;
}

.h-full {
  height: 100%;
}

.w-0 {
  width: 0px;
}

.h-0 {
  height: 0px;
}

.w-auto {
  width: auto;
}

.h-auto {
  height: auto;
}

.w-fit {
  width: fit-content;
}

.h-fit {
  height: fit-content;
}

.min-w-full {
  min-width: 100%;
}

.min-h-full {
  min-height: 100%;
}

.max-w-full {
  max-width: 100%;
}

.max-h-full {
  max-height: 100%;
}

.object-contain {
  object-fit: contain;
}

.object-cover {
  object-fit: cover;
}

.object-fill {
  object-fit: fill;
}

.z-negative {
  z-index: -1;
}

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-top {
  z-index: 9999;
}

/* === Inset (Top, Right, Bottom, Left) === */
.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

.left-0 {
  left: 0;
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

:root {
  /* Base font size setting */
  font-size: 16px;
}

/* Reset box-sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reset margins and padding */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* Set base font on body */
body {
  line-height: 1.5;
  color: var(--neutral-900);
  background-color: var(--neutral-0);
  -webkit-font-smoothing: antialiased;
  /* /Firefox */
  text-rendering: optimizeLegibility;
}
