/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: rotateX(0);
      --tw-rotate-y: rotateY(0);
      --tw-rotate-z: rotateZ(0);
      --tw-skew-x: skewX(0);
      --tw-skew-y: skewY(0);
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-tracking: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-500: oklch(.637 .237 25.331);
    --color-red-700: oklch(.505 .213 27.518);
    --color-white: #fff;
    --container-md: 28rem;
    --container-7xl: 80rem;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --radius-xs: var(--radius-xs);
    --radius-sm: var(--radius-sm);
    --radius-md: var(--radius-md);
    --radius-lg: var(--radius-lg);
    --radius-xl: var(--radius-xl);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-font-feature-settings: var(--font-sans--font-feature-settings);
    --default-font-variation-settings: var(--font-sans--font-variation-settings);
    --default-mono-font-family: var(--font-mono);
    --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
    --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
    --spacing-0: var(--spacing-0);
    --spacing-1: var(--spacing-1);
    --spacing-2: var(--spacing-2);
    --spacing-3: var(--spacing-3);
    --spacing-4: var(--spacing-4);
    --spacing-6: var(--spacing-6);
    --spacing-8: var(--spacing-8);
    --spacing-12: var(--spacing-12);
    --spacing-16: var(--spacing-16);
    --spacing-24: var(--spacing-24);
    --radius-full: var(--radius-full);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  body {
    line-height: inherit;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

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

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
    color: currentColor;
  }

  @supports (color: color-mix(in lab, red, red)) {
    ::placeholder {
      color: color-mix(in oklab, currentColor 50%, transparent);
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  html {
    background-color: var(--surface-background);
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    font-weight: var(--font-weight-regular);
    letter-spacing: var(--letter-spacing-tight);
    word-spacing: var(--word-spacing-normal);
  }

  :focus {
    outline: none;
  }

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

  input:focus-visible, textarea:focus-visible, select:focus-visible {
    border-color: var(--border-accent);
    box-shadow: 0 0 0 1px var(--border-accent);
    outline: none;
  }

  :root, .light {
    transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out;
  }

  *, :before, :after {
    transition-property: background-color, color, border-color, fill, stroke;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
  }

  @media (prefers-reduced-motion: reduce) {
    *, :before, :after {
      transition: none !important;
    }
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h1 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h2 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h3 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-normal);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h4 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-normal);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) p {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-normal);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) label {
    font-family: var(--font-family-base);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-normal);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) button {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-normal);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) input {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-normal);
  }
}

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: var(--spacing-0);
  }

  .inset-1\/4 {
    inset: 25%;
  }

  .inset-\[-0\.01\%_0_3\.05\%_0\] {
    inset: -.01% 0 3.05%;
  }

  .inset-\[-0\.1\%_0_0_0\] {
    inset: -.1% 0 0;
  }

  .inset-\[0\.04\%_70\.23\%_0\.04\%_0\] {
    inset: .04% 70.23% .04% 0;
  }

  .inset-\[0_0\.03\%_-0\.14\%_-0\.03\%\] {
    inset: 0 .03% -.14% -.03%;
  }

  .inset-\[0_0\.05\%_0_0\] {
    inset: 0 .05% 0 0;
  }

  .inset-\[0_76\.05\%_7\.26\%_0\] {
    inset: 0 76.05% 7.26% 0;
  }

  .inset-\[17\.93\%_0_20\.93\%_38\.54\%\] {
    inset: 17.93% 0 20.93% 38.54%;
  }

  .inset-\[35\.44\%_-0\.02\%_0_26\.27\%\] {
    inset: 35.44% -.02% 0 26.27%;
  }

  .top-0 {
    top: var(--spacing-0);
  }

  .top-\[-0\.75px\] {
    top: -.75px;
  }

  .top-\[-3\.57\%\] {
    top: -3.57%;
  }

  .top-\[-100px\] {
    top: -100px;
  }

  .right-0 {
    right: var(--spacing-0);
  }

  .bottom-0 {
    bottom: var(--spacing-0);
  }

  .bottom-\[-0\.75px\] {
    bottom: -.75px;
  }

  .bottom-\[60px\] {
    bottom: 60px;
  }

  .left-0 {
    left: var(--spacing-0);
  }

  .left-1\/2 {
    left: 50%;
  }

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

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

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

  .z-\[9\] {
    z-index: 9;
  }

  .z-\[51\] {
    z-index: 51;
  }

  .z-\[9998\] {
    z-index: 9998;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .container {
    width: 100%;
  }

  @media (width >= 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (width >= 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (width >= 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (width >= 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (width >= 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

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

  .mt-\[5\.77px\] {
    margin-top: 5.77px;
  }

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

  .ml-\[9px\] {
    margin-left: 9px;
  }

  .ml-\[42\.34px\] {
    margin-left: 42.34px;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

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

  .inline-flex {
    display: inline-flex;
  }

  .inline-grid {
    display: inline-grid;
  }

  .size-\[24px\] {
    width: 24px;
    height: 24px;
  }

  .size-\[42px\] {
    width: 42px;
    height: 42px;
  }

  .size-\[48px\] {
    width: 48px;
    height: 48px;
  }

  .size-\[60px\] {
    width: 60px;
    height: 60px;
  }

  .size-full {
    width: 100%;
    height: 100%;
  }

  .h-0 {
    height: var(--spacing-0);
  }

  .h-\[1em\] {
    height: 1em;
  }

  .h-\[16px\] {
    height: 16px;
  }

  .h-\[26px\] {
    height: 26px;
  }

  .h-\[28\.226px\] {
    height: 28.226px;
  }

  .h-\[34px\] {
    height: 34px;
  }

  .h-\[35px\] {
    height: 35px;
  }

  .h-\[38px\] {
    height: 38px;
  }

  .h-\[40px\] {
    height: 40px;
  }

  .h-\[41px\] {
    height: 41px;
  }

  .h-\[43px\] {
    height: 43px;
  }

  .h-\[44px\] {
    height: 44px;
  }

  .h-\[46px\] {
    height: 46px;
  }

  .h-\[48px\] {
    height: 48px;
  }

  .h-\[59px\] {
    height: 59px;
  }

  .h-\[770\.7px\] {
    height: 770.7px;
  }

  .h-\[801px\] {
    height: 801px;
  }

  .h-\[1300px\] {
    height: 1300px;
  }

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

  .h-screen {
    height: 100vh;
  }

  .min-h-\[180px\] {
    min-height: 180px;
  }

  .min-h-px {
    min-height: 1px;
  }

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

  .w-\[2px\] {
    width: 2px;
  }

  .w-\[23\.094px\] {
    width: 23.094px;
  }

  .w-\[42px\] {
    width: 42px;
  }

  .w-\[76\.981px\] {
    width: 76.981px;
  }

  .w-\[83px\] {
    width: 83px;
  }

  .w-\[90px\] {
    width: 90px;
  }

  .w-\[118\.512px\] {
    width: 118.512px;
  }

  .w-\[129px\] {
    width: 129px;
  }

  .w-\[130px\] {
    width: 130px;
  }

  .w-\[141px\] {
    width: 141px;
  }

  .w-\[147px\] {
    width: 147px;
  }

  .w-\[151px\] {
    width: 151px;
  }

  .w-\[162\.832px\] {
    width: 162.832px;
  }

  .w-\[166px\] {
    width: 166px;
  }

  .w-\[173\.096px\] {
    width: 173.096px;
  }

  .w-\[801px\] {
    width: 801px;
  }

  .w-\[1439px\] {
    width: 1439px;
  }

  .w-\[min-content\] {
    width: min-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-\[900px\] {
    max-width: 900px;
  }

  .max-w-\[1440px\] {
    max-width: 1440px;
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-none {
    max-width: none;
  }

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

  .min-w-px {
    min-width: 1px;
  }

  .flex-1 {
    flex: 1;
  }

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

  .grow {
    flex-grow: 1;
  }

  .basis-0 {
    flex-basis: var(--spacing-0);
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[0\.15em\] {
    --tw-translate-y: .15em;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[15px\] {
    --tw-translate-y: 15px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .rotate-\[90deg\] {
    rotate: 90deg;
  }

  .rotate-\[270deg\] {
    rotate: 270deg;
  }

  .transform {
    transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

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

  .grid-cols-\[max-content\] {
    grid-template-columns: max-content;
  }

  .grid-rows-\[max-content\] {
    grid-template-rows: max-content;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

  .flex-row {
    flex-direction: row;
  }

  .place-items-start {
    place-items: start;
  }

  .content-stretch {
    align-content: stretch;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .overflow-clip {
    overflow: clip;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

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

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }

  .border-solid {
    --tw-border-style: solid;
    border-style: solid;
  }

  .bg-background {
    background-color: var(--background);
  }

  .bg-background\/95 {
    background-color: var(--background);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/95 {
      background-color: color-mix(in oklab, var(--background) 95%, transparent);
    }
  }

  .bg-primary {
    background-color: var(--primary);
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[\#ff4444\] {
    --tw-gradient-from: #f44;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-\[\#5343ff\] {
    --tw-gradient-to: #5343ff;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-\[51\.116\%\] {
    --tw-gradient-to-position: 51.116%;
  }

  .bg-clip-text {
    background-clip: text;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-\[24px\] {
    padding: 24px;
  }

  .p-\[27px\] {
    padding: 27px;
  }

  .px-0 {
    padding-inline: var(--spacing-0);
  }

  .px-\[24px\] {
    padding-inline: 24px;
  }

  .py-\[24px\] {
    padding-block: 24px;
  }

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

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

  .font-\[\'Playfair_Display\:Bold_Italic\'\,sans-serif\] {
    font-family: Playfair Display\:Bold Italic, sans-serif;
  }

  .font-\[\'Plus_Jakarta_Sans\:Bold\'\,sans-serif\] {
    font-family: Plus Jakarta Sans\:Bold, sans-serif;
  }

  .font-\[\'Plus_Jakarta_Sans\:Medium\'\,sans-serif\] {
    font-family: Plus Jakarta Sans\:Medium, sans-serif;
  }

  .font-\[\'Plus_Jakarta_Sans\:Regular\'\,sans-serif\] {
    font-family: Plus Jakarta Sans\:Regular, sans-serif;
  }

  .font-\[\'Plus_Jakarta_Sans\:SemiBold\'\,sans-serif\] {
    font-family: Plus Jakarta Sans\:SemiBold, sans-serif;
  }

  .leading-\[0\] {
    --tw-leading: 0;
    line-height: 0;
  }

  .leading-\[20px\] {
    --tw-leading: 20px;
    line-height: 20px;
  }

  .leading-\[24px\] {
    --tw-leading: 24px;
    line-height: 24px;
  }

  .leading-\[30px\] {
    --tw-leading: 30px;
    line-height: 30px;
  }

  .leading-\[64px\] {
    --tw-leading: 64px;
    line-height: 64px;
  }

  .leading-\[normal\] {
    --tw-leading: normal;
    line-height: normal;
  }

  .tracking-\[-0\.2px\] {
    --tw-tracking: -.2px;
    letter-spacing: -.2px;
  }

  .tracking-\[-0\.16px\] {
    --tw-tracking: -.16px;
    letter-spacing: -.16px;
  }

  .tracking-\[-0\.24px\] {
    --tw-tracking: -.24px;
    letter-spacing: -.24px;
  }

  .tracking-\[-0\.32px\] {
    --tw-tracking: -.32px;
    letter-spacing: -.32px;
  }

  .tracking-\[-0\.48px\] {
    --tw-tracking: -.48px;
    letter-spacing: -.48px;
  }

  .tracking-\[-1\.28px\] {
    --tw-tracking: -1.28px;
    letter-spacing: -1.28px;
  }

  .text-nowrap {
    text-wrap: nowrap;
  }

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

  .text-foreground {
    color: var(--foreground);
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-white {
    color: var(--color-white);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .italic {
    font-style: italic;
  }

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

  .opacity-0 {
    opacity: 0;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-80 {
    opacity: .8;
  }

  .mix-blend-screen {
    mix-blend-mode: screen;
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .\[grid-area\:1_\/_1\] {
    grid-area: 1 / 1;
  }

  .fade-in {
    --tw-enter-opacity: 0;
  }

  .zoom-in {
    --tw-enter-scale: 0;
  }

  .zoom-out {
    --tw-exit-scale: 0;
  }

  @media (hover: hover) {
    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  @media (hover: hover) {
    .hover\:text-foreground:hover {
      color: var(--foreground);
    }
  }

  @media (hover: hover) {
    .hover\:text-muted-foreground:hover {
      color: var(--muted-foreground);
    }
  }

  @media (hover: hover) {
    .hover\:text-red-700:hover {
      color: var(--color-red-700);
    }
  }

  @media (hover: hover) {
    .hover\:opacity-70:hover {
      opacity: .7;
    }
  }

  @media (hover: hover) {
    .hover\:opacity-80:hover {
      opacity: .8;
    }
  }

  @media (hover: hover) {
    .hover\:opacity-90:hover {
      opacity: .9;
    }
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-30:disabled {
    opacity: .3;
  }

  @media (width < 48rem) {
    .max-md\:w-full {
      width: 100%;
    }
  }

  @media (width < 48rem) {
    .max-md\:items-center {
      align-items: center;
    }
  }

  @media (width < 48rem) {
    .max-md\:justify-center {
      justify-content: center;
    }
  }

  @media (width < 48rem) {
    .max-md\:text-center {
      text-align: center;
    }
  }

  @media (width >= 40rem) {
    .sm\:p-\[32px\] {
      padding: 32px;
    }
  }

  @media (width >= 40rem) {
    .sm\:px-\[32px\] {
      padding-inline: 32px;
    }
  }

  @media (width >= 40rem) {
    .sm\:py-\[32px\] {
      padding-block: 32px;
    }
  }

  @media (width >= 48rem) {
    .md\:min-h-px {
      min-height: 1px;
    }
  }

  @media (width >= 48rem) {
    .md\:w-auto {
      width: auto;
    }
  }

  @media (width >= 48rem) {
    .md\:grow {
      flex-grow: 1;
    }
  }

  @media (width >= 48rem) {
    .md\:basis-0 {
      flex-basis: var(--spacing-0);
    }
  }

  @media (width >= 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (width >= 48rem) {
    .md\:flex-row {
      flex-direction: row;
    }
  }

  @media (width >= 48rem) {
    .md\:items-center {
      align-items: center;
    }
  }

  @media (width >= 48rem) {
    .md\:items-start {
      align-items: flex-start;
    }
  }

  @media (width >= 48rem) {
    .md\:self-stretch {
      align-self: stretch;
    }
  }

  @media (width >= 48rem) {
    .md\:p-\[48px\] {
      padding: 48px;
    }
  }

  @media (width >= 48rem) {
    .md\:px-\[48px\] {
      padding-inline: 48px;
    }
  }

  @media (width >= 48rem) {
    .md\:py-\[48px\] {
      padding-block: 48px;
    }
  }

  @media (width >= 48rem) {
    .md\:pr-3 {
      padding-right: var(--spacing-3);
    }
  }

  @media (width >= 64rem) {
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .dark\:text-foreground:is(.dark *) {
    color: var(--foreground);
  }
}

:root {
  --font-family-base: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-family-display: "Playfair Display", serif;
  --font-size-xs: .75rem;
  --font-size-base: .875rem;
  --font-size-sm: 1rem;
  --font-size-md: 1.25rem;
  --font-size-lg: 1.5rem;
  --font-size-xl: 2rem;
  --font-size-2xl: 3rem;
  --font-size-3xl: 4rem;
  --font-size-4xl: 7.5rem;
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;
  --letter-spacing-tight: -0em;
  --word-spacing-normal: .1em;
  --font-weight-regular: 200;
  --font-weight-medium: 400;
  --font-weight-semibold: 500;
  --font-weight-bold: 600;
  --spacing-0: 0rem;
  --spacing-1: .25rem;
  --spacing-2: .5rem;
  --spacing-3: .75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-20: 5rem;
  --spacing-24: 6rem;
  --spacing-32: 8rem;
  --spacing-40: 10rem;
  --padding-y-xs: var(--spacing-1);
  --padding-y-sm: var(--spacing-2);
  --padding-y-md: var(--spacing-6);
  --padding-y-lg: var(--spacing-12);
  --padding-y-xl: var(--spacing-24);
  --padding-x-xs: var(--spacing-2);
  --padding-x-sm: var(--spacing-3);
  --padding-x-md: var(--spacing-6);
  --padding-x-lg: var(--spacing-12);
  --padding-x-xl: var(--spacing-12);
  --radius-none: 0rem;
  --radius-xs: .5rem;
  --radius-sm: .75rem;
  --radius-md: 1.25rem;
  --radius-lg: 1.5rem;
  --radius-xl: 3.75rem;
  --radius-full: 999px;
  --surface-background: #080e17;
  --surface-foreground: #121720;
  --surface-accent: #827cfb;
  --border-box: #8da2b926;
  --border-divider: #8da2b926;
  --border-button: #8da2b933;
  --border-subtle: #8da2b933;
  --border-accent: var(--surface-accent);
  --text-primary: #d7dde4;
  --text-primary-inverted: #d7dde4;
  --text-secondary: #7f92a9;
  --button-background: #5343ff;
  --button-border: #0000001a;
  --background: var(--surface-background);
  --foreground: var(--text-primary);
  --border: var(--border-box);
  --primary: var(--button-background);
  --primary-foreground: #fff;
  --secondary: #f44;
  --secondary-foreground: #fff;
  --muted: #d7dde4;
  --muted-foreground: var(--text-secondary);
  --accent: var(--surface-accent);
  --accent-foreground: #fff;
  --card: #080e17;
  --card-foreground: #d7dde4;
  --popover: #080e17;
  --popover-foreground: #d7dde4;
  --destructive: #f44;
  --destructive-foreground: #fff;
  --input: #080e17;
  --input-background: #080e17;
  --ring: #827cfb;
  --elevation-sm: #0000001a;
  --chart-1: #5343ff;
  --chart-2: #827cfb;
  --chart-3: #f44;
  --chart-4: #7f92a9;
  --chart-5: #d7dde4;
  --sidebar: #080e17;
  --sidebar-foreground: #d7dde4;
  --sidebar-primary: #827cfb;
  --sidebar-primary-foreground: #fff;
  --sidebar-accent: #5343ff;
  --sidebar-accent-foreground: #fff;
  --sidebar-border: #8da2b933;
  --sidebar-ring: #827cfb;
}

.light {
  --font-weight-regular: 300;
  --surface-background: #f4f2eb;
  --surface-foreground: #fbfbf8;
  --surface-accent: #f44;
  --border-box: #0000001a;
  --border-divider: #00000012;
  --border-button: #0000001a;
  --border-subtle: #e5e3db;
  --text-primary: #22234b;
  --text-primary-inverted: #fff;
  --text-secondary: #6e6e7d;
  --button-background: #f44;
  --button-border: #ffffff1a;
  --background: var(--surface-background);
  --foreground: var(--text-primary);
  --border: var(--border-box);
  --primary: var(--button-background);
  --primary-foreground: var(--text-primary-inverted);
  --secondary: #f44;
  --secondary-foreground: #080e17;
  --muted: #d7dde4;
  --muted-foreground: var(--text-secondary);
  --accent: var(--surface-accent);
  --accent-foreground: #fff;
  --card: #fff0;
  --card-foreground: #080e17;
  --popover: #fff0;
  --popover-foreground: #080e17;
  --destructive: #f44;
  --destructive-foreground: #fff;
  --input: #fff;
  --input-background: #fff;
  --ring: #5343ff;
}

html {
  font-size: 16px;
}

@media (width <= 1023px) {
  .intro-hero-text {
    font-size: clamp(2.5rem, 8vw, 7.5rem) !important;
  }
}

img {
  box-shadow: none !important;
  filter: none !important;
}

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

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

.carousel-scroll-container {
  -ms-overflow-style: none;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.carousel-scroll-container::-webkit-scrollbar {
  display: none;
}

input:-webkit-autofill {
  -webkit-text-fill-color: var(--text-primary);
  box-shadow: inset 0 0 20px 20px var(--surface-background);
  caret-color: var(--text-primary);
  -webkit-background-clip: text;
  transition: background-color 5000s ease-in-out;
}

input:-webkit-autofill:hover {
  -webkit-text-fill-color: var(--text-primary);
  box-shadow: inset 0 0 20px 20px var(--surface-background);
  caret-color: var(--text-primary);
  -webkit-background-clip: text;
  transition: background-color 5000s ease-in-out;
}

input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--text-primary);
  box-shadow: inset 0 0 20px 20px var(--surface-background);
  caret-color: var(--text-primary);
  -webkit-background-clip: text;
  transition: background-color 5000s ease-in-out;
}

input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--text-primary);
  box-shadow: inset 0 0 20px 20px var(--surface-background);
  caret-color: var(--text-primary);
  -webkit-background-clip: text;
  transition: background-color 5000s ease-in-out;
}

.rich-text-editor {
  outline: none;
}

.rich-text-editor:empty:before {
  content: attr(data-placeholder);
  color: var(--text-secondary);
  opacity: .6;
}

.rich-text-editor h1 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  font-family: var(--font-family-base);
  margin: var(--spacing-4) 0;
  color: var(--text-primary);
}

.rich-text-editor h2 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  font-family: var(--font-family-base);
  margin: var(--spacing-4) 0;
  color: var(--text-primary);
}

.rich-text-editor h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  font-family: var(--font-family-base);
  margin: var(--spacing-3) 0;
  color: var(--text-primary);
}

.rich-text-editor p {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-normal);
  font-family: var(--font-family-base);
  margin: var(--spacing-2) 0;
  white-space: pre-line;
  max-width: 685px;
}

.rich-text-editor div {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-normal);
  font-family: var(--font-family-base);
  color: var(--text-primary);
}

.rich-text-editor a {
  color: var(--button-background);
  text-decoration: underline;
}

.rich-text-editor a:hover {
  opacity: .7;
}

.rich-text-editor strong, .rich-text-editor b {
  font-weight: var(--font-weight-semibold);
}

.rich-text-editor em, .rich-text-editor i {
  font-style: italic;
}

.rich-text-editor h1:first-child, .rich-text-editor h2:first-child, .rich-text-editor h3:first-child, .rich-text-editor p:first-child {
  margin-top: 0;
}

.rich-text-editor h1:last-child, .rich-text-editor h2:last-child, .rich-text-editor h3:last-child, .rich-text-editor p:last-child {
  margin-bottom: 0;
}

.rich-text-editor p:first-child, .rich-text-editor h1:first-child, .rich-text-editor h2:first-child, .rich-text-editor h3:first-child, .rich-text-editor div:first-child, .rich-text-editor span:first-child {
  margin-top: 0;
}

.rich-text-editor p:last-child, .rich-text-editor h1:last-child, .rich-text-editor h2:last-child, .rich-text-editor h3:last-child, .rich-text-editor div:last-child, .rich-text-editor span:last-child {
  margin-bottom: 0;
}

.rich-text-display {
  color: var(--text-secondary);
}

.rich-text-display a {
  cursor: pointer;
  text-decoration: underline;
  transition: opacity .2s;
  color: var(--surface-accent) !important;
}

.rich-text-display a:hover {
  opacity: .8;
}

.rich-text-display strong, .rich-text-display b {
  font-weight: var(--font-weight-semibold);
}

.rich-text-display em, .rich-text-display i {
  font-style: italic;
}

.rich-text-display h1, .rich-text-display h1 * {
  margin: var(--spacing-4) 0;
  font-size: var(--font-size-3xl) !important;
  font-weight: var(--font-weight-bold) !important;
  line-height: var(--line-height-tight) !important;
  font-family: var(--font-family-base) !important;
}

.rich-text-display h1 {
  color: var(--text-primary) !important;
}

.rich-text-display h2, .rich-text-display h2 * {
  margin: var(--spacing-3) 0;
  font-size: var(--font-size-2xl) !important;
  font-weight: var(--font-weight-bold) !important;
  line-height: var(--line-height-tight) !important;
  font-family: var(--font-family-base) !important;
}

.rich-text-display h2 {
  color: var(--text-primary) !important;
}

.rich-text-display h3, .rich-text-display h3 * {
  margin: var(--spacing-3) 0;
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-semibold) !important;
  line-height: var(--line-height-normal) !important;
  font-family: var(--font-family-base) !important;
}

.rich-text-display h3 {
  color: var(--text-primary) !important;
}

.rich-text-display p, .rich-text-display p :not([style*="color"]) {
  margin: var(--spacing-2) 0;
  white-space: pre-line;
  max-width: 685px;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-height-normal) !important;
  font-family: var(--font-family-base) !important;
}

.rich-text-display p {
  color: var(--text-secondary) !important;
}

.rich-text-display div:not([class]), .rich-text-display div:not([class]) :not([style*="color"]) {
  margin: var(--spacing-2) 0;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-height-normal) !important;
  font-family: var(--font-family-base) !important;
}

.rich-text-display div:not([class]) {
  color: var(--text-secondary) !important;
}

.text-media-grid {
  gap: var(--spacing-8);
  grid-template-columns: 1fr 1fr;
  align-items: center;
  display: grid;
}

@media (width <= 1023px) {
  .text-media-grid {
    gap: var(--spacing-6);
    grid-template-columns: 1fr;
  }

  .text-media-grid .text-content {
    order: 2;
  }

  .text-media-grid .media-content {
    order: 1;
  }
}

.two-media-grid {
  gap: var(--spacing-4);
  grid-template-columns: 1fr 1fr;
  display: grid;
}

@media (width <= 1023px) {
  .two-media-grid {
    gap: var(--spacing-4);
    grid-template-columns: 1fr;
  }

  [style*="--carousel-gap"] {
    --carousel-gap: var(--spacing-4) !important;
    --carousel-item-width: calc((100% - .5 * var(--spacing-4)) / 1.5) !important;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
  initial-value: rotateX(0);
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
  initial-value: rotateY(0);
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
  initial-value: rotateZ(0);
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false;
  initial-value: skewX(0);
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false;
  initial-value: skewY(0);
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}
