/* [project]/src/styles/tokens.css [app-client] (css) */
:root {
  --rb-black: #000;
  --rb-white: #fff;
  --rb-ink: #fff;
  --rb-ink-muted: #b8b8b8;
  --rb-ink-faint: #888;
  --rb-ink-ghost: #555;
  --rb-surface: #000;
  --rb-surface-2: #0c0c0c;
  --rb-surface-3: #161616;
  --rb-surface-invert: #fff;
  --rb-ink-on-light: #0a0a0a;
  --rb-line: #ffffff1f;
  --rb-line-strong: #ffffff3d;
  --rb-line-on-light: #0000001f;
  --rb-ruby: #d11d4a;
  --rb-ruby-deep: #9c0f33;
  --rb-ruby-soft: #ff4d77;
  --rb-gold: #c9a25b;
  --rb-success: #2ecc71;
  --rb-warning: #f1b13b;
  --rb-danger: #e23b3b;
  --rb-sale: var(--rb-ruby);
  --rb-font-display: var(--font-aurora), -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --rb-font-body: var(--font-aurora), -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --rb-fw-thin: 200;
  --rb-fw-light: 300;
  --rb-fw-regular: 400;
  --rb-fw-medium: 500;
  --rb-fw-bold: 600;
  --rb-text-xs: clamp(.69rem, .66rem + .15vw, .78rem);
  --rb-text-sm: clamp(.8rem, .77rem + .18vw, .9rem);
  --rb-text-base: clamp(.92rem, .88rem + .22vw, 1rem);
  --rb-text-md: clamp(1.05rem, .99rem + .3vw, 1.2rem);
  --rb-text-lg: clamp(1.25rem, 1.12rem + .6vw, 1.6rem);
  --rb-text-xl: clamp(1.6rem, 1.35rem + 1.2vw, 2.4rem);
  --rb-text-2xl: clamp(2.1rem, 1.6rem + 2.4vw, 3.6rem);
  --rb-text-hero: clamp(2.6rem, 1.8rem + 4vw, 6rem);
  --rb-leading-tight: 1.1;
  --rb-leading-snug: 1.25;
  --rb-leading-normal: 1.55;
  --rb-tracking-tight: -.02em;
  --rb-tracking-normal: 0;
  --rb-tracking-brand: .02em;
  --rb-tracking-wide: .04em;
  --rb-tracking-wider: .18em;
  --rb-fw-nav: 410;
  --rb-fw-button: 350;
  --rb-space-0: 0;
  --rb-space-1: 4px;
  --rb-space-2: 8px;
  --rb-space-3: 12px;
  --rb-space-4: 16px;
  --rb-space-5: 20px;
  --rb-space-6: 24px;
  --rb-space-8: 32px;
  --rb-space-10: 40px;
  --rb-space-12: 48px;
  --rb-space-16: 64px;
  --rb-space-20: 80px;
  --rb-space-24: 96px;
  --rb-space-32: 128px;
  --rb-container: 1680px;
  --rb-container-narrow: 1080px;
  --rb-gutter: clamp(16px, 4vw, 35px);
  --rb-header-h: 64px;
  --rb-nav-h: 95px;
  --rb-radius-xs: 4px;
  --rb-radius-sm: 8px;
  --rb-radius-md: 12px;
  --rb-radius-lg: 18px;
  --rb-radius-xl: 28px;
  --rb-radius-pill: 999px;
  --rb-shadow-sm: 0 1px 2px #0006;
  --rb-shadow-md: 0 8px 24px #00000059;
  --rb-shadow-lg: 0 24px 60px #00000073;
  --rb-ease: cubic-bezier(.22, 1, .36, 1);
  --rb-dur-fast: .15s;
  --rb-dur: .3s;
  --rb-dur-slow: .6s;
  --rb-z-base: 0;
  --rb-z-raised: 10;
  --rb-z-sticky: 100;
  --rb-z-header: 1000;
  --rb-z-overlay: 2000;
  --rb-z-modal: 3000;
  --rb-z-toast: 4000;
}

/* [project]/src/styles/csx3.css [app-client] (css) */
.csx3-C {
  flex-direction: column;
  display: flex;
}

.csx3-R {
  flex-direction: row;
  display: flex;
}

.csx3-Cr {
  flex-direction: column-reverse;
  display: flex;
}

.csx3-Rr {
  flex-direction: row-reverse;
  display: flex;
}

.csx3-inline-C {
  flex-direction: column;
  display: inline-flex;
}

.csx3-inline-R {
  flex-direction: row;
  display: inline-flex;
}

