/*! tailwindcss v4.1.12 | 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: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

@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(63.7% .237 25.331);
    --color-gray-900: oklch(21% .034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-7xl: 80rem;
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tighter: -.05em;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@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;
  }

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

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      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;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-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;
  }

  .active {
    background-color: var(--bg-start);
    border-radius: 10px;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .active {
      background-color: color-mix(in oklab, var(--bg-start) 70%, transparent);
    }
  }

  .active {
    --tw-font-weight: 600;
    font-weight: 600;
  }

  p {
    color: var(--text-primary);
    letter-spacing: .03em;
    font-size: 16px;
  }

  * {
    transition: color .4s, background-color .4s, background .4s, fill .4s;
  }
}

@layer components;

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

  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

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

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

  .top-5 {
    top: calc(var(--spacing) * 5);
  }

  .top-\[49\.5px\] {
    top: 49.5px;
  }

  .-right-\[400px\] {
    right: -400px;
  }

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

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

  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }

  .bottom-5 {
    bottom: calc(var(--spacing) * 5);
  }

  .bottom-15 {
    bottom: calc(var(--spacing) * 15);
  }

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

  .left-10 {
    left: calc(var(--spacing) * 10);
  }

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

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

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

  .col-span-2 {
    grid-column: span 2 / span 2;
  }

  .col-span-3 {
    grid-column: span 3 / span 3;
  }

  .col-span-full {
    grid-column: 1 / -1;
  }

  .m-0 {
    margin: calc(var(--spacing) * 0);
  }

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

  .my-16 {
    margin-block: calc(var(--spacing) * 16);
  }

  .my-20 {
    margin-block: calc(var(--spacing) * 20);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }

  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }

  .mt-auto {
    margin-top: auto;
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }

  .mr-auto {
    margin-right: auto;
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }

  .mb-20 {
    margin-bottom: calc(var(--spacing) * 20);
  }

  .mb-48 {
    margin-bottom: calc(var(--spacing) * 48);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-auto {
    margin-left: auto;
  }

  .element-center {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

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

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

  .h-1 {
    height: calc(var(--spacing) * 1);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-15 {
    height: calc(var(--spacing) * 15);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

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

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

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

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

  .min-h-\[50vh\] {
    min-height: 50vh;
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-15 {
    width: calc(var(--spacing) * 15);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-\[calc\(100\%-10px\)\] {
    width: calc(100% - 10px);
  }

  .w-\[calc\(100\%-40px\)\] {
    width: calc(100% - 40px);
  }

  .w-auto {
    width: auto;
  }

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

  .w-full {
    width: 100%;
  }

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

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

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

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

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

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

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

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

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

  .grow {
    flex-grow: 1;
  }

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

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

  .transform-\[translateY\(-50px\)\] {
    transform: translateY(-50px);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .resize {
    resize: both;
  }

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

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

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

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

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

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

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

  .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-start {
    justify-content: flex-start;
  }

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

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-9 {
    gap: calc(var(--spacing) * 9);
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

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

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

  .overflow-clip {
    overflow: clip;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

  .rounded {
    border-radius: .25rem;
  }

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

  .rounded-\[999px\] {
    border-radius: 999px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

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

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

  .rounded-b-xl {
    border-bottom-right-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
  }

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

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

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

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

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

  .border-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }

  .border-b-\[20px\] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 20px;
  }

  .border-\[var\(--accent\)\], .border-\[var\(--accent\)\]\/20 {
    border-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--accent\)\]\/20 {
      border-color: color-mix(in oklab, var(--accent) 20%, transparent);
    }
  }

  .border-\[var\(--accent\)\]\/30 {
    border-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--accent\)\]\/30 {
      border-color: color-mix(in oklab, var(--accent) 30%, transparent);
    }
  }

  .border-\[var\(--accent\)\]\/40 {
    border-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--accent\)\]\/40 {
      border-color: color-mix(in oklab, var(--accent) 40%, transparent);
    }
  }

  .border-\[var\(--border\)\] {
    border-color: var(--border);
  }

  .bg-\[var\(--accent\)\], .bg-\[var\(--accent\)\]\/5 {
    background-color: var(--accent);
  }

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

  .bg-\[var\(--accent\)\]\/10 {
    background-color: var(--accent);
  }

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

  .bg-\[var\(--accent\)\]\/40 {
    background-color: var(--accent);
  }

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

  .bg-\[var\(--accent-hover\)\] {
    background-color: var(--accent-hover);
  }

  .bg-\[var\(--card-bg\)\] {
    background-color: var(--card-bg);
  }

  .bg-black\/15 {
    background-color: #00000026;
  }

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

  .bg-current {
    background-color: currentColor;
  }

  .bg-transparent {
    background-color: #0000;
  }

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

  .bg-\[linear-gradient\(to_bottom_right\,var\(--bg-start\)\,var\(--bg-end\)\)\] {
    background-image: linear-gradient(to bottom right, var(--bg-start), var(--bg-end));
  }

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

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

  .p-0 {
    padding: calc(var(--spacing) * 0);
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }

  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }

  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }

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

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

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-\[clamp\(18px\,7vw\,40px\)\] {
    font-size: clamp(18px, 7vw, 40px);
  }

  .text-\[clamp\(20px\,5vw\,32px\)\] {
    font-size: clamp(20px, 5vw, 32px);
  }

  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }

  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }

  .leading-8 {
    --tw-leading: calc(var(--spacing) * 8);
    line-height: calc(var(--spacing) * 8);
  }

  .leading-20 {
    --tw-leading: calc(var(--spacing) * 20);
    line-height: calc(var(--spacing) * 20);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

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

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

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

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

  .text-\[var\(--accent\)\], .text-\[var\(--accent\)\]\/70 {
    color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-\[var\(--accent\)\]\/70 {
      color: color-mix(in oklab, var(--accent) 70%, transparent);
    }
  }

  .text-\[var\(--text-primary\)\] {
    color: var(--text-primary);
  }

  .text-\[var\(--text-secondary\)\] {
    color: var(--text-secondary);
  }

  .text-inherit {
    color: inherit;
  }

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

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

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

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .underline-offset-8 {
    text-underline-offset: 8px;
  }

  .opacity-0 {
    opacity: 0;
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_0_6px_rgba\(255\,111\,145\,0\.3\)\] {
    --tw-shadow: 0 0 0 6px var(--tw-shadow-color, #ff6f914d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[inset_6px_0_0px_-2px_var\(--accent\)\] {
    --tw-shadow: inset 6px 0 0px -2px var(--tw-shadow-color, var(--accent));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-black\/10 {
    --tw-shadow-color: #0000001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .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, );
  }

  .backdrop-blur-\[5px\] {
    --tw-backdrop-blur: blur(5px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .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, display, visibility, content-visibility, overlay, pointer-events;
    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));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .duration-1000 {
    --tw-duration: 1s;
    transition-duration: 1s;
  }

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

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

  .will-change-transform {
    will-change: transform;
  }

  @media (hover: hover) {
    .group-hover\:-translate-x-2:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-2:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-3:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 3);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:bg-white:is(:where(.group):hover *) {
      background-color: var(--color-white);
    }

    .group-hover\:fill-black:is(:where(.group):hover *) {
      fill: var(--color-black);
    }

    .group-hover\:text-white:is(:where(.group):hover *) {
      color: var(--color-white);
    }
  }

  .before\:absolute:before {
    content: var(--tw-content);
    position: absolute;
  }

  .before\:-top-9:before {
    content: var(--tw-content);
    top: calc(var(--spacing) * -9);
  }

  .before\:top-6:before {
    content: var(--tw-content);
    top: calc(var(--spacing) * 6);
  }

  .before\:-right-9:before {
    content: var(--tw-content);
    right: calc(var(--spacing) * -9);
  }

  .before\:left-6:before {
    content: var(--tw-content);
    left: calc(var(--spacing) * 6);
  }

  .before\:h-9\/12:before {
    content: var(--tw-content);
    height: 75%;
  }

  .before\:h-24:before {
    content: var(--tw-content);
    height: calc(var(--spacing) * 24);
  }

  .before\:w-1:before {
    content: var(--tw-content);
    width: calc(var(--spacing) * 1);
  }

  .before\:w-24:before {
    content: var(--tw-content);
    width: calc(var(--spacing) * 24);
  }

  .before\:rounded-full:before {
    content: var(--tw-content);
    border-radius: 3.40282e38px;
  }

  .before\:bg-\[var\(--accent\)\]\/50:before {
    content: var(--tw-content);
    background-color: var(--accent);
  }

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

  @media (hover: hover) {
    .hover\:-translate-y-2:hover {
      --tw-translate-y: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:\[transform\:perspective\(600px\)_rotateX\(2deg\)_rotateY\(-5deg\)_translateX\(10px\)\]:hover {
      transform: perspective(600px)rotateX(2deg)rotateY(-5deg)translateX(10px);
    }

    .hover\:\[transform\:perspective\(600px\)_rotateX\(2deg\)_rotateY\(5deg\)_translateX\(-10px\)\]:hover {
      transform: perspective(600px)rotateX(2deg)rotateY(5deg)translateX(-10px);
    }

    .hover\:bg-\[var\(--accent-hover\)\]\/80:hover {
      background-color: var(--accent-hover);
    }

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

    .hover\:text-\[var\(--accent-hover\)\]:hover {
      color: var(--accent-hover);
    }

    .hover\:no-underline:hover {
      text-decoration-line: none;
    }
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-offset-1:focus {
    --tw-ring-offset-width: 1px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

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

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  @media not all and (min-width: 40rem) {
    .max-sm\:mt-1 {
      margin-top: calc(var(--spacing) * 1);
    }

    .max-sm\:h-auto {
      height: auto;
    }
  }

  @media (min-width: 40rem) {
    .sm\:pointer-events-auto {
      pointer-events: auto;
    }

    .sm\:static {
      position: static;
    }

    .sm\:left-16 {
      left: calc(var(--spacing) * 16);
    }

    .sm\:ml-auto {
      margin-left: auto;
    }

    .sm\:w-24 {
      width: calc(var(--spacing) * 24);
    }

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

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

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

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

    .sm\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }

    .sm\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }

    .sm\:opacity-100 {
      opacity: 1;
    }

    .sm\:shadow-none {
      --tw-shadow: 0 0 #0000;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (min-width: 48rem) {
    .md\:left-1\/2 {
      left: 50%;
    }

    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .md\:col-start-2 {
      grid-column-start: 2;
    }

    .md\:col-end-6 {
      grid-column-end: 6;
    }

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

    .md\:mr-auto {
      margin-right: auto;
    }

    .md\:ml-0 {
      margin-left: calc(var(--spacing) * 0);
    }

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

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

    .md\:w-6\/12 {
      width: 50%;
    }

    .md\:w-\[calc\(50\%-20px\)\] {
      width: calc(50% - 20px);
    }

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

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

    .md\:translate-y-16 {
      --tw-translate-y: calc(var(--spacing) * 16);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

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

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

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

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

    .md\:place-content-center {
      place-content: center;
    }

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

    .md\:pe-20 {
      padding-inline-end: calc(var(--spacing) * 20);
    }

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

    @media (hover: hover) {
      .md\:hover\:translate-y-14:hover {
        --tw-translate-y: calc(var(--spacing) * 14);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }

      .md\:hover\:\[transform\:perspective\(600px\)_rotateX\(2deg\)_rotateY\(-10deg\)_translateX\(10px\)\]:hover {
        transform: perspective(600px)rotateX(2deg)rotateY(-10deg)translateX(10px);
      }

      .md\:hover\:\[transform\:perspective\(600px\)_rotateX\(2deg\)_rotateY\(10deg\)_translateX\(-10px\)\]:hover {
        transform: perspective(600px)rotateX(2deg)rotateY(10deg)translateX(-10px);
      }
    }
  }

  @media (min-width: 64rem) {
    .lg\:mt-20 {
      margin-top: calc(var(--spacing) * 20);
    }

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

    .lg\:max-w-3xl {
      max-width: var(--container-3xl);
    }

    .lg\:max-w-7\/12 {
      max-width: 58.3333%;
    }

    .lg\:-translate-y-8 {
      --tw-translate-y: calc(var(--spacing) * -8);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

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

  @media (prefers-color-scheme: dark) {
    .dark\:bg-gray-900 {
      background-color: var(--color-gray-900);
    }
  }

  .\[\&_\*\]\:text-sm * {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .\[\&_a\]\:block a {
    display: block;
  }

  .\[\&_a\]\:px-3 a {
    padding-inline: calc(var(--spacing) * 3);
  }

  .\[\&_a\]\:py-1\.5 a {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .\[\&_a\]\:transition-\[underline\] a {
    transition-property: underline;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .\[\&_div\]\:min-h-36 div {
    min-height: calc(var(--spacing) * 36);
  }

  .\[\&_li\]\:relative li {
    position: relative;
  }

  .\[\&_li\]\:rounded-lg li {
    border-radius: var(--radius-lg);
  }

  .\[\&_li\]\:pl-8 li {
    padding-left: calc(var(--spacing) * 8);
  }

  .\[\&_li\]\:transition-colors li {
    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));
  }

  .\[\&_li\]\:before\:absolute li:before {
    content: var(--tw-content);
    position: absolute;
  }

  .\[\&_li\]\:before\:top-2 li:before {
    content: var(--tw-content);
    top: calc(var(--spacing) * 2);
  }

  .\[\&_li\]\:before\:-left-1 li:before {
    content: var(--tw-content);
    left: calc(var(--spacing) * -1);
  }

  .\[\&_li\]\:before\:h-3 li:before {
    content: var(--tw-content);
    height: calc(var(--spacing) * 3);
  }

  .\[\&_li\]\:before\:w-3 li:before {
    content: var(--tw-content);
    width: calc(var(--spacing) * 3);
  }

  .\[\&_li\]\:before\:rounded-full li:before {
    content: var(--tw-content);
    border-radius: 3.40282e38px;
  }

  .\[\&_li\]\:before\:bg-\[var\(--accent\)\] li:before {
    content: var(--tw-content);
    background-color: var(--accent);
  }

  @media not all and (min-width: 40rem) {
    .max-sm\:\[\&_li\]\:w-full li {
      width: 100%;
    }
  }

  .\[\&_svg\]\:fill-white svg {
    fill: var(--color-white);
  }
}

:root {
  --bg-start: #a8edea;
  --bg-end: #fed6e3;
  --input-text: #333;
  --text-primary: #333;
  --text-secondary: #555;
  --accent: #ff6f91;
  --accent-hover: #4ecdc4;
  --border: #e0e0e0;
  --footer-text-color: #2e2929;
  --bg-nav-menu: #ffffffe0;
  --bg-header: #ffffffb3;
  --shadow-header: #0000001a;
  --text-nav-menu: #000;
  --bg-white: #fff;
  --input-bg-white: #fffa;
  --ring: 0 0 0 3px #37c0d573;
  --li-bg-hover: #e7e7e7da;
  --input-box-shadow: 0 0 1px 10px transparent;
  --nav-menu-box-shadow: 0 10px 20px #0000001a;
  --nav-menu-border-top: .5px solid #ccccccc6;
  --mobile-bg-header: #ffffffe6;
  --modal-bg: #fff;
  --card-bg: #fff6;
}

:root[data-theme="dark"] {
  --bg-start: #434343;
  --bg-end: #000;
  --text-primary: #f0f0f0;
  --text-secondary: #ccc;
  --accent: #ff7fa0;
  --accent-hover: #3bb0a4;
  --border: #2a2a2a;
  --footer-text-color: #ccc;
  --bg-header: #14141eb3;
  --shadow-header: #00000080;
  --text-nav-menu: #fff;
  --input-bg-white: #fff;
  --li-bg-hover: #ffffff61;
  --mobile-bg-header: #14141ee6;
  --modal-bg: #000000f0;
  --card-bg: linear-gradient(120deg, #000, #0009);
}

* {
  scroll-behavior: smooth;
}

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background-color: var(--text-primary);
}

::-webkit-scrollbar-thumb {
  background-color: var(--accent);
}

body {
  background: linear-gradient(135deg, var(--bg-start), var(--bg-end));
  color: var(--text-primary);
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "header"
                       "main"
                       "footer";
  min-height: 100vh;
  font-family: Lato, Helvetica Neue, Helvetica, Arial, sans-serif;
  transition: background-color .5s, color .5s, fill .5s;
  display: grid;
}

img, svg {
  vertical-align: middle;
  transition: fill .2s ease-in-out;
}

header {
  z-index: 999;
  background-color: var(--bg-header);
  grid-area: header;
  position: sticky;
  top: 0;
}

main {
  grid-area: main;
  width: 100%;
  max-width: 2000px;
  margin: 0 auto;
}

footer {
  color: var(--footer-text-color);
  grid-area: footer;
}

header nav {
  box-shadow: 0 4px 12px var(--shadow-header);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: background-color .5s, box-shadow .5s;
}

header nav .logo {
  text-shadow: 2px 2px 4px #0003;
  color: var(--text-color);
  font-family: Playwrite CA, cursive;
  font-size: 22px;
  font-weight: 900;
}

.nav-menu {
  border-top: var(--nav-menu-border-top);
  box-shadow: var(--nav-menu-box-shadow);
  z-index: 500;
  background-color: var(--mobile-bg-header);
}

.nav-menu li {
  transition: transform .3s;
}

.nav-menu li:hover:last-child {
  transform: scale(1.08);
}

.nav-menu.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform .3s, opacity .3s, visibility .3s, background-color .5s;
  transform: translate3d(0, 30px, 0);
}

.nav-menu li a {
  color: var(--text-nav-menu);
  transition: color .3s;
}

@media (min-width: 640px) {
  .nav-menu {
    box-shadow: none;
    background-color: #0000;
    border: none;
    transform: translate3d(0, 0, 0) !important;
  }

  .nav-menu li a {
    color: var(--text-color);
  }
}

@media (max-width: 630px) {
  .nav-menu {
    transition: transform .3s, opacity .3s, visibility .3s, background-color .5s;
  }
}

button {
  background: linear-gradient(135deg, var(--accent), var(--accent-hover));
  color: var(--bg-white);
  cursor: pointer;
  border: none;
  outline: none;
  padding: .5rem 1rem;
  transition: background .3s, transform .2s;
  box-shadow: 0 4px 8px #00000026;
}

button:not(#scroll-btn) {
  border-radius: .5rem;
}

button:focus-visible {
  box-shadow: 0 0 0 2px var(--accent);
}

@keyframes gradient-shift {
  0% {
    background-position: 0%;
  }

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

button:hover {
  background: linear-gradient(135deg, var(--accent-hover), var(--accent));
  box-shadow: 0px 2px 10px var(--accent);
  transform: translateY(-2px);
}

.grecaptcha-badge {
  visibility: hidden;
}

h1, h2 {
  background: linear-gradient(to bottom, var(--accent), var(--accent-hover));
  -webkit-text-fill-color: transparent;
  letter-spacing: 2px;
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(25px, 8vw, 40px);
}

.text h1, .text h2, .title {
  -webkit-text-fill-color: initial !important;
  background: none !important;
}

.modal {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all .3s;
  transform: translate3d(0, 50px, 0);
}

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

.modal.show-modal {
  transform: translate3d(0, 0, 0);
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.modal h2 {
  font-size: clamp(14px, 6vw, 15px);
}

input, textarea {
  resize: none;
  background-color: var(--input-bg-white);
  color: var(--input-text);
  transition: all .2s linear;
}

:is(input, textarea):focus-visible {
  outline: none;
}

:is(input, textarea):focus {
  box-shadow: 0 0 0 2px var(--accent);
}

:is(input, textarea):focus::placeholder {
  opacity: 0;
}

:is(input, textarea)::placeholder {
  color: var(--text-secondary);
  opacity: .8;
}

#form-status {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  font-size: 15px;
  transition: visibility .3s linear, opacity .3s linear, pointer-events .3s linear, height .3s linear, transform .3s linear;
  transform: translate3d(0, 30px, 0);
}

#form-status.shown {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  height: auto;
  transform: translate3d(0, 0, 0);
}

@keyframes slide {
  0% {
    transform: translateY(15vh);
  }

  100% {
    transform: translateY(0);
  }
}

.modal-title-success {
  color: #16a34a;
}

.modal-title-error {
  color: #dc2626;
}

.name {
  background: -webkit-linear-gradient(var(--accent), var(--accent-hover));
  -webkit-text-fill-color: transparent;
  color: #0000;
  text-shadow: 0 5px 5px #0000001a, 0 0 5px #0000001a;
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(28px, 7vw, 60px);
  position: relative;
}

.name:before, .name:after {
  content: "";
  background-color: var(--accent);
  width: 10ch;
  height: 9px;
  position: absolute;
  bottom: -8px;
}

.name:before {
  left: 10px;
  transform: skewX(85deg);
}

.name:after {
  right: 0;
  transform: skewX(-65deg);
}

.work-together {
  opacity: 0;
  animation: 1s 3s forwards fadeInUp;
  transform: translateY(30px);
}

@keyframes fadeInUp {
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.text {
  color: var(--text-primary);
  overflow: hidden;
}

.text h1, .text h2 {
  text-align: left;
  white-space: nowrap;
  letter-spacing: 1.5px;
  animation: 3s ease-in-out typewriteeffect;
  overflow: clip;
  font-size: clamp(18px, 5vw, 50px) !important;
}

.text ~ div h3 {
  background: -webkit-linear-gradient(var(--accent), var(--text-primary));
  -webkit-text-fill-color: transparent;
  color: #0000;
  -webkit-background-clip: text;
  background-clip: text;
  overflow: hidden;
  font-size: clamp(14px, 5vw, 20px) !important;
}

@keyframes typewriteeffect {
  from {
    width: 0%;
  }

  to {
    width: 100%;
  }
}

.nav-link {
  border: solid var(--border) 0px;
  transition: all .5s;
}

@media (min-width: 640px) {
  .nav-link:after {
    content: "";
    background-color: var(--accent);
    visibility: hidden;
    opacity: 0;
    width: 0;
    height: 4px;
    transition: all .4s ease-in-out;
    position: absolute;
    bottom: 3px;
    left: 0;
  }

  .nav-link:not(.active):hover:after {
    visibility: visible;
    opacity: 1;
    width: 100%;
    transform: translateX(0);
  }
}

#scroll-btn {
  transition: right .3s ease-in-out, scale .1s ease-out, bottom .3s ease-in-out;
}

#scroll-btn.visible {
  right: 10px;
}

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

@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
}

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

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

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

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

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

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

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

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

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

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

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

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

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

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

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

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

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

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

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@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-backdrop-blur {
  syntax: "*";
  inherits: false
}

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

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

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

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

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

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

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

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

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

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

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

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

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

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

@keyframes pulse {
  50% {
    opacity: .5;
  }
}