.csx3-C00 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.csx3-C01 {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.csx3-C02 {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.csx3-C10 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.csx3-C11 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.csx3-C12 {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.csx3-C20 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.csx3-C21 {
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  display: flex;
}

.csx3-C22 {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  display: flex;
}

.csx3-R00 {
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.csx3-R01 {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.csx3-R02 {
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.csx3-R10 {
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.csx3-R11 {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: flex;
}

.csx3-R12 {
  flex-direction: row;
  justify-content: center;
  align-items: flex-end;
  display: flex;
}

.csx3-R20 {
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.csx3-R21 {
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.csx3-R22 {
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-end;
  display: flex;
}

.csx3-Rs0 {
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.csx3-Rs1 {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.csx3-Rs2 {
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.csx3-Ra1 {
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  display: flex;
}

.csx3-Re1 {
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  display: flex;
}

.csx3-C0s {
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.csx3-C1s {
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.csx3-C2s {
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.csx3-C1a {
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  display: flex;
}

.csx3-C1e {
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  display: flex;
}

.csx3-fw {
  flex-wrap: wrap;
}

.csx3-fnw {
  flex-wrap: nowrap;
}

.csx3-fwr {
  flex-wrap: wrap-reverse;
}

.csx3-f1 {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
}

.csx3-f2 {
  flex: 2 1 0;
  min-width: 0;
  min-height: 0;
}

.csx3-f3 {
  flex: 3 1 0;
  min-width: 0;
  min-height: 0;
}

.csx3-f-auto, .csx3-f-none {
  flex: none;
}

.csx3-grow {
  flex-grow: 1;
}

.csx3-nogrow {
  flex-grow: 0;
}

.csx3-shrink {
  flex-shrink: 1;
}

.csx3-noshrink {
  flex-shrink: 0;
}

.csx3-self-start {
  align-self: flex-start;
}

.csx3-self-center {
  align-self: center;
}

.csx3-self-end {
  align-self: flex-end;
}

.csx3-self-stretch {
  align-self: stretch;
}

.csx3-order-first {
  order: -1;
}

.csx3-order-last {
  order: 999;
}

.csx3-g-0 {
  gap: 0;
}

.csx3-g-2 {
  gap: 2px;
}

.csx3-g-4 {
  gap: 4px;
}

.csx3-g-6 {
  gap: 6px;
}

.csx3-g-8 {
  gap: 8px;
}

.csx3-g-10 {
  gap: 10px;
}

.csx3-g-12 {
  gap: 12px;
}

.csx3-g-16 {
  gap: 16px;
}

.csx3-g-20 {
  gap: 20px;
}

.csx3-g-24 {
  gap: 24px;
}

.csx3-g-32 {
  gap: 32px;
}

.csx3-g-40 {
  gap: 40px;
}

.csx3-g-48 {
  gap: 48px;
}

.csx3-g-64 {
  gap: 64px;
}

.csx3-p-0 {
  padding: 0;
}

.csx3-p-2 {
  padding: 2px;
}

.csx3-p-4 {
  padding: 4px;
}

.csx3-p-6 {
  padding: 6px;
}

.csx3-p-8 {
  padding: 8px;
}

.csx3-p-12 {
  padding: 12px;
}

.csx3-p-16 {
  padding: 16px;
}

.csx3-p-20 {
  padding: 20px;
}

.csx3-p-24 {
  padding: 24px;
}

.csx3-p-32 {
  padding: 32px;
}

.csx3-p-48 {
  padding: 48px;
}

.csx3-p-64 {
  padding: 64px;
}

.csx3-px-4 {
  padding-left: 4px;
  padding-right: 4px;
}

.csx3-px-8 {
  padding-left: 8px;
  padding-right: 8px;
}

.csx3-px-12 {
  padding-left: 12px;
  padding-right: 12px;
}

.csx3-px-16 {
  padding-left: 16px;
  padding-right: 16px;
}

.csx3-px-24 {
  padding-left: 24px;
  padding-right: 24px;
}

.csx3-px-32 {
  padding-left: 32px;
  padding-right: 32px;
}

.csx3-py-4 {
  padding-top: 4px;
  padding-bottom: 4px;
}

.csx3-py-8 {
  padding-top: 8px;
  padding-bottom: 8px;
}

.csx3-py-12 {
  padding-top: 12px;
  padding-bottom: 12px;
}

.csx3-py-16 {
  padding-top: 16px;
  padding-bottom: 16px;
}

.csx3-py-24 {
  padding-top: 24px;
  padding-bottom: 24px;
}

.csx3-py-32 {
  padding-top: 32px;
  padding-bottom: 32px;
}

.csx3-pt-4 {
  padding-top: 4px;
}

.csx3-pt-8 {
  padding-top: 8px;
}

.csx3-pt-16 {
  padding-top: 16px;
}

.csx3-pt-24 {
  padding-top: 24px;
}

.csx3-pt-32 {
  padding-top: 32px;
}

.csx3-pr-4 {
  padding-right: 4px;
}

.csx3-pr-8 {
  padding-right: 8px;
}

.csx3-pr-16 {
  padding-right: 16px;
}

.csx3-pr-24 {
  padding-right: 24px;
}

.csx3-pr-32 {
  padding-right: 32px;
}

.csx3-pb-4 {
  padding-bottom: 4px;
}

.csx3-pb-8 {
  padding-bottom: 8px;
}

.csx3-pb-16 {
  padding-bottom: 16px;
}

.csx3-pb-24 {
  padding-bottom: 24px;
}

.csx3-pb-32 {
  padding-bottom: 32px;
}

.csx3-pl-4 {
  padding-left: 4px;
}

.csx3-pl-8 {
  padding-left: 8px;
}

.csx3-pl-16 {
  padding-left: 16px;
}

.csx3-pl-24 {
  padding-left: 24px;
}

.csx3-pl-32 {
  padding-left: 32px;
}

.csx3-m-0 {
  margin: 0;
}

.csx3-m-2 {
  margin: 2px;
}

.csx3-m-4 {
  margin: 4px;
}

.csx3-m-8 {
  margin: 8px;
}

.csx3-m-12 {
  margin: 12px;
}

.csx3-m-16 {
  margin: 16px;
}

.csx3-m-24 {
  margin: 24px;
}

.csx3-m-32 {
  margin: 32px;
}

.csx3-m-auto {
  margin: auto;
}

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

.csx3-my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.csx3-mt-4 {
  margin-top: 4px;
}

.csx3-mt-8 {
  margin-top: 8px;
}

.csx3-mt-16 {
  margin-top: 16px;
}

.csx3-mt-24 {
  margin-top: 24px;
}

.csx3-mt-32 {
  margin-top: 32px;
}

.csx3-mr-4 {
  margin-right: 4px;
}

.csx3-mr-8 {
  margin-right: 8px;
}

.csx3-mr-16 {
  margin-right: 16px;
}

.csx3-mr-24 {
  margin-right: 24px;
}

.csx3-mr-32 {
  margin-right: 32px;
}

.csx3-mb-4 {
  margin-bottom: 4px;
}

.csx3-mb-8 {
  margin-bottom: 8px;
}

.csx3-mb-16 {
  margin-bottom: 16px;
}

.csx3-mb-24 {
  margin-bottom: 24px;
}

.csx3-mb-32 {
  margin-bottom: 32px;
}

.csx3-ml-4 {
  margin-left: 4px;
}

.csx3-ml-8 {
  margin-left: 8px;
}

.csx3-ml-16 {
  margin-left: 16px;
}

.csx3-ml-24 {
  margin-left: 24px;
}

.csx3-ml-32 {
  margin-left: 32px;
}

.csx3-w-full {
  width: 100%;
}

.csx3-w-screen {
  width: 100vw;
}

.csx3-w-auto {
  width: auto;
}

.csx3-w-fit {
  width: fit-content;
}

.csx3-w-half {
  width: 50%;
}

.csx3-w-third {
  width: 33.3333%;
}

.csx3-w-quarter {
  width: 25%;
}

.csx3-max-w-sm {
  max-width: 480px;
}

.csx3-max-w-md {
  max-width: 768px;
}

.csx3-max-w-lg {
  max-width: 1024px;
}

.csx3-max-w-xl {
  max-width: 1280px;
}

.csx3-min-w-0 {
  min-width: 0;
}

.csx3-h-full {
  height: 100%;
}

.csx3-h-screen {
  height: 100vh;
}

.csx3-h-dvh {
  height: 100dvh;
}

.csx3-h-auto {
  height: auto;
}

.csx3-h-fit {
  height: fit-content;
}

.csx3-min-h-0 {
  min-height: 0;
}

.csx3-min-h-screen {
  min-height: 100vh;
}

.csx3-square {
  aspect-ratio: 1;
}

.csx3-video {
  aspect-ratio: 16 / 9;
}

.csx3-portrait {
  aspect-ratio: 3 / 4;
}

.csx3-block {
  display: block;
}

.csx3-inline {
  display: inline;
}

.csx3-inline-block {
  display: inline-block;
}

.csx3-grid {
  display: grid;
}

.csx3-hidden {
  display: none;
}

.csx3-invisible {
  visibility: hidden;
}

.csx3-visible {
  visibility: visible;
}

.csx3-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.csx3-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.csx3-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
}

.csx3-grid-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  display: grid;
}

.csx3-grid-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  display: grid;
}

.csx3-grid-auto {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  display: grid;
}

.csx3-rel {
  position: relative;
}

.csx3-abs {
  position: absolute;
}

.csx3-fix {
  position: fixed;
}

.csx3-sticky {
  position: sticky;
  top: 0;
}

.csx3-static {
  position: static;
}

.csx3-inset-0 {
  inset: 0;
}

.csx3-top-0 {
  top: 0;
}

.csx3-right-0 {
  right: 0;
}

.csx3-bottom-0 {
  bottom: 0;
}

.csx3-left-0 {
  left: 0;
}

.csx3-center-abs {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.csx3-z-0 {
  z-index: 0;
}

.csx3-z-10 {
  z-index: 10;
}

.csx3-z-20 {
  z-index: 20;
}

.csx3-z-50 {
  z-index: 50;
}

.csx3-z-top {
  z-index: 9999;
}

.csx3-ovh {
  overflow: hidden;
}

.csx3-ova {
  overflow: auto;
}

.csx3-ovs {
  overflow: scroll;
}

.csx3-ovx-auto {
  overflow-x: auto;
}

.csx3-ovy-auto {
  overflow-y: auto;
}

.csx3-ovx-hidden {
  overflow-x: hidden;
}

.csx3-ovy-hidden {
  overflow-y: hidden;
}

.csx3-clip {
  overflow: clip;
}

.csx3-tl {
  text-align: left;
}

.csx3-tc {
  text-align: center;
}

.csx3-tr {
  text-align: right;
}

.csx3-tj {
  text-align: justify;
}

.csx3-fs-10 {
  font-size: 10px;
}

.csx3-fs-12 {
  font-size: 12px;
}

.csx3-fs-14 {
  font-size: 14px;
}

.csx3-fs-16 {
  font-size: 16px;
}

.csx3-fs-18 {
  font-size: 18px;
}

.csx3-fs-20 {
  font-size: 20px;
}

.csx3-fs-24 {
  font-size: 24px;
}

.csx3-fs-32 {
  font-size: 32px;
}

.csx3-fs-40 {
  font-size: 40px;
}

.csx3-fs-48 {
  font-size: 48px;
}

.csx3-fs-64 {
  font-size: 64px;
}

.csx3-fw-300 {
  font-weight: 300;
}

.csx3-fw-400 {
  font-weight: 400;
}

.csx3-fw-500 {
  font-weight: 500;
}

.csx3-fw-600 {
  font-weight: 600;
}

.csx3-fw-700 {
  font-weight: 700;
}

.csx3-fw-800 {
  font-weight: 800;
}

.csx3-fw-900 {
  font-weight: 900;
}

.csx3-italic {
  font-style: italic;
}

.csx3-underline {
  text-decoration: underline;
}

.csx3-line-through {
  text-decoration: line-through;
}

.csx3-no-deco {
  text-decoration: none;
}

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

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

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

.csx3-lh-1 {
  line-height: 1;
}

.csx3-lh-12 {
  line-height: 1.2;
}

.csx3-lh-15 {
  line-height: 1.5;
}

.csx3-lh-175 {
  line-height: 1.75;
}

.csx3-tracking-tight {
  letter-spacing: -.02em;
}

.csx3-tracking-wide {
  letter-spacing: .04em;
}

.csx3-tracking-wider {
  letter-spacing: .08em;
}

.csx3-ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.csx3-nowrap {
  white-space: nowrap;
}

.csx3-break {
  word-break: break-word;
  overflow-wrap: anywhere;
}

.csx3-pre {
  white-space: pre;
}

.csx3-pre-wrap {
  white-space: pre-wrap;
}

.csx3-clamp-2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.csx3-clamp-3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

:root {
  --csx3-c-0: #fff;
  --csx3-c-50: #f8fafc;
  --csx3-c-100: #f1f5f9;
  --csx3-c-200: #e2e8f0;
  --csx3-c-300: #cbd5e1;
  --csx3-c-400: #94a3b8;
  --csx3-c-500: #64748b;
  --csx3-c-600: #475569;
  --csx3-c-700: #334155;
  --csx3-c-800: #1e293b;
  --csx3-c-900: #0f172a;
  --csx3-c-1000: #000;
  --csx3-accent: #6366f1;
  --csx3-accent-2: #8b5cf6;
  --csx3-success: #16a34a;
  --csx3-warning: #f59e0b;
  --csx3-danger: #dc2626;
  --csx3-info: #0ea5e9;
  --csx3-radius-sm: 4px;
  --csx3-radius: 8px;
  --csx3-radius-lg: 16px;
  --csx3-radius-xl: 24px;
  --csx3-shadow-sm: 0 1px 2px #0000000f;
  --csx3-shadow: 0 4px 12px #0000001a;
  --csx3-shadow-lg: 0 12px 32px #0000002e;
}

.csx3-bg-0 {
  background: var(--csx3-c-0);
}

.csx3-bg-50 {
  background: var(--csx3-c-50);
}

.csx3-bg-100 {
  background: var(--csx3-c-100);
}

.csx3-bg-200 {
  background: var(--csx3-c-200);
}

.csx3-bg-800 {
  background: var(--csx3-c-800);
}

.csx3-bg-900 {
  background: var(--csx3-c-900);
}

.csx3-bg-accent {
  background: var(--csx3-accent);
}

.csx3-bg-success {
  background: var(--csx3-success);
}

.csx3-bg-warning {
  background: var(--csx3-warning);
}

.csx3-bg-danger {
  background: var(--csx3-danger);
}

.csx3-bg-info {
  background: var(--csx3-info);
}

.csx3-bg-transparent {
  background: none;
}

.csx3-fg-0 {
  color: var(--csx3-c-0);
}

.csx3-fg-300 {
  color: var(--csx3-c-300);
}

.csx3-fg-500 {
  color: var(--csx3-c-500);
}

.csx3-fg-700 {
  color: var(--csx3-c-700);
}

.csx3-fg-900 {
  color: var(--csx3-c-900);
}

.csx3-fg-accent {
  color: var(--csx3-accent);
}

.csx3-fg-success {
  color: var(--csx3-success);
}

.csx3-fg-warning {
  color: var(--csx3-warning);
}

.csx3-fg-danger {
  color: var(--csx3-danger);
}

.csx3-b {
  border: 1px solid var(--csx3-c-200);
}

.csx3-b-2 {
  border: 2px solid var(--csx3-c-300);
}

.csx3-bt {
  border-top: 1px solid var(--csx3-c-200);
}

.csx3-br {
  border-right: 1px solid var(--csx3-c-200);
}

.csx3-bb {
  border-bottom: 1px solid var(--csx3-c-200);
}

.csx3-bl {
  border-left: 1px solid var(--csx3-c-200);
}

.csx3-b-none {
  border: none;
}

.csx3-rd-0 {
  border-radius: 0;
}

.csx3-rd-sm {
  border-radius: var(--csx3-radius-sm);
}

.csx3-rd {
  border-radius: var(--csx3-radius);
}

.csx3-rd-lg {
  border-radius: var(--csx3-radius-lg);
}

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

.csx3-rd-full {
  border-radius: 9999px;
}

.csx3-sh-none {
  box-shadow: none;
}

.csx3-sh-sm {
  box-shadow: var(--csx3-shadow-sm);
}

.csx3-sh {
  box-shadow: var(--csx3-shadow);
}

.csx3-sh-lg {
  box-shadow: var(--csx3-shadow-lg);
}

.csx3-sh-inset {
  box-shadow: inset 0 0 0 1px var(--csx3-c-200);
}

.csx3-op-0 {
  opacity: 0;
}

.csx3-op-25 {
  opacity: .25;
}

.csx3-op-50 {
  opacity: .5;
}

.csx3-op-75 {
  opacity: .75;
}

.csx3-op-100 {
  opacity: 1;
}

.csx3-cursor-pointer {
  cursor: pointer;
}

.csx3-cursor-grab {
  cursor: grab;
}

.csx3-cursor-text {
  cursor: text;
}

.csx3-cursor-not {
  cursor: not-allowed;
}

.csx3-cursor-wait {
  cursor: wait;
}

.csx3-pe-none {
  pointer-events: none;
}

.csx3-pe-auto {
  pointer-events: auto;
}

.csx3-select-none {
  -webkit-user-select: none;
  user-select: none;
}

.csx3-select-text {
  -webkit-user-select: text;
  user-select: text;
}

.csx3-select-all {
  -webkit-user-select: all;
  user-select: all;
}

.csx3-tr {
  transition: all .2s;
}

.csx3-tr-fast {
  transition: all .1s;
}

.csx3-tr-slow {
  transition: all .4s;
}

.csx3-tr-colors {
  transition: color .2s, background-color .2s, border-color .2s;
}

.csx3-tr-transform {
  transition: transform .2s;
}

.csx3-hover-lift:hover {
  transform: translateY(-2px);
}

.csx3-hover-zoom:hover {
  transform: scale(1.03);
}

.csx3-hover-shrink:hover {
  transform: scale(.97);
}

.csx3-hover-op:hover {
  opacity: .8;
}

.csx3-hover-bg:hover {
  background: var(--csx3-c-100);
}

.csx3-active-press:active {
  transform: scale(.97);
}

.csx3-focus-ring:focus-visible {
  outline: 2px solid var(--csx3-accent);
  outline-offset: 2px;
}

.csx3-rot-90 {
  transform: rotate(90deg);
}

.csx3-rot-180 {
  transform: rotate(180deg);
}

.csx3-rot-270 {
  transform: rotate(270deg);
}

.csx3-flip-x {
  transform: scaleX(-1);
}

.csx3-flip-y {
  transform: scaleY(-1);
}

.csx3-scale-90 {
  transform: scale(.9);
}

.csx3-scale-110 {
  transform: scale(1.1);
}

.csx3-blur {
  filter: blur(8px);
}

.csx3-blur-sm {
  filter: blur(4px);
}

.csx3-grayscale {
  filter: grayscale();
}

.csx3-bright {
  filter: brightness(1.15);
}

.csx3-dim {
  filter: brightness(.85);
}

.csx3-backdrop-blur {
  -webkit-backdrop-filter: blur(12px);
}

.csx3-no-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.csx3-no-scrollbar::-webkit-scrollbar {
  display: none;
}

.csx3-thin-scrollbar {
  scrollbar-width: thin;
}

.csx3-card {
  background: var(--csx3-c-0);
  border-radius: var(--csx3-radius);
  box-shadow: var(--csx3-shadow-sm);
  padding: 16px;
}

.csx3-chip {
  background: var(--csx3-c-100);
  border-radius: 9999px;
  align-items: center;
  padding: 2px 8px;
  font-size: 12px;
  line-height: 1.4;
  display: inline-flex;
}

.csx3-btn {
  border-radius: var(--csx3-radius-sm);
  background: var(--csx3-accent);
  color: var(--csx3-c-0);
  cursor: pointer;
  border: none;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-weight: 500;
  transition: background .15s, transform .1s;
  display: inline-flex;
}

.csx3-btn:hover {
  background: var(--csx3-accent-2);
}

.csx3-btn:active {
  transform: scale(.98);
}

.csx3-btn-ghost {
  color: var(--csx3-c-800);
  border: 1px solid var(--csx3-c-200);
  background: none;
}

.csx3-btn-ghost:hover {
  background: var(--csx3-c-100);
}

.csx3-divider {
  background: var(--csx3-c-200);
  border: none;
  width: 100%;
  height: 1px;
}

.csx3-divider-v {
  background: var(--csx3-c-200);
  align-self: stretch;
  width: 1px;
}

.csx3-spacer {
  flex: auto;
}

.csx3-stack-overlay > * {
  grid-area: 1 / 1;
}

.csx3-stack-overlay {
  display: grid;
}

@keyframes csx3-pulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .5;
  }
}

@keyframes csx3-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes csx3-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes csx3-slide-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.csx3-pulse {
  animation: 1.5s ease-in-out infinite csx3-pulse;
}

.csx3-spin {
  animation: 1s linear infinite csx3-spin;
}

.csx3-fade-in {
  animation: .3s csx3-fade-in;
}

.csx3-slide-up {
  animation: .3s csx3-slide-up;
}

.csx3-skeleton {
  background: linear-gradient(90deg, var(--csx3-c-100) 0%, var(--csx3-c-200) 50%, var(--csx3-c-100) 100%);
  border-radius: var(--csx3-radius-sm);
  background-size: 200% 100%;
  animation: 1.4s linear infinite csx3-shimmer;
}

@keyframes csx3-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.csx3-sr-only {
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .csx3-tr, .csx3-tr-fast, .csx3-tr-slow, .csx3-tr-colors, .csx3-tr-transform, .csx3-pulse, .csx3-spin, .csx3-fade-in, .csx3-slide-up, .csx3-skeleton {
    transition: none !important;
    animation: none !important;
  }
}

@media (max-width: 640px) {
  .csx3-sm-hidden {
    display: none;
  }

  .csx3-sm-C {
    flex-direction: column;
  }

  .csx3-sm-w-full {
    width: 100%;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .csx3-md-hidden {
    display: none;
  }
}

@media (min-width: 1025px) {
  .csx3-lg-hidden {
    display: none;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --csx3-c-0: #0f172a;
    --csx3-c-50: #111827;
    --csx3-c-100: #1f2937;
    --csx3-c-200: #334155;
    --csx3-c-700: #cbd5e1;
    --csx3-c-800: #e2e8f0;
    --csx3-c-900: #f8fafc;
    --csx3-shadow-sm: 0 1px 2px #0006;
    --csx3-shadow: 0 4px 12px #00000080;
    --csx3-shadow-lg: 0 12px 32px #0009;
  }
}

/* [project]/src/styles/forms.css [app-client] (css) */
.rb-field {
  width: 100%;
  min-width: 0;
}

.rb-field-label {
  font-size: 12px;
  font-weight: var(--rb-fw-medium);
  letter-spacing: var(--rb-tracking-brand);
  text-transform: uppercase;
  color: var(--rb-ink-ghost);
}

.rb-field-control {
  border: 1px solid var(--rb-line-on-light);
  border-radius: var(--rb-radius-sm);
  background: var(--rb-white);
  width: 100%;
  min-height: 44px;
  color: var(--rb-ink-on-light);
  font-family: var(--rb-font-display);
  letter-spacing: var(--rb-tracking-brand);
  transition: border-color var(--rb-dur-fast) var(--rb-ease), box-shadow var(--rb-dur-fast) var(--rb-ease);
  appearance: none;
  padding: 10px 14px;
  font-size: 14px;
}

.rb-field-control::placeholder {
  color: var(--rb-ink-faint);
}

.rb-field-control:focus, .rb-field-control:focus-visible {
  border-color: var(--rb-ruby);
  outline: none;
  box-shadow: 0 0 0 3px #d11d4a1f;
}

select.rb-field-control {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-position: right 12px center;
  background-repeat: no-repeat;
  padding-right: 34px;
}

.rb-btn {
  border-radius: var(--rb-radius-sm);
  min-height: 44px;
  font-family: var(--rb-font-display);
  letter-spacing: var(--rb-tracking-brand);
  cursor: pointer;
  transition: background var(--rb-dur-fast) var(--rb-ease), border-color var(--rb-dur-fast) var(--rb-ease), opacity var(--rb-dur-fast) var(--rb-ease);
  -webkit-tap-highlight-color: transparent;
  padding: 10px 20px;
  font-size: 12px;
  font-weight: 440;
  font-stretch: normal;
}

.rb-btn--primary {
  background: var(--rb-ink-on-light);
  color: var(--rb-white);
  border: 1px solid var(--rb-ink-on-light);
}

.rb-btn--primary:hover {
  opacity: .88;
}

.rb-btn--primary:active {
  transform: scale(.99);
}

.rb-btn--primary:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.rb-btn--ghost {
  color: var(--rb-ink-on-light);
  border: 1px solid var(--rb-line-on-light);
  background: none;
}

.rb-btn--ghost:hover {
  background: #0000000a;
}

.rb-link-btn {
  min-height: 36px;
  color: var(--rb-ink-ghost);
  letter-spacing: var(--rb-tracking-brand);
  cursor: pointer;
  transition: color var(--rb-dur-fast) var(--rb-ease);
  background: none;
  border: none;
  padding: 4px 2px;
  font-size: 12px;
  font-weight: 440;
  font-stretch: normal;
}

.rb-link-btn:hover {
  color: var(--rb-ink-on-light);
}

.rb-link-btn--danger {
  color: var(--rb-ruby);
}

.rb-link-btn--danger:hover {
  color: var(--rb-ruby-deep);
}

/* [project]/src/styles/global.css [app-client] (css) */
@media (max-width: 1000px) {
  :root {
    --rb-nav-h: 80px;
  }
}

*, :before, :after {
  box-sizing: border-box;
}

* {
  touch-action: pan-y;
  margin: 0;
}

html {
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  background: var(--rb-surface);
  min-height: 100dvh;
  color: var(--rb-ink);
  font-family: var(--rb-font-body);
  font-weight: var(--rb-fw-light);
  font-size: var(--rb-text-base);
  line-height: var(--rb-leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: env(safe-area-inset-top) env(safe-area-inset-right)
    env(safe-area-inset-bottom) env(safe-area-inset-left);
  overflow: hidden scroll;
}

h1, h2, h3, h4, h5, h6, p {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-light);
  line-height: var(--rb-leading-tight);
  text-wrap: balance;
}

p {
  line-height: var(--rb-leading-normal);
  text-wrap: pretty;
}

a {
  color: inherit;
  text-decoration: none;
}

.rb-below-nav {
  padding-top: var(--rb-nav-h);
}

img, picture, video, canvas, svg {
  max-width: 100%;
  display: block;
}

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

ul, ol {
  padding: 0;
  list-style: none;
}

:focus-visible {
  outline: 2px solid var(--rb-ruby-soft);
  outline-offset: 2px;
}

::selection {
  background: var(--rb-ruby);
  color: var(--rb-white);
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* [project]/src/lib/aurora_95ff5e32.module.css [app-client] (css) */
@font-face {
  font-family: aurora;
  src: url("../media/Aurora-s.p.3-cot0rz52vjn.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: aurora Fallback;
  src: local(Arial);
  ascent-override: 101.5%;
  descent-override: 25.71%;
  line-gap-override: 0.0%;
  size-adjust: 93.8%;
}

.aurora_95ff5e32-module___saaKq__className {
  font-family: aurora, aurora Fallback, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif;
}

.aurora_95ff5e32-module___saaKq__variable {
  --font-aurora: "aurora", "aurora Fallback", -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif;
}

/* [project]/src/components/layout/search.css [app-client] (css) */
.rubyn-search {
  flex-direction: column;
  flex: 1;
  min-width: 300px;
  max-width: 350px;
  display: flex;
  position: relative;
}

.rubyn-search-input {
  height: 40px;
  color: var(--nav-ink);
  border: 1px solid color-mix(in srgb, var(--nav-ink) 30%, transparent);
  border-radius: var(--rb-radius-pill);
  transition: border-color .2s var(--rb-ease);
  align-items: center;
  gap: 10px;
  padding-inline: 17px;
  display: flex;
}

.rubyn-search-input.open {
  border-bottom-color: #0000;
  border-radius: 20px 20px 0 0;
}

.rubyn-search-input svg {
  flex-shrink: 0;
}

.rubyn-search-input input {
  min-width: 0;
  color: var(--nav-ink);
  font-family: var(--rb-font-display);
  letter-spacing: .01em;
  background: none;
  border: none;
  outline: none;
  flex: 1;
  font-size: 12px;
  font-weight: 400;
}

.rubyn-search-input input::placeholder {
  color: var(--nav-ink);
  opacity: .5;
}

.rubyn-search-panel {
  z-index: 60;
  background: var(--nav-bg, #000);
  border: 1px solid color-mix(in srgb, var(--nav-ink) 25%, transparent);
  border-top: none;
  border-radius: 0 0 20px 20px;
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  overflow: hidden;
}

.rubyn-nav:not(.is-scrolled):not(.is-open) .rubyn-search-panel {
  background: #000;
}

.rubyn-search-tabs {
  border-bottom: 1px solid color-mix(in srgb, var(--nav-ink) 15%, transparent);
  gap: 10px;
  padding: 12px 20px 0;
  display: flex;
}

.rubyn-search-tab {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--nav-ink);
  transition: border-color .3s var(--rb-ease);
  border-bottom: 1px solid #0000;
  padding: 5px 8px 10px;
  font-size: 11px;
  font-weight: 410;
  font-stretch: expanded;
}

.rubyn-search-tab.active {
  border-bottom-color: var(--nav-ink);
}

.rubyn-search-body {
  flex-direction: column;
  gap: 15px;
  max-height: 275px;
  padding: 20px;
  display: flex;
  overflow-y: auto;
}

.rubyn-search-body::-webkit-scrollbar {
  display: none;
}

.rubyn-search-body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.rubyn-search-group {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.rubyn-search-group h4 {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  color: var(--nav-ink);
  font-size: 12px;
  font-weight: 510;
}

.rubyn-search-labels {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.rubyn-search-label {
  border-radius: var(--rb-radius-sm);
  border: 1px solid color-mix(in srgb, var(--nav-ink) 15%, transparent);
  height: 30px;
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  color: var(--nav-ink);
  text-transform: capitalize;
  align-items: center;
  padding: 0 16px;
  font-size: 11px;
  font-weight: 400;
  display: inline-flex;
}

.rubyn-search-label:hover {
  border-color: color-mix(in srgb, var(--nav-ink) 35%, transparent);
}

.rubyn-search-products {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.rubyn-search-product {
  border-radius: var(--rb-radius-sm);
  outline-offset: 2px;
  min-width: 135px;
  transition: outline-color .3s var(--rb-ease);
  outline: 1px solid #0000;
  flex: 1;
  align-items: center;
  gap: 10px;
  display: flex;
}

.rubyn-search-product:hover {
  outline-color: color-mix(in srgb, var(--nav-ink) 15%, transparent);
}

.rubyn-search-product-img {
  border-radius: var(--rb-radius-sm);
  background: var(--rb-surface-3);
  background-position: center;
  background-size: cover;
  flex-shrink: 0;
  width: 43px;
  height: 53px;
}

.rubyn-search-product h5 {
  font-family: var(--rb-font-display);
  color: var(--nav-ink);
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  flex: 1;
  font-size: 12px;
  font-weight: 400;
  line-height: 120%;
  display: -webkit-box;
  overflow: hidden;
}

@media (max-width: 1200px) {
  .rubyn-search {
    display: none;
  }
}

/* [project]/src/components/layout/language.css [app-client] (css) */
.rubyn-cll {
  z-index: var(--rb-z-modal);
  background: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.rubyn-cll-container {
  color: #fff;
  background: #000;
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  flex-direction: column;
  flex: 1;
  max-width: min(460px, 90vw);
  max-height: 100vh;
  display: flex;
}

.rubyn-cll-title {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  height: 45px;
  display: flex;
}

.rubyn-cll-title h4 {
  font-family: var(--rb-font-display);
  text-align: center;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 410;
  font-stretch: expanded;
}

.rubyn-cll-content {
  box-sizing: border-box;
  border-block: 1px solid #ffffff26;
  flex-direction: column;
  gap: 25px;
  max-height: 350px;
  padding: 25px;
  display: flex;
  overflow-y: auto;
}

.rubyn-cll-content::-webkit-scrollbar {
  display: none;
}

.rubyn-cll-content {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.rubyn-cll-group {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.rubyn-cll-group > h5 {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  opacity: .7;
  font-size: 12px;
  font-weight: 400;
  line-height: 120%;
}

.rubyn-cll-list {
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.rubyn-cll-el {
  border-radius: var(--rb-radius-sm);
  height: 37.5px;
  transition: border-color .15s var(--rb-ease), background .15s var(--rb-ease);
  cursor: pointer;
  border: 1px solid #0000;
  align-items: center;
  gap: 10px;
  padding: 0 13px;
  display: flex;
}

.rubyn-cll-el:hover {
  border-color: #ffffff26;
}

.rubyn-cll-el.active {
  background: #ffffff0d;
}

.rubyn-cll-el h6 {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  flex: 1;
  font-size: 12px;
  font-weight: 350;
}

.rubyn-cll-flag {
  border-radius: var(--rb-radius-pill);
  letter-spacing: .04em;
  background: #ffffff0f;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  min-width: 25px;
  height: 25px;
  font-size: 9px;
  display: inline-flex;
}

.rubyn-cll-el .rubyn-cll-code {
  opacity: .5;
  letter-spacing: .05em;
  font-size: 10px;
}

.rubyn-cll-controller {
  justify-content: center;
  padding: 15px;
  display: flex;
}

.rubyn-cll-close {
  border-radius: var(--rb-radius-md);
  color: #fff;
  height: 47px;
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  text-transform: uppercase;
  background: #ffffff0d;
  border: 1px solid #ffffff26;
  flex: 1;
  font-size: 13px;
  font-weight: 400;
}

.rubyn-cll-close:hover {
  background: #ffffff1a;
}

@media (max-width: 1000px) {
  .rubyn-cll {
    align-items: flex-end;
  }

  .rubyn-cll-container {
    border-radius: 16px 16px 0 0;
    max-width: 100vw;
  }
}

/* [project]/src/components/layout/navbar.css [app-client] (css) */
.rubyn-nav {
  z-index: var(--rb-z-header);
  color: var(--nav-ink, #fff);
  --nav-ink: #fff;
  --nav-bg: transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.rubyn-nav-group {
  background: var(--nav-bg);
  transition: background .3s var(--rb-ease), color .3s var(--rb-ease);
}

.rubyn-nav.is-scrolled {
  --nav-bg: #000;
  --nav-ink: #fff;
}

.rubyn-nav.is-open {
  --nav-bg: #fff;
  --nav-ink: #000;
}

.rubyn-nav.is-drawer {
  --nav-bg: #000;
  --nav-ink: #fff;
}

.rubyn-nav.is-light {
  --nav-ink: #000;
}

.rubyn-nav.is-light.is-scrolled {
  --nav-bg: #fff;
  --nav-ink: #000;
}

.rubyn-nav.is-open .rubyn-nav-logo-img, .rubyn-nav.is-light .rubyn-nav-logo-img {
  filter: drop-shadow(0 0 1px #00000073);
}

.rubyn-nav.is-scrolled .rubyn-nav-group {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.rby__nav {
  box-sizing: border-box;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  height: 95px;
  padding: 5px 15px;
  display: flex;
}

.rby__nav-container {
  flex-direction: row;
  flex: 1;
  justify-content: center;
  align-items: stretch;
  max-width: 1700px;
  display: flex;
}

.rby__nav-container-l {
  gap: 30px;
}

.rby__nav-container-r {
  gap: 15px;
}

.rby__nav-container-r svg {
  cursor: pointer;
  flex-shrink: 0;
}

.rubyn-nav-logo {
  cursor: pointer;
  flex-shrink: 0;
  align-items: center;
  display: inline-flex;
}

.rubyn-nav-logo-img {
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  width: 188px;
  height: auto;
}

@media (max-width: 1000px) {
  .rubyn-nav-logo-img {
    width: 120px;
  }
}

.rby__nav-container-l-hmenus {
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
  display: flex;
}

.rby__nav-container-l-hmenus__el {
  cursor: pointer;
  height: 35px;
  transition: border-color .3s var(--rb-ease);
  border-bottom: 1px solid #0000;
  flex-shrink: 0;
  gap: 5px;
  padding: 5px 8px;
}

.rby__nav-container-l-hmenus__el.active {
  border-bottom-color: var(--nav-ink);
}

.rby__nav-container-l-hmenus__el h4 {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--nav-ink);
  -webkit-user-select: none;
  user-select: none;
  font-size: 11px;
  font-weight: 410;
  font-stretch: expanded;
  line-height: 100%;
}

.rubyn-nav-locations {
  cursor: pointer;
  color: var(--nav-ink);
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  gap: 5px;
  display: flex;
}

.rubyn-nav-locations svg {
  transition: scale .25s var(--rb-ease);
}

.rubyn-nav-locations:hover > svg {
  scale: 1.1;
}

.rubyn-nav-locations-text {
  gap: 2px;
}

.rubyn-nav-locations-text h4 {
  font-family: var(--rb-font-display);
  color: var(--nav-ink);
  -webkit-user-select: none;
  user-select: none;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
}

.rubyn-nav-locations-text h5 {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  color: var(--nav-ink);
  opacity: .5;
  -webkit-user-select: none;
  user-select: none;
  font-size: 11px;
  font-weight: 350;
  line-height: 120%;
}

.rubyn-nav-search {
  border-radius: var(--rb-radius-pill);
  border: 1px solid color-mix(in srgb, var(--nav-ink) 35%, transparent);
  height: 40px;
  color: var(--nav-ink);
  min-width: 230px;
  transition: border-color .3s var(--rb-ease);
  align-items: center;
  gap: 8px;
  padding-inline: 17px;
  display: flex;
}

.rubyn-nav-search:focus-within {
  border-color: var(--nav-ink);
}

.rubyn-nav-search input {
  min-width: 0;
  color: var(--nav-ink);
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  background: none;
  border: none;
  outline: none;
  flex: 1;
  font-size: 12px;
  font-weight: 350;
}

.rubyn-nav-search input::placeholder {
  color: var(--nav-ink);
  opacity: .55;
}

.rubyn-nav-icon {
  color: var(--nav-ink);
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.rubyn-nav-avatar {
  border-radius: var(--rb-radius-pill);
  background: color-mix(in srgb, var(--nav-ink) 12%, transparent);
  width: 30px;
  height: 30px;
  color: var(--nav-ink);
  transition: background .25s var(--rb-ease);
  justify-content: center;
  align-items: flex-end;
  display: inline-flex;
  overflow: hidden;
}

.rubyn-nav-avatar:hover {
  background: color-mix(in srgb, var(--nav-ink) 25%, transparent);
}

.rubyn-nav-avatar svg {
  transform: translateY(2px);
}

.rby__menus {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 15px;
  display: flex;
}

.rby__menus-container {
  max-width: 1700px;
}

.rby__menus__el {
  cursor: pointer;
  height: 50px;
  transition: border-color .3s var(--rb-ease);
  border-bottom: 1px solid #0000;
  padding: 0 5px;
}

.rby__menus__el.active {
  border-bottom-color: var(--nav-ink);
}

.rby__menus__el h5 {
  font-family: var(--rb-font-display);
  text-align: center;
  letter-spacing: .02em;
  color: var(--nav-ink);
  -webkit-user-select: none;
  user-select: none;
  font-size: 11px;
  font-weight: 400;
  line-height: 110%;
}

.rby__screen {
  box-sizing: border-box;
  justify-content: center;
  padding: 20px 15px 35px;
  display: flex;
}

.rby__screen-container {
  gap: 35px;
  max-width: 1680px;
}

.rby__screen-container__menu {
  flex-direction: column;
  flex: 1;
  gap: 17.5px;
  min-width: 190px;
  max-width: 225px;
  display: flex;
}

.rby__screen-container__menu h4 {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--nav-ink);
  font-size: 11px;
  font-weight: 650;
  font-stretch: expanded;
  line-height: 100%;
}

.rby__screen-container__menu-column {
  gap: 15px;
}

.rby__screen-container__menu-column__el {
  font-family: var(--rb-font-display);
  color: var(--nav-ink);
  font-size: 12px;
  font-weight: 400;
  line-height: 120%;
}

.rby__screen-container__menu-column__el.bold {
  font-weight: 600;
}

.rby__screen-container__menu-column__el:hover {
  text-decoration: underline;
}

.rby__screen-container__image {
  flex-direction: column;
  flex: 1;
  gap: 10px;
  min-width: 150px;
  max-width: 180px;
  display: flex;
}

.rby__screen-container__image-img {
  border-radius: var(--rb-radius-xs);
  background-position: center;
  background-size: cover;
  align-self: stretch;
  height: 200px;
}

.rby__screen-container__image h5 {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  color: var(--nav-ink);
  font-size: 12px;
  font-weight: 400;
  line-height: 120%;
}

.rubyn-nav-burger {
  color: var(--nav-ink);
  cursor: pointer;
  display: none;
}

.rby__helper {
  scrollbar-width: none;
  flex-direction: row;
  align-items: center;
  gap: 18px;
  padding: 0 15px 12px;
  display: none;
  overflow-x: auto;
}

.rby__helper::-webkit-scrollbar {
  display: none;
}

.rby__helper .rby__nav-container-l-hmenus__el {
  flex: 1;
}

.rby__naturalmobile {
  z-index: calc(var(--rb-z-header) - 1);
  color: #fff;
  -webkit-overflow-scrolling: touch;
  padding: 138px 20px calc(60px + env(safe-area-inset-bottom));
  animation: rb-drawer-in .26s var(--rb-ease);
  background: #000;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

@keyframes rb-drawer-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.rby__mobile-search {
  border-radius: var(--rb-radius-pill);
  color: #fff;
  border: 1px solid #ffffff40;
  flex-shrink: 0;
  height: 48px;
  margin-bottom: 6px;
  padding-inline: 18px;
}

.rby__mobile-search input {
  color: #fff;
  min-width: 0;
  font-family: var(--rb-font-display);
  background: none;
  border: none;
  outline: none;
  font-size: 14px;
}

.rby__mobile-search input::placeholder {
  color: #ffffff80;
}

.rby__naturalmobile-bg {
  color: #fff;
  text-align: left;
  border-bottom: 1px solid #ffffff1f;
  padding: 4px 4px 16px;
}

.rby__naturalmobile-bg h4 {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-nav);
  text-transform: uppercase;
  letter-spacing: .02em;
  font-size: 18px;
  font-stretch: expanded;
}

.rby__naturalmobile-z-title {
  padding: 16px 4px 6px;
}

.rby__naturalmobile-z-title h5 {
  font-family: var(--rb-font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff80;
  font-size: 12px;
  font-weight: 650;
}

.rby__nav_mobile_row {
  color: #fff;
  text-align: left;
  border-bottom: 1px solid #ffffff14;
  min-height: 52px;
  padding: 8px 4px;
}

.rby__nav_mobile_row p {
  font-family: var(--rb-font-display);
  letter-spacing: .02em;
  font-size: 15px;
}

.rby__nav_mobile_row.bold p {
  font-weight: 600;
}

.rby__nav_mobile_row svg {
  opacity: .55;
  flex-shrink: 0;
}

@media (max-width: 1000px) {
  .rby__nav {
    height: 80px;
  }

  .rby__nav-container-l-hmenus, .rubyn-nav-locations, .rby__menus, .rby__screen {
    display: none;
  }

  .rubyn-nav-burger {
    display: inline-flex;
  }

  .rby__helper {
    display: flex;
  }
}

@media (max-width: 1200px) {
  .rubyn-nav-search {
    display: none;
  }
}

@media (min-width: 1001px) {
  .rby__naturalmobile {
    display: none;
  }
}

/* [project]/src/design-system/Typography/Typography.module.css [app-client] (css) */
.Typography-module__7D4soW__heading {
  font-family: var(--rb-font-display);
  line-height: var(--rb-leading-tight);
  letter-spacing: var(--rb-tracking-tight);
  text-wrap: balance;
}

.Typography-module__7D4soW__text {
  font-family: var(--rb-font-body);
  line-height: var(--rb-leading-normal);
  text-wrap: pretty;
}

.Typography-module__7D4soW__size-hero {
  font-size: var(--rb-text-hero);
  line-height: .95;
}

.Typography-module__7D4soW__size-2xl {
  font-size: var(--rb-text-2xl);
}

.Typography-module__7D4soW__size-xl {
  font-size: var(--rb-text-xl);
}

.Typography-module__7D4soW__size-lg {
  font-size: var(--rb-text-lg);
}

.Typography-module__7D4soW__size-md {
  font-size: var(--rb-text-md);
}

.Typography-module__7D4soW__size-base {
  font-size: var(--rb-text-base);
}

.Typography-module__7D4soW__size-sm {
  font-size: var(--rb-text-sm);
}

.Typography-module__7D4soW__size-xs {
  font-size: var(--rb-text-xs);
}

.Typography-module__7D4soW__tone-default {
  color: var(--rb-ink);
}

.Typography-module__7D4soW__tone-muted {
  color: var(--rb-ink-muted);
}

.Typography-module__7D4soW__tone-faint {
  color: var(--rb-ink-faint);
}

.Typography-module__7D4soW__tone-ghost {
  color: var(--rb-ink-ghost);
}

.Typography-module__7D4soW__tone-ruby {
  color: var(--rb-ruby-soft);
}

.Typography-module__7D4soW__tone-onLight {
  color: var(--rb-ink-on-light);
}

.Typography-module__7D4soW__w-thin {
  font-weight: var(--rb-fw-thin);
}

.Typography-module__7D4soW__w-light {
  font-weight: var(--rb-fw-light);
}

.Typography-module__7D4soW__w-regular {
  font-weight: var(--rb-fw-regular);
}

.Typography-module__7D4soW__w-medium {
  font-weight: var(--rb-fw-medium);
}

.Typography-module__7D4soW__w-bold {
  font-weight: var(--rb-fw-bold);
}

.Typography-module__7D4soW__align-start {
  text-align: start;
}

.Typography-module__7D4soW__align-center {
  text-align: center;
}

.Typography-module__7D4soW__align-end {
  text-align: end;
}

.Typography-module__7D4soW__uppercase {
  text-transform: uppercase;
  letter-spacing: var(--rb-tracking-wide);
}

.Typography-module__7D4soW__eyebrow {
  font-family: var(--rb-font-display);
  text-transform: uppercase;
  letter-spacing: var(--rb-tracking-wider);
  font-size: var(--rb-text-xs);
  font-weight: var(--rb-fw-regular);
  display: inline-block;
}

/* [project]/src/design-system/Input/Input.module.css [app-client] (css) */
.Input-module__1pTbOa__wrapper {
  gap: var(--rb-space-2);
  flex-direction: column;
  width: 100%;
  display: flex;
}

.Input-module__1pTbOa__label {
  font-size: var(--rb-text-xs);
  text-transform: uppercase;
  letter-spacing: var(--rb-tracking-wide);
  color: var(--rb-ink-muted);
}

.Input-module__1pTbOa__field {
  align-items: center;
  gap: var(--rb-space-3);
  height: 50px;
  padding-inline: var(--rb-space-6);
  border-radius: var(--rb-radius-sm);
  border: 1px solid var(--rb-line);
  transition: border-color var(--rb-dur) var(--rb-ease);
  display: flex;
}

.Input-module__1pTbOa__field:focus-within {
  border-color: var(--rb-line-strong);
}

.Input-module__1pTbOa__t-dark {
  background: var(--rb-surface-2);
  color: var(--rb-ink);
}

.Input-module__1pTbOa__t-light {
  background: var(--rb-white);
  color: var(--rb-ink-on-light);
  border-color: var(--rb-line-on-light);
}

.Input-module__1pTbOa__invalid {
  border-color: var(--rb-danger);
}

.Input-module__1pTbOa__input {
  min-width: 0;
  height: 100%;
  font-size: 13px;
  font-weight: var(--rb-fw-regular);
  letter-spacing: var(--rb-tracking-brand);
  background: none;
  border: none;
  outline: none;
  flex: 1;
}

.Input-module__1pTbOa__input::placeholder {
  color: var(--rb-ink-faint);
}

.Input-module__1pTbOa__icon {
  color: var(--rb-ink-faint);
  align-items: center;
  display: inline-flex;
}

.Input-module__1pTbOa__toggle {
  font-size: var(--rb-text-xs);
  text-transform: uppercase;
  letter-spacing: var(--rb-tracking-wide);
  color: var(--rb-ink-muted);
}

.Input-module__1pTbOa__hint {
  font-size: var(--rb-text-xs);
  color: var(--rb-ink-faint);
}

.Input-module__1pTbOa__hintInvalid {
  color: var(--rb-danger);
}

/* [project]/src/design-system/Button/Button.module.css [app-client] (css) */
.Button-module__HC5zgW__button {
  justify-content: center;
  align-items: center;
  gap: var(--rb-space-3);
  border-radius: var(--rb-radius-sm);
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-button);
  letter-spacing: var(--rb-tracking-brand);
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  box-sizing: border-box;
  transition: background var(--rb-dur) var(--rb-ease),
    border-color var(--rb-dur) var(--rb-ease),
    outline-color var(--rb-dur) var(--rb-ease),
    opacity var(--rb-dur) var(--rb-ease);
  border: 1px solid #0000;
  display: inline-flex;
}

.Button-module__HC5zgW__pill {
  border-radius: var(--rb-radius-pill);
}

.Button-module__HC5zgW__button[aria-disabled="true"], .Button-module__HC5zgW__button:disabled {
  opacity: .45;
  pointer-events: none;
}

.Button-module__HC5zgW__uppercase .Button-module__HC5zgW__label {
  text-transform: uppercase;
}

.Button-module__HC5zgW__label {
  display: inline-block;
}

.Button-module__HC5zgW__icon {
  align-items: center;
  display: inline-flex;
}

.Button-module__HC5zgW__s-sm {
  height: 40px;
  padding-inline: var(--rb-space-5);
  font-size: 12px;
}

.Button-module__HC5zgW__s-md {
  height: 50px;
  padding-inline: var(--rb-space-7);
  font-size: 13px;
}

.Button-module__HC5zgW__s-lg {
  height: 56px;
  padding-inline: var(--rb-space-10);
  font-size: 14px;
}

.Button-module__HC5zgW__full {
  width: 100%;
  display: flex;
}

.Button-module__HC5zgW__v-solid {
  background: var(--rb-white);
  color: var(--rb-ink-on-light);
}

.Button-module__HC5zgW__v-solid:hover {
  opacity: .9;
}

.Button-module__HC5zgW__v-outline {
  color: var(--rb-ink);
  outline-offset: 3px;
  border-color: var(--rb-line-strong);
  background: none;
  outline: 1px solid #0000;
}

.Button-module__HC5zgW__v-outline:hover {
  outline-color: #ffffff40;
}

.Button-module__HC5zgW__v-ghost {
  color: var(--rb-ink);
  background: none;
}

.Button-module__HC5zgW__v-ghost:hover {
  background: var(--rb-surface-3);
}

.Button-module__HC5zgW__v-ruby {
  background: var(--rb-ruby);
  color: var(--rb-white);
}

.Button-module__HC5zgW__v-ruby:hover {
  background: var(--rb-ruby-deep);
}

/* [project]/src/components/layout/Footer.module.css [app-client] (css) */
.Footer-module__3hUVsW__footer {
  background: var(--rb-surface-2);
  border-top: 1px solid var(--rb-line);
  margin-top: var(--rb-space-32);
}

.Footer-module__3hUVsW__inner {
  max-width: var(--rb-container);
  padding: var(--rb-space-20) var(--rb-gutter) var(--rb-space-10);
  margin-inline: auto;
}

.Footer-module__3hUVsW__top {
  gap: var(--rb-space-16);
  grid-template-columns: minmax(280px, 1fr) 2fr;
  display: grid;
}

.Footer-module__3hUVsW__brandCol {
  gap: var(--rb-space-4);
  flex-direction: column;
  display: flex;
}

.Footer-module__3hUVsW__wordmark {
  letter-spacing: .22em;
}

.Footer-module__3hUVsW__tagline {
  max-width: 32ch;
}

.Footer-module__3hUVsW__newsletter {
  gap: var(--rb-space-3);
  margin-top: var(--rb-space-4);
  max-width: 420px;
  display: flex;
}

.Footer-module__3hUVsW__newsletterDone {
  margin-top: var(--rb-space-4);
  color: var(--rb-success);
  font-size: var(--rb-text-sm);
}

.Footer-module__3hUVsW__columns {
  gap: var(--rb-space-8);
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.Footer-module__3hUVsW__column {
  gap: var(--rb-space-4);
  flex-direction: column;
  display: flex;
}

.Footer-module__3hUVsW__list {
  gap: var(--rb-space-3);
  flex-direction: column;
  display: flex;
}

.Footer-module__3hUVsW__link {
  font-size: var(--rb-text-sm);
  color: var(--rb-ink-muted);
  transition: color var(--rb-dur) var(--rb-ease);
}

.Footer-module__3hUVsW__link:hover {
  color: var(--rb-ink);
}

.Footer-module__3hUVsW__bottom {
  justify-content: space-between;
  align-items: center;
  gap: var(--rb-space-4);
  margin-top: var(--rb-space-20);
  padding-top: var(--rb-space-6);
  border-top: 1px solid var(--rb-line);
  display: flex;
}

@media (max-width: 860px) {
  .Footer-module__3hUVsW__top {
    gap: var(--rb-space-12);
    grid-template-columns: 1fr;
  }

  .Footer-module__3hUVsW__columns {
    gap: var(--rb-space-8);
    grid-template-columns: repeat(2, 1fr);
  }

  .Footer-module__3hUVsW__newsletter {
    max-width: none;
  }
}

@media (max-width: 480px) {
  .Footer-module__3hUVsW__bottom {
    align-items: flex-start;
    gap: var(--rb-space-2);
    flex-direction: column;
  }
}

/*# sourceMappingURL=src_1e9le63._.css.map*/