/* [project]/src/app/globals.css [app-client] (css) */
@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-divide-y-reverse: 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-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;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--font-geist-sans);
    --color-red-50: #fef2f2;
    --color-red-100: #ffe2e2;
    --color-red-200: #ffcaca;
    --color-red-300: #ffa3a3;
    --color-red-400: #ff6568;
    --color-red-500: #fb2c36;
    --color-red-600: #e40014;
    --color-red-700: #bf000f;
    --color-red-800: #9f0712;
    --color-orange-50: #fff7ed;
    --color-orange-100: #ffedd5;
    --color-orange-200: #ffd7a8;
    --color-orange-300: #ffb96d;
    --color-orange-500: #fe6e00;
    --color-orange-600: #f05100;
    --color-orange-700: #c53c00;
    --color-orange-800: #9f2d00;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c6;
    --color-amber-200: #fee685;
    --color-amber-700: #b75000;
    --color-amber-800: #953d00;
    --color-amber-900: #7b3306;
    --color-amber-950: #461901;
    --color-yellow-50: #fefce8;
    --color-yellow-100: #fef9c2;
    --color-yellow-200: #fff085;
    --color-yellow-300: #ffe02a;
    --color-yellow-400: #fac800;
    --color-yellow-500: #edb200;
    --color-yellow-600: #cd8900;
    --color-yellow-800: #874b00;
    --color-yellow-900: #733e0a;
    --color-green-50: #f0fdf4;
    --color-green-100: #dcfce7;
    --color-green-200: #b9f8cf;
    --color-green-400: #05df72;
    --color-green-500: #00c758;
    --color-green-600: #00a544;
    --color-green-700: #008138;
    --color-green-800: #016630;
    --color-emerald-50: #ecfdf5;
    --color-emerald-200: #a4f4cf;
    --color-emerald-700: #007956;
    --color-emerald-900: #004e3b;
    --color-sky-600: #0084cc;
    --color-sky-700: #0069a4;
    --color-blue-50: #eff6ff;
    --color-blue-100: #dbeafe;
    --color-blue-200: #bedbff;
    --color-blue-300: #90c5ff;
    --color-blue-400: #54a2ff;
    --color-blue-500: #3080ff;
    --color-blue-600: #155dfc;
    --color-blue-700: #1447e6;
    --color-blue-800: #193cb8;
    --color-blue-900: #1c398e;
    --color-purple-100: #f3e8ff;
    --color-purple-600: #9810fa;
    --color-purple-800: #6e11b0;
    --color-slate-50: #f8fafc;
    --color-slate-100: #f1f5f9;
    --color-slate-200: #e2e8f0;
    --color-slate-300: #cad5e2;
    --color-slate-500: #62748e;
    --color-slate-600: #45556c;
    --color-slate-700: #314158;
    --color-slate-800: #1d293d;
    --color-slate-900: #0f172b;
    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5dc;
    --color-gray-400: #99a1af;
    --color-gray-500: #6a7282;
    --color-gray-600: #4a5565;
    --color-gray-700: #364153;
    --color-gray-800: #1e2939;
    --color-gray-900: #101828;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-4xl: 56rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --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;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: .025em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --animate-spin: spin 1s linear infinite;
    --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-geist-sans);
    --default-mono-font-family: var(--font-geist-mono);
    --color-background: var(--background);
    --color-foreground: var(--foreground);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-50: lab(96.5005% 4.18508 1.52328);
      --color-red-100: lab(92.243% 10.2865 3.83865);
      --color-red-200: lab(86.017% 19.8815 7.75869);
      --color-red-300: lab(76.5514% 36.422 15.5335);
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-500: lab(55.4814% 75.0732 48.8528);
      --color-red-600: lab(48.4493% 77.4328 61.5452);
      --color-red-700: lab(40.4273% 67.2623 53.7441);
      --color-red-800: lab(33.7174% 55.8993 41.0293);
      --color-orange-50: lab(97.7008% 1.53735 5.90649);
      --color-orange-100: lab(94.7127% 3.58394 14.3151);
      --color-orange-200: lab(88.4871% 9.94918 28.8378);
      --color-orange-300: lab(80.8059% 21.7313 50.4455);
      --color-orange-500: lab(64.272% 57.1788 90.3583);
      --color-orange-600: lab(57.1026% 64.2584 89.8886);
      --color-orange-700: lab(46.4615% 57.7275 70.8507);
      --color-orange-800: lab(37.1566% 46.6433 50.5562);
      --color-amber-50: lab(98.6252% -.635922 8.42309);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-200: lab(91.7203% -.505269 49.9084);
      --color-amber-700: lab(47.2709% 42.9082 69.2966);
      --color-amber-800: lab(37.8822% 37.1699 52.2718);
      --color-amber-900: lab(31.2288% 30.2627 40.0378);
      --color-amber-950: lab(15.8111% 20.9107 23.3752);
      --color-yellow-50: lab(98.6846% -1.79055 9.7766);
      --color-yellow-100: lab(97.3564% -4.51407 27.344);
      --color-yellow-200: lab(94.3433% -5.00429 52.9663);
      --color-yellow-300: lab(89.7033% -.480294 84.4917);
      --color-yellow-400: lab(83.2664% 8.65132 106.895);
      --color-yellow-500: lab(76.3898% 14.5258 98.4589);
      --color-yellow-600: lab(62.7799% 22.4197 86.1544);
      --color-yellow-800: lab(38.7484% 23.5833 51.4916);
      --color-yellow-900: lab(32.3865% 21.1273 38.5959);
      --color-green-50: lab(98.1563% -5.60117 2.75915);
      --color-green-100: lab(96.1861% -13.8464 6.52365);
      --color-green-200: lab(92.4222% -26.4702 12.9427);
      --color-green-400: lab(78.503% -64.9265 39.7492);
      --color-green-500: lab(70.5521% -66.5147 45.8073);
      --color-green-600: lab(59.0978% -58.6621 41.2579);
      --color-green-700: lab(47.0329% -47.0239 31.4788);
      --color-green-800: lab(37.4616% -36.7971 22.9692);
      --color-emerald-50: lab(97.8462% -6.94966 1.85487);
      --color-emerald-200: lab(90.2247% -31.039 9.47084);
      --color-emerald-700: lab(44.4871% -41.0396 11.0361);
      --color-emerald-900: lab(28.8637% -26.9249 5.45986);
      --color-sky-600: lab(51.7754% -11.4712 -49.8349);
      --color-sky-700: lab(41.6013% -9.10804 -42.5647);
      --color-blue-50: lab(96.492% -1.14644 -5.11479);
      --color-blue-100: lab(92.0301% -2.24757 -11.6453);
      --color-blue-200: lab(86.15% -4.04379 -21.0797);
      --color-blue-300: lab(77.5052% -6.4629 -36.42);
      --color-blue-400: lab(65.0361% -1.42065 -56.9802);
      --color-blue-500: lab(54.1736% 13.3369 -74.6839);
      --color-blue-600: lab(44.0605% 29.0279 -86.0352);
      --color-blue-700: lab(36.9089% 35.0961 -85.6872);
      --color-blue-800: lab(30.2514% 27.7853 -70.2699);
      --color-blue-900: lab(26.1542% 15.7545 -51.5504);
      --color-purple-100: lab(93.3333% 6.97437 -9.83434);
      --color-purple-600: lab(43.0295% 75.21 -86.5669);
      --color-purple-800: lab(30.6017% 56.7637 -64.4751);
      --color-slate-50: lab(98.1434% -.369519 -1.05966);
      --color-slate-100: lab(96.286% -.852436 -2.46847);
      --color-slate-200: lab(91.7353% -.998765 -4.76968);
      --color-slate-300: lab(84.7652% -1.94535 -7.93337);
      --color-slate-500: lab(48.0876% -2.03595 -16.5814);
      --color-slate-600: lab(35.5623% -1.74978 -15.4316);
      --color-slate-700: lab(26.9569% -1.47016 -15.6993);
      --color-slate-800: lab(16.132% -.318035 -14.6672);
      --color-slate-900: lab(7.78673% 1.82345 -15.0537);
      --color-gray-50: lab(98.2596% -.247031 -.706708);
      --color-gray-100: lab(96.1596% -.0823438 -1.13575);
      --color-gray-200: lab(91.6229% -.159115 -2.26791);
      --color-gray-300: lab(85.1236% -.612259 -3.7138);
      --color-gray-400: lab(65.9269% -.832707 -8.17473);
      --color-gray-500: lab(47.7841% -.393182 -10.0268);
      --color-gray-600: lab(35.6337% -1.58697 -10.8425);
      --color-gray-700: lab(27.1134% -.956401 -12.3224);
      --color-gray-800: lab(16.1051% -1.18239 -11.7533);
      --color-gray-900: lab(8.11897% .811279 -12.254);
    }
  }
}

@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, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;
    -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:where(:not(iframe)) {
    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;
  }
}

@layer components;

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

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

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

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

  .top-0 {
    top: 0;
  }

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

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

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

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

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

  .-right-1\.5 {
    right: calc(var(--spacing) * -1.5);
  }

  .right-0 {
    right: 0;
  }

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

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

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

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

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

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

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

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

  .left-0 {
    left: 0;
  }

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

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

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

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

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

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

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

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

  .order-1 {
    order: 1;
  }

  .container {
    width: 100%;
  }

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

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

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

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

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

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

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

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

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

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

  .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-auto {
    margin-top: auto;
  }

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

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

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

  .mb-0 {
    margin-bottom: 0;
  }

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

  .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-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

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

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

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

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

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

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

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

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

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

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

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

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

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

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

  .\!h-48 {
    height: calc(var(--spacing) * 48) !important;
  }

  .\!h-96 {
    height: calc(var(--spacing) * 96) !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .h-full {
    height: 100%;
  }

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

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

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

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

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

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

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

  .\!w-full {
    width: 100% !important;
  }

  .w-1 {
    width: var(--spacing);
  }

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

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

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

  .w-2\/3 {
    width: 66.6667%;
  }

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

  .w-3\/4 {
    width: 75%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-\[22rem\] {
    width: 22rem;
  }

  .w-full {
    width: 100%;
  }

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

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

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

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

  .max-w-\[70\%\] {
    max-width: 70%;
  }

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

  .max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
  }

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

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

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

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

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

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

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

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

  .flex-1 {
    flex: 1;
  }

  .flex-shrink-0, .shrink-0 {
    flex-shrink: 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-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .rotate-90 {
    rotate: 90deg;
  }

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

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

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

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

  .cursor-pointer {
    cursor: pointer;
  }

  .list-inside {
    list-style-position: inside;
  }

  .list-disc {
    list-style-type: disc;
  }

  .appearance-none {
    appearance: none;
  }

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

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

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

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

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

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

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

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

  .gap-0 {
    gap: 0;
  }

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

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

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

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

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

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

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

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

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * 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-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * 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)));
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-gray-200 > :not(:last-child)) {
    border-color: var(--color-gray-200);
  }

  :where(.divide-slate-100 > :not(:last-child)) {
    border-color: var(--color-slate-100);
  }

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

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

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

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

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

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

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

  .rounded-t-lg {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
  }

  .rounded-l-2xl {
    border-top-left-radius: var(--radius-2xl);
    border-bottom-left-radius: var(--radius-2xl);
  }

  .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-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

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

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

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

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

  .border-\[\#cd1717\] {
    border-color: #cd1717;
  }

  .border-amber-200 {
    border-color: var(--color-amber-200);
  }

  .border-blue-100 {
    border-color: var(--color-blue-100);
  }

  .border-blue-200 {
    border-color: var(--color-blue-200);
  }

  .border-blue-300 {
    border-color: var(--color-blue-300);
  }

  .border-blue-500 {
    border-color: var(--color-blue-500);
  }

  .border-blue-600 {
    border-color: var(--color-blue-600);
  }

  .border-emerald-200 {
    border-color: var(--color-emerald-200);
  }

  .border-gray-50 {
    border-color: var(--color-gray-50);
  }

  .border-gray-100 {
    border-color: var(--color-gray-100);
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .border-gray-400 {
    border-color: var(--color-gray-400);
  }

  .border-gray-700 {
    border-color: var(--color-gray-700);
  }

  .border-gray-800 {
    border-color: var(--color-gray-800);
  }

  .border-green-200 {
    border-color: var(--color-green-200);
  }

  .border-green-500 {
    border-color: var(--color-green-500);
  }

  .border-orange-200 {
    border-color: var(--color-orange-200);
  }

  .border-red-200 {
    border-color: var(--color-red-200);
  }

  .border-red-300 {
    border-color: var(--color-red-300);
  }

  .border-slate-100 {
    border-color: var(--color-slate-100);
  }

  .border-slate-200 {
    border-color: var(--color-slate-200);
  }

  .border-yellow-200 {
    border-color: var(--color-yellow-200);
  }

  .border-yellow-300 {
    border-color: var(--color-yellow-300);
  }

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

  .bg-\[\#3DDC84\]\/10 {
    background-color: #3ddc841a;
    background-color: lab(78.3123% -57.1332 31.0378 / .1);
  }

  .bg-\[\#cd1717\] {
    background-color: #cd1717;
  }

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

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

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

  .bg-black\/50 {
    background-color: #00000080;
  }

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

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

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

  .bg-blue-400\/45 {
    background-color: #54a2ff73;
  }

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

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

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

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

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

  .bg-gray-50\/80 {
    background-color: #f9fafbcc;
  }

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

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

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

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

  .bg-gray-300\/70 {
    background-color: #d1d5dcb3;
  }

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

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

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

  .bg-gray-800\/80 {
    background-color: #1e2939cc;
  }

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

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

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

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

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

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

  .bg-green-500\/90 {
    background-color: #00c758e6;
  }

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

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

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

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

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

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

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

  .bg-red-50\/70 {
    background-color: #fef2f2b3;
  }

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

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

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

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

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

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

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

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

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

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

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

  .bg-white\/60 {
    background-color: #fff9;
  }

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

  .bg-white\/70 {
    background-color: #ffffffb3;
  }

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

  .bg-white\/90 {
    background-color: #ffffffe6;
  }

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

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

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

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

  .bg-yellow-400\/90 {
    background-color: #fac800e6;
  }

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

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

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

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

  .from-black\/20 {
    --tw-gradient-from: #0003;
  }

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

  .from-black\/20 {
    --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));
  }

  .from-black\/50 {
    --tw-gradient-from: #00000080;
  }

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

  .from-black\/50 {
    --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));
  }

  .from-slate-100 {
    --tw-gradient-from: var(--color-slate-100);
    --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));
  }

  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-slate-300 {
    --tw-gradient-to: var(--color-slate-300);
    --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-transparent {
    --tw-gradient-to: transparent;
    --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));
  }

  .bg-contain {
    background-size: contain;
  }

  .bg-cover {
    background-size: cover;
  }

  .bg-center {
    background-position: 50%;
  }

  .bg-no-repeat {
    background-repeat: no-repeat;
  }

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

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

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

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

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

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

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

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

  .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-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .font-mono {
    font-family: var(--font-geist-mono);
  }

  .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-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--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-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[15px\] {
    font-size: 15px;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

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

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

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

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

  .break-all {
    word-break: break-all;
  }

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

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

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

  .text-\[\#3DDC84\] {
    color: #3ddc84;
  }

  .text-\[\#cd1717\] {
    color: #cd1717;
  }

  .text-amber-700 {
    color: var(--color-amber-700);
  }

  .text-amber-800 {
    color: var(--color-amber-800);
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-amber-950 {
    color: var(--color-amber-950);
  }

  .text-blue-100 {
    color: var(--color-blue-100);
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-blue-700 {
    color: var(--color-blue-700);
  }

  .text-blue-800 {
    color: var(--color-blue-800);
  }

  .text-blue-900 {
    color: var(--color-blue-900);
  }

  .text-emerald-700 {
    color: var(--color-emerald-700);
  }

  .text-emerald-900 {
    color: var(--color-emerald-900);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

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

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

  .text-green-700 {
    color: var(--color-green-700);
  }

  .text-green-800 {
    color: var(--color-green-800);
  }

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

  .text-orange-600 {
    color: var(--color-orange-600);
  }

  .text-orange-700 {
    color: var(--color-orange-700);
  }

  .text-orange-800 {
    color: var(--color-orange-800);
  }

  .text-purple-800 {
    color: var(--color-purple-800);
  }

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

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

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

  .text-slate-200 {
    color: var(--color-slate-200);
  }

  .text-slate-300 {
    color: var(--color-slate-300);
  }

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

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-700 {
    color: var(--color-slate-700);
  }

  .text-slate-800 {
    color: var(--color-slate-800);
  }

  .text-slate-900 {
    color: var(--color-slate-900);
  }

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

  .text-white\/60 {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/60 {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .text-yellow-400 {
    color: var(--color-yellow-400);
  }

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

  .text-yellow-600 {
    color: var(--color-yellow-600);
  }

  .text-yellow-800 {
    color: var(--color-yellow-800);
  }

  .text-yellow-900 {
    color: var(--color-yellow-900);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-\[0\.38\] {
    opacity: .38;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px 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-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-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-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px 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);
  }

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + 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);
  }

  .ring-2 {
    --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);
  }

  .shadow-slate-900\/30 {
    --tw-shadow-color: #0f172b4d;
  }

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

  .ring-\[\#3DDC84\]\/30 {
    --tw-ring-color: #3ddc844d;
  }

  @supports (color: lab(0% 0 0)) {
    .ring-\[\#3DDC84\]\/30 {
      --tw-ring-color: lab(78.3123% -57.1332 31.0378 / .3);
    }
  }

  .ring-blue-500 {
    --tw-ring-color: var(--color-blue-500);
  }

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

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -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, 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-shadow {
    transition-property: box-shadow;
    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-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

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

  @media (hover: hover) {
    .group-hover\:text-blue-300:is(:where(.group):hover *) {
      color: var(--color-blue-300);
    }

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

  .last\:border-r-0:last-child {
    border-right-style: var(--tw-border-style);
    border-right-width: 0;
  }

  @media (hover: hover) {
    .hover\:border-blue-500:hover {
      border-color: var(--color-blue-500);
    }

    .hover\:border-gray-400:hover {
      border-color: var(--color-gray-400);
    }

    .hover\:border-orange-300:hover {
      border-color: var(--color-orange-300);
    }

    .hover\:bg-\[\#b01414\]:hover {
      background-color: #b01414;
    }

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

    .hover\:bg-blue-50:hover {
      background-color: var(--color-blue-50);
    }

    .hover\:bg-blue-400\/70:hover {
      background-color: #54a2ffb3;
    }

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

    .hover\:bg-blue-500:hover {
      background-color: var(--color-blue-500);
    }

    .hover\:bg-blue-600:hover {
      background-color: var(--color-blue-600);
    }

    .hover\:bg-blue-700:hover {
      background-color: var(--color-blue-700);
    }

    .hover\:bg-gray-50:hover {
      background-color: var(--color-gray-50);
    }

    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-gray-200:hover {
      background-color: var(--color-gray-200);
    }

    .hover\:bg-gray-800:hover {
      background-color: var(--color-gray-800);
    }

    .hover\:bg-green-50:hover {
      background-color: var(--color-green-50);
    }

    .hover\:bg-orange-100:hover {
      background-color: var(--color-orange-100);
    }

    .hover\:bg-red-50:hover {
      background-color: var(--color-red-50);
    }

    .hover\:bg-red-100:hover {
      background-color: var(--color-red-100);
    }

    .hover\:bg-sky-700:hover {
      background-color: var(--color-sky-700);
    }

    .hover\:bg-slate-50:hover {
      background-color: var(--color-slate-50);
    }

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

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

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

    .hover\:bg-white\/80:hover {
      background-color: #fffc;
    }

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

    .hover\:text-blue-300:hover {
      color: var(--color-blue-300);
    }

    .hover\:text-blue-400:hover {
      color: var(--color-blue-400);
    }

    .hover\:text-blue-600:hover {
      color: var(--color-blue-600);
    }

    .hover\:text-blue-700:hover {
      color: var(--color-blue-700);
    }

    .hover\:text-blue-800:hover {
      color: var(--color-blue-800);
    }

    .hover\:text-gray-300:hover {
      color: var(--color-gray-300);
    }

    .hover\:text-gray-600:hover {
      color: var(--color-gray-600);
    }

    .hover\:text-gray-700:hover {
      color: var(--color-gray-700);
    }

    .hover\:text-gray-800:hover {
      color: var(--color-gray-800);
    }

    .hover\:text-gray-900:hover {
      color: var(--color-gray-900);
    }

    .hover\:text-green-700:hover {
      color: var(--color-green-700);
    }

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

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

    .hover\:opacity-80:hover {
      opacity: .8;
    }

    .hover\:opacity-95:hover {
      opacity: .95;
    }

    .hover\:shadow-\[0_0_0_1px_rgba\(59\,130\,246\,0\.35\)\]:hover {
      --tw-shadow: 0 0 0 1px var(--tw-shadow-color, #3b82f659);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-lg:hover {
      --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);
    }

    .hover\:shadow-md:hover {
      --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);
    }
  }

  .focus\:border-blue-500:focus {
    border-color: var(--color-blue-500);
  }

  .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-blue-100:focus {
    --tw-ring-color: var(--color-blue-100);
  }

  .focus\:ring-blue-500:focus {
    --tw-ring-color: var(--color-blue-500);
  }

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

  .focus-visible\:ring-2:focus-visible {
    --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-visible\:ring-blue-500:focus-visible {
    --tw-ring-color: var(--color-blue-500);
  }

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

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

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

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

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

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

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

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

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

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

  @media (min-width: 48rem) {
    .md\:flex {
      display: flex;
    }

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

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

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

    .md\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

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

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

  @media (min-width: 64rem) {
    .lg\:sticky {
      position: sticky;
    }

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

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

    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:h-full {
      height: 100%;
    }

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

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

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

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

    .lg\:grid-cols-\[1\.15fr_1\.85fr\] {
      grid-template-columns: 1.15fr 1.85fr;
    }

    .lg\:grid-cols-\[1fr_380px\] {
      grid-template-columns: 1fr 380px;
    }

    .lg\:grid-cols-\[300px_1fr\] {
      grid-template-columns: 300px 1fr;
    }

    .lg\:grid-cols-\[300px_minmax\(0\,1fr\)\] {
      grid-template-columns: 300px minmax(0, 1fr);
    }

    .lg\:grid-cols-\[320px_1fr\] {
      grid-template-columns: 320px 1fr;
    }

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

    .lg\:overflow-y-auto {
      overflow-y: auto;
    }

    .lg\:rounded-t-2xl {
      border-top-left-radius: var(--radius-2xl);
      border-top-right-radius: var(--radius-2xl);
    }

    .lg\:rounded-l-none {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }

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

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

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

  .\[\&\:\:-webkit-scrollbar\]\:h-2::-webkit-scrollbar {
    height: calc(var(--spacing) * 2);
  }

  .\[\&\:\:-webkit-scrollbar-thumb\]\:rounded::-webkit-scrollbar-thumb {
    border-radius: .25rem;
  }

  .\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-300::-webkit-scrollbar-thumb {
    background-color: var(--color-gray-300);
  }

  @media (hover: hover) {
    .\[\&\:\:-webkit-scrollbar-thumb\]\:hover\:bg-gray-400::-webkit-scrollbar-thumb:hover {
      background-color: var(--color-gray-400);
    }
  }

  .\[\&\:\:-webkit-scrollbar-track\]\:rounded::-webkit-scrollbar-track {
    border-radius: .25rem;
  }

  .\[\&\:\:-webkit-scrollbar-track\]\:bg-gray-100::-webkit-scrollbar-track {
    background-color: var(--color-gray-100);
  }
}

@font-face {
  font-family: themify;
  src: url("https://cdn.jsdelivr.net/npm/themify-icons@1.0.1/fonts/themify.woff2") format("woff2"), url("https://cdn.jsdelivr.net/npm/themify-icons@1.0.1/fonts/themify.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

.ti {
  speak: none;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: themify;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.ti-tree:before {
  content: "";
}

.ti-wifi:before {
  content: "";
}

.ti-cutlery:before {
  content: "";
}

:root {
  --background: #fff;
  --foreground: #171717;
  --primary: #0a43e6;
  --primary-hover: #0839cc;
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 12px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
  }
}

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

button, [type="button"], [type="submit"], [type="reset"], [role="button"], summary, a {
  cursor: pointer;
}

button:disabled, [type="button"]:disabled, [type="submit"]:disabled, [type="reset"]:disabled, [role="button"][aria-disabled="true"] {
  cursor: not-allowed;
}

.btn-primary {
  background-color: var(--primary);
  color: #fff;
  border-radius: var(--radius);
  cursor: pointer;
  border: none;
  justify-content: center;
  align-items: center;
  padding: .55rem 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s;
  display: inline-flex;
}

.btn-primary:hover, .btn-primary:focus {
  background-color: #0b38c6;
  outline: none;
  box-shadow: 0 0 0 3px #0e41d240;
}

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

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

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

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

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

html {
  scroll-behavior: smooth;
}

@media (max-width: 767px) {
  html {
    font-size: 85%;
  }
}

.focus-visible:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #0a43e6;
}

@font-face {
  font-family: themify;
  src: url("../media/themify.3bc9de09.eot");
  src: url("../media/themify.3bc9de09.eot") format("embedded-opentype"), url("../media/themify.b33502ae.woff") format("woff"), url("../media/themify.4a98db95.ttf") format("truetype"), url("../media/themify.bf0172eb.svg") format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

[class^="ti"], [class*=" ti"] {
  speak: none;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: themify;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.ti-wand:before {
  content: "";
}

.ti-volume:before {
  content: "";
}

.ti-user:before {
  content: "";
}

.ti-unlock:before {
  content: "";
}

.ti-unlink:before {
  content: "";
}

.ti-trash:before {
  content: "";
}

.ti-thought:before {
  content: "";
}

.ti-target:before {
  content: "";
}

.ti-tag:before {
  content: "";
}

.ti-tablet:before {
  content: "";
}

.ti-star:before {
  content: "";
}

.ti-spray:before {
  content: "";
}

.ti-signal:before {
  content: "";
}

.ti-shopping-cart:before {
  content: "";
}

.ti-shopping-cart-full:before {
  content: "";
}

.ti-settings:before {
  content: "";
}

.ti-search:before {
  content: "";
}

.ti-zoom-in:before {
  content: "";
}

.ti-zoom-out:before {
  content: "";
}

.ti-cut:before {
  content: "";
}

.ti-ruler:before {
  content: "";
}

.ti-ruler-pencil:before {
  content: "";
}

.ti-ruler-alt:before {
  content: "";
}

.ti-bookmark:before {
  content: "";
}

.ti-bookmark-alt:before {
  content: "";
}

.ti-reload:before {
  content: "";
}

.ti-plus:before {
  content: "";
}

.ti-pin:before {
  content: "";
}

.ti-pencil:before {
  content: "";
}

.ti-pencil-alt:before {
  content: "";
}

.ti-paint-roller:before {
  content: "";
}

.ti-paint-bucket:before {
  content: "";
}

.ti-na:before {
  content: "";
}

.ti-mobile:before {
  content: "";
}

.ti-minus:before {
  content: "";
}

.ti-medall:before {
  content: "";
}

.ti-medall-alt:before {
  content: "";
}

.ti-marker:before {
  content: "";
}

.ti-marker-alt:before {
  content: "";
}

.ti-arrow-up:before {
  content: "";
}

.ti-arrow-right:before {
  content: "";
}

.ti-arrow-left:before {
  content: "";
}

.ti-arrow-down:before {
  content: "";
}

.ti-lock:before {
  content: "";
}

.ti-location-arrow:before {
  content: "";
}

.ti-link:before {
  content: "";
}

.ti-layout:before {
  content: "";
}

.ti-layers:before {
  content: "";
}

.ti-layers-alt:before {
  content: "";
}

.ti-key:before {
  content: "";
}

.ti-import:before {
  content: "";
}

.ti-image:before {
  content: "";
}

.ti-heart:before {
  content: "";
}

.ti-heart-broken:before {
  content: "";
}

.ti-hand-stop:before {
  content: "";
}

.ti-hand-open:before {
  content: "";
}

.ti-hand-drag:before {
  content: "";
}

.ti-folder:before {
  content: "";
}

.ti-flag:before {
  content: "";
}

.ti-flag-alt:before {
  content: "";
}

.ti-flag-alt-2:before {
  content: "";
}

.ti-eye:before {
  content: "";
}

.ti-export:before {
  content: "";
}

.ti-exchange-vertical:before {
  content: "";
}

.ti-desktop:before {
  content: "";
}

.ti-cup:before {
  content: "";
}

.ti-crown:before {
  content: "";
}

.ti-comments:before {
  content: "";
}

.ti-comment:before {
  content: "";
}

.ti-comment-alt:before {
  content: "";
}

.ti-close:before {
  content: "";
}

.ti-clip:before {
  content: "";
}

.ti-angle-up:before {
  content: "";
}

.ti-angle-right:before {
  content: "";
}

.ti-angle-left:before {
  content: "";
}

.ti-angle-down:before {
  content: "";
}

.ti-check:before {
  content: "";
}

.ti-check-box:before {
  content: "";
}

.ti-camera:before {
  content: "";
}

.ti-announcement:before {
  content: "";
}

.ti-brush:before {
  content: "";
}

.ti-briefcase:before {
  content: "";
}

.ti-bolt:before {
  content: "";
}

.ti-bolt-alt:before {
  content: "";
}

.ti-blackboard:before {
  content: "";
}

.ti-bag:before {
  content: "";
}

.ti-move:before {
  content: "";
}

.ti-arrows-vertical:before {
  content: "";
}

.ti-arrows-horizontal:before {
  content: "";
}

.ti-fullscreen:before {
  content: "";
}

.ti-arrow-top-right:before {
  content: "";
}

.ti-arrow-top-left:before {
  content: "";
}

.ti-arrow-circle-up:before {
  content: "";
}

.ti-arrow-circle-right:before {
  content: "";
}

.ti-arrow-circle-left:before {
  content: "";
}

.ti-arrow-circle-down:before {
  content: "";
}

.ti-angle-double-up:before {
  content: "";
}

.ti-angle-double-right:before {
  content: "";
}

.ti-angle-double-left:before {
  content: "";
}

.ti-angle-double-down:before {
  content: "";
}

.ti-zip:before {
  content: "";
}

.ti-world:before {
  content: "";
}

.ti-wheelchair:before {
  content: "";
}

.ti-view-list:before {
  content: "";
}

.ti-view-list-alt:before {
  content: "";
}

.ti-view-grid:before {
  content: "";
}

.ti-uppercase:before {
  content: "";
}

.ti-upload:before {
  content: "";
}

.ti-underline:before {
  content: "";
}

.ti-truck:before {
  content: "";
}

.ti-timer:before {
  content: "";
}

.ti-ticket:before {
  content: "";
}

.ti-thumb-up:before {
  content: "";
}

.ti-thumb-down:before {
  content: "";
}

.ti-text:before {
  content: "";
}

.ti-stats-up:before {
  content: "";
}

.ti-stats-down:before {
  content: "";
}

.ti-split-v:before {
  content: "";
}

.ti-split-h:before {
  content: "";
}

.ti-smallcap:before {
  content: "";
}

.ti-shine:before {
  content: "";
}

.ti-shift-right:before {
  content: "";
}

.ti-shift-left:before {
  content: "";
}

.ti-shield:before {
  content: "";
}

.ti-notepad:before {
  content: "";
}

.ti-server:before {
  content: "";
}

.ti-quote-right:before {
  content: "";
}

.ti-quote-left:before {
  content: "";
}

.ti-pulse:before {
  content: "";
}

.ti-printer:before {
  content: "";
}

.ti-power-off:before {
  content: "";
}

.ti-plug:before {
  content: "";
}

.ti-pie-chart:before {
  content: "";
}

.ti-paragraph:before {
  content: "";
}

.ti-panel:before {
  content: "";
}

.ti-package:before {
  content: "";
}

.ti-music:before {
  content: "";
}

.ti-music-alt:before {
  content: "";
}

.ti-mouse:before {
  content: "";
}

.ti-mouse-alt:before {
  content: "";
}

.ti-money:before {
  content: "";
}

.ti-microphone:before {
  content: "";
}

.ti-menu:before {
  content: "";
}

.ti-menu-alt:before {
  content: "";
}

.ti-map:before {
  content: "";
}

.ti-map-alt:before {
  content: "";
}

.ti-loop:before {
  content: "";
}

.ti-location-pin:before {
  content: "";
}

.ti-list:before {
  content: "";
}

.ti-light-bulb:before {
  content: "";
}

.ti-Italic:before {
  content: "";
}

.ti-info:before {
  content: "";
}

.ti-infinite:before {
  content: "";
}

.ti-id-badge:before {
  content: "";
}

.ti-hummer:before {
  content: "";
}

.ti-home:before {
  content: "";
}

.ti-help:before {
  content: "";
}

.ti-headphone:before {
  content: "";
}

.ti-harddrives:before {
  content: "";
}

.ti-harddrive:before {
  content: "";
}

.ti-gift:before {
  content: "";
}

.ti-game:before {
  content: "";
}

.ti-filter:before {
  content: "";
}

.ti-files:before {
  content: "";
}

.ti-file:before {
  content: "";
}

.ti-eraser:before {
  content: "";
}

.ti-envelope:before {
  content: "";
}

.ti-download:before {
  content: "";
}

.ti-direction:before {
  content: "";
}

.ti-direction-alt:before {
  content: "";
}

.ti-dashboard:before {
  content: "";
}

.ti-control-stop:before {
  content: "";
}

.ti-control-shuffle:before {
  content: "";
}

.ti-control-play:before {
  content: "";
}

.ti-control-pause:before {
  content: "";
}

.ti-control-forward:before {
  content: "";
}

.ti-control-backward:before {
  content: "";
}

.ti-cloud:before {
  content: "";
}

.ti-cloud-up:before {
  content: "";
}

.ti-cloud-down:before {
  content: "";
}

.ti-clipboard:before {
  content: "";
}

.ti-car:before {
  content: "";
}

.ti-calendar:before {
  content: "";
}

.ti-book:before {
  content: "";
}

.ti-bell:before {
  content: "";
}

.ti-basketball:before {
  content: "";
}

.ti-bar-chart:before {
  content: "";
}

.ti-bar-chart-alt:before {
  content: "";
}

.ti-back-right:before {
  content: "";
}

.ti-back-left:before {
  content: "";
}

.ti-arrows-corner:before {
  content: "";
}

.ti-archive:before {
  content: "";
}

.ti-anchor:before {
  content: "";
}

.ti-align-right:before {
  content: "";
}

.ti-align-left:before {
  content: "";
}

.ti-align-justify:before {
  content: "";
}

.ti-align-center:before {
  content: "";
}

.ti-alert:before {
  content: "";
}

.ti-alarm-clock:before {
  content: "";
}

.ti-agenda:before {
  content: "";
}

.ti-write:before {
  content: "";
}

.ti-window:before {
  content: "";
}

.ti-widgetized:before {
  content: "";
}

.ti-widget:before {
  content: "";
}

.ti-widget-alt:before {
  content: "";
}

.ti-wallet:before {
  content: "";
}

.ti-video-clapper:before {
  content: "";
}

.ti-video-camera:before {
  content: "";
}

.ti-vector:before {
  content: "";
}

.ti-themify-logo:before {
  content: "";
}

.ti-themify-favicon:before {
  content: "";
}

.ti-themify-favicon-alt:before {
  content: "";
}

.ti-support:before {
  content: "";
}

.ti-stamp:before {
  content: "";
}

.ti-split-v-alt:before {
  content: "";
}

.ti-slice:before {
  content: "";
}

.ti-shortcode:before {
  content: "";
}

.ti-shift-right-alt:before {
  content: "";
}

.ti-shift-left-alt:before {
  content: "";
}

.ti-ruler-alt-2:before {
  content: "";
}

.ti-receipt:before {
  content: "";
}

.ti-pin2:before {
  content: "";
}

.ti-pin-alt:before {
  content: "";
}

.ti-pencil-alt2:before {
  content: "";
}

.ti-palette:before {
  content: "";
}

.ti-more:before {
  content: "";
}

.ti-more-alt:before {
  content: "";
}

.ti-microphone-alt:before {
  content: "";
}

.ti-magnet:before {
  content: "";
}

.ti-line-double:before {
  content: "";
}

.ti-line-dotted:before {
  content: "";
}

.ti-line-dashed:before {
  content: "";
}

.ti-layout-width-full:before {
  content: "";
}

.ti-layout-width-default:before {
  content: "";
}

.ti-layout-width-default-alt:before {
  content: "";
}

.ti-layout-tab:before {
  content: "";
}

.ti-layout-tab-window:before {
  content: "";
}

.ti-layout-tab-v:before {
  content: "";
}

.ti-layout-tab-min:before {
  content: "";
}

.ti-layout-slider:before {
  content: "";
}

.ti-layout-slider-alt:before {
  content: "";
}

.ti-layout-sidebar-right:before {
  content: "";
}

.ti-layout-sidebar-none:before {
  content: "";
}

.ti-layout-sidebar-left:before {
  content: "";
}

.ti-layout-placeholder:before {
  content: "";
}

.ti-layout-menu:before {
  content: "";
}

.ti-layout-menu-v:before {
  content: "";
}

.ti-layout-menu-separated:before {
  content: "";
}

.ti-layout-menu-full:before {
  content: "";
}

.ti-layout-media-right-alt:before {
  content: "";
}

.ti-layout-media-right:before {
  content: "";
}

.ti-layout-media-overlay:before {
  content: "";
}

.ti-layout-media-overlay-alt:before {
  content: "";
}

.ti-layout-media-overlay-alt-2:before {
  content: "";
}

.ti-layout-media-left-alt:before {
  content: "";
}

.ti-layout-media-left:before {
  content: "";
}

.ti-layout-media-center-alt:before {
  content: "";
}

.ti-layout-media-center:before {
  content: "";
}

.ti-layout-list-thumb:before {
  content: "";
}

.ti-layout-list-thumb-alt:before {
  content: "";
}

.ti-layout-list-post:before {
  content: "";
}

.ti-layout-list-large-image:before {
  content: "";
}

.ti-layout-line-solid:before {
  content: "";
}

.ti-layout-grid4:before {
  content: "";
}

.ti-layout-grid3:before {
  content: "";
}

.ti-layout-grid2:before {
  content: "";
}

.ti-layout-grid2-thumb:before {
  content: "";
}

.ti-layout-cta-right:before {
  content: "";
}

.ti-layout-cta-left:before {
  content: "";
}

.ti-layout-cta-center:before {
  content: "";
}

.ti-layout-cta-btn-right:before {
  content: "";
}

.ti-layout-cta-btn-left:before {
  content: "";
}

.ti-layout-column4:before {
  content: "";
}

.ti-layout-column3:before {
  content: "";
}

.ti-layout-column2:before {
  content: "";
}

.ti-layout-accordion-separated:before {
  content: "";
}

.ti-layout-accordion-merged:before {
  content: "";
}

.ti-layout-accordion-list:before {
  content: "";
}

.ti-ink-pen:before {
  content: "";
}

.ti-info-alt:before {
  content: "";
}

.ti-help-alt:before {
  content: "";
}

.ti-headphone-alt:before {
  content: "";
}

.ti-hand-point-up:before {
  content: "";
}

.ti-hand-point-right:before {
  content: "";
}

.ti-hand-point-left:before {
  content: "";
}

.ti-hand-point-down:before {
  content: "";
}

.ti-gallery:before {
  content: "";
}

.ti-face-smile:before {
  content: "";
}

.ti-face-sad:before {
  content: "";
}

.ti-credit-card:before {
  content: "";
}

.ti-control-skip-forward:before {
  content: "";
}

.ti-control-skip-backward:before {
  content: "";
}

.ti-control-record:before {
  content: "";
}

.ti-control-eject:before {
  content: "";
}

.ti-comments-smiley:before {
  content: "";
}

.ti-brush-alt:before {
  content: "";
}

.ti-youtube:before {
  content: "";
}

.ti-vimeo:before {
  content: "";
}

.ti-twitter:before {
  content: "";
}

.ti-time:before {
  content: "";
}

.ti-tumblr:before {
  content: "";
}

.ti-skype:before {
  content: "";
}

.ti-share:before {
  content: "";
}

.ti-share-alt:before {
  content: "";
}

.ti-rocket:before {
  content: "";
}

.ti-pinterest:before {
  content: "";
}

.ti-new-window:before {
  content: "";
}

.ti-microsoft:before {
  content: "";
}

.ti-list-ol:before {
  content: "";
}

.ti-linkedin:before {
  content: "";
}

.ti-layout-sidebar-2:before {
  content: "";
}

.ti-layout-grid4-alt:before {
  content: "";
}

.ti-layout-grid3-alt:before {
  content: "";
}

.ti-layout-grid2-alt:before {
  content: "";
}

.ti-layout-column4-alt:before {
  content: "";
}

.ti-layout-column3-alt:before {
  content: "";
}

.ti-layout-column2-alt:before {
  content: "";
}

.ti-instagram:before {
  content: "";
}

.ti-google:before {
  content: "";
}

.ti-github:before {
  content: "";
}

.ti-flickr:before {
  content: "";
}

.ti-facebook:before {
  content: "";
}

.ti-dropbox:before {
  content: "";
}

.ti-dribbble:before {
  content: "";
}

.ti-apple:before {
  content: "";
}

.ti-android:before {
  content: "";
}

.ti-save:before {
  content: "";
}

.ti-save-alt:before {
  content: "";
}

.ti-yahoo:before {
  content: "";
}

.ti-wordpress:before {
  content: "";
}

.ti-vimeo-alt:before {
  content: "";
}

.ti-twitter-alt:before {
  content: "";
}

.ti-tumblr-alt:before {
  content: "";
}

.ti-trello:before {
  content: "";
}

.ti-stack-overflow:before {
  content: "";
}

.ti-soundcloud:before {
  content: "";
}

.ti-sharethis:before {
  content: "";
}

.ti-sharethis-alt:before {
  content: "";
}

.ti-reddit:before {
  content: "";
}

.ti-pinterest-alt:before {
  content: "";
}

.ti-microsoft-alt:before {
  content: "";
}

.ti-linux:before {
  content: "";
}

.ti-jsfiddle:before {
  content: "";
}

.ti-joomla:before {
  content: "";
}

.ti-html5:before {
  content: "";
}

.ti-flickr-alt:before {
  content: "";
}

.ti-email:before {
  content: "";
}

.ti-drupal:before {
  content: "";
}

.ti-dropbox-alt:before {
  content: "";
}

.ti-css3:before {
  content: "";
}

.ti-rss:before {
  content: "";
}

.ti-rss-alt:before {
  content: "";
}

@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-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 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-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
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

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

/* [project]/src/app/public.css [app-client] (css) */
html:has(.public-site) {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
  font-size: 16px;
}

.public-site {
  --p-blue: #2349e8;
  --p-ink: #172743;
  --p-muted: #657089;
  --p-green: #c3f397;
  --p-bg: #f5f6f8;
  --p-line: #e3e7ef;
  color: var(--p-ink);
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

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

.public-site button, .public-site a, .public-site input, .public-site select, .public-site textarea {
  -webkit-tap-highlight-color: transparent;
}

.public-site button:not(:disabled), .public-site select {
  cursor: pointer;
}

.public-site button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.public-site :is(button, a, input, select, textarea, summary):focus-visible {
  outline-offset: 3px;
  outline: 3px solid #5271ff;
}

.public-site a, .public-site button {
  transition: background-color .18s, color .18s, border-color .18s, box-shadow .18s;
}

.public-site h1, .public-site h2, .public-site h3 {
  color: var(--p-ink);
  letter-spacing: -.025em;
}

.public-site .public-container {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 32px;
}

.public-site .public-header {
  z-index: 40;
  border-bottom: 1px solid var(--p-line);
  background: #fff;
  position: sticky;
  top: 0;
}

.public-site .public-header-row {
  align-items: center;
  gap: 48px;
  height: 80px;
  display: flex;
}

.public-site .public-brand {
  white-space: nowrap;
  color: var(--p-blue);
  letter-spacing: -1.1px;
  align-items: center;
  gap: 10px;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
  display: inline-flex;
}

.public-site .public-brand-suffix {
  letter-spacing: -1px;
  font-weight: 400;
}

.public-site .public-brand-symbol {
  background: var(--p-blue);
  color: #fff;
  border-radius: 11px 11px 11px 3px;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  font-size: 27px;
  font-style: italic;
  display: flex;
  position: relative;
}

.public-site .public-brand-symbol > span {
  color: var(--p-green);
  font-size: 18px;
  position: absolute;
  bottom: -3px;
  right: 3px;
}

.public-site .public-brand-dot {
  color: #75ba44;
}

.public-site .public-desktop-nav {
  gap: 24px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.public-site .public-desktop-nav a {
  padding-block: 28px;
  position: relative;
}

.public-site .public-desktop-nav a:hover, .public-site .public-desktop-nav [aria-current] {
  color: var(--p-blue);
}

.public-site .public-desktop-nav [aria-current]:after {
  content: "";
  background: var(--p-blue);
  border-radius: 3px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.public-site .public-header-actions {
  align-items: center;
  gap: 8px;
  margin-left: auto;
  display: flex;
}

.public-site .public-icon-button {
  width: 42px;
  height: 42px;
  color: var(--p-ink);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.public-site .public-icon-button:hover {
  color: var(--p-blue);
  background: #eff2f8;
}

.public-site .public-login {
  color: var(--p-blue);
  background: #edf1ff;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 11px 18px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
}

.public-site .public-login:hover {
  background: #dfe6ff;
}

.public-site .public-menu {
  gap: 4px;
  display: grid;
}

.public-site .public-menu > * {
  text-align: left;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  padding: 14px 12px;
  display: flex;
}

.public-site .public-menu > :hover {
  background: #f1f4fb;
}

.public-site .public-skip-link {
  z-index: 2000;
  background: var(--p-blue);
  color: #fff;
  border-radius: 10px;
  padding: 12px 18px;
  position: fixed;
  top: -80px;
  left: 20px;
}

.public-site .public-skip-link:focus {
  top: 12px;
}

.public-site .public-button {
  background: var(--p-blue);
  color: #fff;
  border: 1px solid #0000;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 14px 22px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}

.public-site .public-button:hover {
  background: #1536bc;
}

.public-site .public-button-secondary {
  color: var(--p-blue);
  background: #edf1ff;
}

.public-site .public-button-secondary:hover {
  background: #dfe6ff;
}

.public-site .public-button-dark {
  background: var(--p-ink);
}

.public-site .public-button-dark:hover {
  background: #2b4064;
}

.public-site .public-text-link {
  color: var(--p-blue);
  align-items: center;
  gap: 12px;
  font-weight: 700;
  display: inline-flex;
}

.public-site .public-text-link:hover {
  text-decoration: underline;
}

.public-site .public-eyebrow {
  letter-spacing: .13em;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.public-site .public-hero {
  background: var(--p-green);
  border-radius: 0 0 40px 40px;
  padding: 42px 0 28px;
  position: relative;
}

.public-site .public-hero-heading {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
  display: flex;
}

.public-site .public-hero h1 {
  letter-spacing: -.055em;
  margin: 16px 0 18px;
  font-size: clamp(44px, 5.3vw, 70px);
  font-weight: 800;
  line-height: 1.03;
}

.public-site .public-hero h1 span {
  color: #2d603d;
}

.public-site .public-hero-heading p {
  color: #37503d;
  font-size: 17px;
  line-height: 1.55;
}

.public-site .public-trip-note {
  background: #fffef6;
  border-radius: 18px;
  flex-direction: column;
  gap: 12px;
  width: 254px;
  min-height: 276px;
  margin-right: 48px;
  padding: 26px;
  display: flex;
  position: relative;
  transform: rotate(7deg);
  box-shadow: 0 10px #83b95933;
}

.public-site .public-trip-note > svg {
  color: #558c40;
  position: absolute;
  top: 54px;
  right: 22px;
}

.public-site .public-trip-note-label {
  letter-spacing: .15em;
  color: #727763;
  font-size: 9px;
  font-weight: 700;
}

.public-site .public-trip-note strong {
  letter-spacing: -.05em;
  margin-top: 8px;
  font-size: 28px;
  line-height: 1.1;
}

.public-site .public-trip-note > span:last-of-type {
  color: var(--p-muted);
  font-size: 12px;
}

.public-site .public-note-dash {
  border-top: 2px dashed #dce3ce;
  height: 1px;
  margin-block: 5px;
}

.public-site .public-note-stamp {
  letter-spacing: .05em;
  color: var(--p-blue);
  background: #e9edff;
  border: 2px solid;
  border-radius: 50%;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 800;
  position: absolute;
  bottom: -16px;
  right: -14px;
  transform: rotate(-20deg);
}

.public-site .public-search-tab {
  background: #ffffffb3;
  border-radius: 12px 12px 0 0;
  align-items: center;
  gap: 9px;
  padding: 10px 17px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
}

.public-site .public-search-grid {
  background: #fff;
  border-radius: 0 16px 16px;
  grid-template-columns: minmax(180px, 1.5fr) minmax(130px, .85fr) minmax(130px, .85fr) minmax(180px, 1.1fr) auto;
  padding: 6px;
  display: grid;
  box-shadow: 0 4px 16px #2434190a;
}

.public-site .public-search-field {
  border-right: 1px solid var(--p-line);
  text-align: left;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 8px 16px;
  display: flex;
  position: relative;
}

.public-site .public-search-field > label, .public-site .public-guest-trigger > span {
  color: var(--p-muted);
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
}

.public-site .public-search-field .ant-select {
  width: 100%;
  height: 28px;
}

.public-site .public-search-field .ant-select-selector {
  padding: 0 !important;
}

.public-site .public-search-field .ant-select-input, .public-site .public-search-field .ant-select-content, .public-site .public-search-field .ant-select-selection-search {
  padding: 0 !important;
  inset-inline: 0 !important;
}

.public-site .public-search-field .ant-select-input, .public-site .public-search-field input {
  color: var(--p-ink);
  font-size: 15px;
  font-weight: 600;
}

.public-site .public-search-field .ant-picker {
  width: 100%;
  height: 28px;
  box-shadow: none;
  padding: 0;
}

.public-site .public-search-field .ant-picker-suffix {
  color: #8591a4;
  font-size: 15px;
}

.public-site .public-guest-trigger {
  border-right: 0;
  padding-right: 30px;
}

.public-site .public-guest-trigger strong {
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
}

.public-site .public-guest-trigger > svg {
  color: #8591a4;
  position: absolute;
  bottom: 17px;
  right: 12px;
}

.public-site .public-search-submit {
  white-space: nowrap;
  border-radius: 11px;
  min-height: 64px;
  padding-inline: 22px;
}

.public-site .public-search-meta {
  color: #3c5945;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  font-size: 12px;
  display: flex;
}

.public-site .public-search-meta > div {
  align-items: center;
  gap: 8px;
  display: flex;
}

.public-site .public-search-meta select {
  color: #304632;
  background: #ffffff85;
  border: 1px solid #52744326;
  width: 145px;
  padding-block: 5px;
  font-size: 12px;
}

.public-site .public-search-feedback {
  color: #37503d;
  min-height: 18px;
  margin-top: 4px;
  font-size: 12px;
}

.public-suggestion {
  color: #172743;
  align-items: center;
  gap: 12px;
  padding: 6px 0;
  display: flex;
}

.public-suggestion strong {
  white-space: normal;
  font-size: 14px;
  font-weight: 600;
  display: block;
}

.public-suggestion small {
  color: #657089;
  font-size: 12px;
  display: block;
}

body:has(.public-site) .ant-select-dropdown {
  max-width: calc(100vw - 32px);
}

body:has(.public-site) .ant-picker-dropdown {
  max-width: 100vw;
}

.public-site .public-dialog .ant-modal-container, .public-site .public-dialog .ant-modal-content {
  padding: 30px;
  box-shadow: 0 24px 100px #15243d30;
}

.public-site .public-dialog .ant-modal-title {
  letter-spacing: -.04em;
  padding-right: 24px;
  font-size: 25px;
  font-weight: 750;
  line-height: 1.25;
}

.public-site .public-dialog .ant-modal-header {
  margin-bottom: 16px;
}

.public-site .public-dialog .ant-modal-close {
  background: #f2f4f8;
  border-radius: 50%;
}

.public-site .public-dialog-intro {
  color: var(--p-muted);
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.6;
}

.public-site .public-dialog .public-search-grid {
  box-shadow: none;
  background: #f2f4f8;
  border-radius: 14px;
  gap: 4px;
}

.public-site .public-dialog .public-search-field {
  background: #fff;
  border: 0;
  border-radius: 8px;
  padding-inline: 12px;
}

.public-site .public-dialog .public-search-meta {
  color: var(--p-muted);
}

.public-site .public-dialog .public-search-meta select {
  color: var(--p-ink);
  border-color: var(--p-line);
  background: #fff;
}

.public-site .public-auth-body {
  box-shadow: none;
  border: 0;
  max-width: none;
  padding: 8px 0 0;
}

.public-site .public-auth-body h1 {
  display: none;
}

.public-site .public-auth-body > div:first-of-type {
  text-align: left;
}

.public-site .public-auth-body input {
  box-shadow: none;
  background: #fafbfd;
  min-height: 48px;
  padding: 13px 15px;
}

.public-site .public-auth-body button[type="submit"] {
  background: var(--p-blue);
}

.public-site .public-auth-body label {
  margin-bottom: 5px;
  display: inline-block;
}

.public-site .public-room-list {
  overscroll-behavior: contain;
  max-height: 48vh;
  padding-right: 5px;
  overflow-y: auto;
}

.public-site .public-room {
  border: 1px solid var(--p-line);
  background: #f7f8fb;
  border-radius: 14px;
  margin-bottom: 12px;
  padding: 18px;
}

.public-site .public-room-title {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  display: flex;
}

.public-site .public-room-title h3 {
  font-size: 15px;
  font-weight: 700;
}

.public-site .public-room-title button {
  color: var(--p-muted);
  border-radius: 50%;
  padding: 7px;
}

.public-site .public-counter-row {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  display: flex;
}

.public-site .public-counter-row small {
  color: var(--p-muted);
  margin-top: 2px;
  font-size: 11px;
  display: block;
}

.public-site .public-counter {
  align-items: center;
  gap: 14px;
  display: flex;
}

.public-site .public-counter button {
  width: 36px;
  height: 36px;
  color: var(--p-blue);
  background: #fff;
  border: 1px solid #d7def4;
  border-radius: 10px;
  font-size: 23px;
  line-height: 1;
}

.public-site .public-counter button:hover:not(:disabled) {
  background: #e8edff;
}

.public-site .public-counter span {
  text-align: center;
  min-width: 15px;
  font-weight: 700;
}

.public-site .public-room-actions {
  gap: 12px;
  margin-top: 22px;
  display: flex;
}

.public-site .public-room-actions > * {
  flex: 1;
}

.public-site .public-home-sections {
  padding-top: 32px;
  padding-bottom: 64px;
}

.public-site .public-benefits {
  border-bottom: 1px solid var(--p-line);
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding: 14px 0 40px;
  display: grid;
}

.public-site .public-benefits > div {
  align-items: center;
  gap: 14px;
  display: flex;
}

.public-site .public-benefit-icon {
  width: 48px;
  height: 48px;
  color: var(--p-blue);
  background: #f0f3fa;
  border-radius: 15px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.public-site .public-benefits h3 {
  letter-spacing: -.015em;
  font-size: 14px;
  font-weight: 700;
}

.public-site .public-benefits p {
  color: var(--p-muted);
  margin-top: 4px;
  font-size: 12px;
}

.public-site .public-inspiration {
  padding-top: 52px;
}

.public-site .public-section-heading {
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: 24px;
  display: flex;
}

.public-site .public-section-heading .public-eyebrow, .public-site .public-how .public-eyebrow {
  color: var(--p-muted);
}

.public-site .public-home-sections h2 {
  letter-spacing: -.04em;
  margin-top: 12px;
  font-size: clamp(25px, 2.8vw, 34px);
  font-weight: 750;
  line-height: 1.15;
}

.public-site .public-section-heading > span {
  color: var(--p-muted);
  font-size: 13px;
}

.public-site .public-destinations {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.public-site .public-destination-card {
  text-align: left;
  background: #faf7f2;
  border: 1px solid #e4e4e680;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.public-site .public-destination-card:hover {
  box-shadow: 0 8px 25px #192d5017;
}

.public-site .public-destination-art {
  aspect-ratio: 1.48;
  width: 100%;
  transition: transform .3s;
}

.public-site .public-destination-card:hover .public-destination-art {
  transform: scale(1.035);
}

.public-site .public-destination-copy {
  background: #faf7f2;
  padding: 19px 18px 23px;
  display: block;
  position: relative;
}

.public-site .public-destination-copy strong {
  letter-spacing: -.04em;
  font-size: 19px;
  display: block;
}

.public-site .public-destination-copy > span {
  color: var(--p-muted);
  margin-top: 5px;
  font-size: 11px;
  display: block;
}

.public-site .public-destination-arrow {
  background: #ffffffe6;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
  position: absolute;
  top: 14px;
  right: 14px;
}

.public-site .public-business-banner {
  background: #f5efdf;
  border-radius: 24px;
  align-items: center;
  gap: 30px;
  margin-top: 54px;
  padding: 36px;
  display: flex;
}

.public-site .public-business-symbol {
  background: #e7dbbb;
  border-radius: 28px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 102px;
  height: 114px;
  display: flex;
  transform: rotate(-7deg);
}

.public-site .public-business-banner h2 {
  margin: 10px 0;
  font-size: 28px;
}

.public-site .public-business-banner p {
  color: #6d685b;
  font-size: 13px;
}

.public-site .public-business-banner > a {
  flex-shrink: 0;
  margin-left: auto;
}

.public-site .public-how {
  grid-template-columns: 1fr 1.4fr;
  gap: 70px;
  padding-block: 68px;
  display: grid;
}

.public-site .public-how .public-text-link {
  margin-top: 25px;
  font-size: 13px;
}

.public-site .public-how ol {
  gap: 26px;
  display: grid;
}

.public-site .public-how li {
  gap: 20px;
  display: flex;
}

.public-site .public-how li > span {
  color: #4d703c;
  background: #edf2e8;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 12px;
  display: flex;
}

.public-site .public-how li h3 {
  margin-bottom: 6px;
  font-size: 17px;
  font-weight: 700;
}

.public-site .public-how li p {
  color: var(--p-muted);
  font-size: 14px;
}

.public-site .public-help-banner {
  border: 1px solid var(--p-line);
  border-radius: 20px;
  align-items: center;
  gap: 22px;
  padding: 26px 30px;
  display: flex;
}

.public-site .public-help-banner > svg {
  color: var(--p-blue);
  flex-shrink: 0;
}

.public-site .public-help-banner h2 {
  margin: 0 0 6px;
  font-size: 20px;
}

.public-site .public-help-banner p {
  color: var(--p-muted);
  font-size: 13px;
}

.public-site .public-help-banner > a {
  flex-shrink: 0;
  margin-left: auto;
  font-size: 13px;
}

.public-site .public-footer {
  border-top: 1px solid var(--p-line);
  background: #f5f6f8;
  padding: 44px 0 22px;
}

.public-site .public-footer-grid {
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 42px;
  display: grid;
}

.public-site .public-footer-grid p {
  color: var(--p-muted);
  margin: 18px 0;
  font-size: 14px;
}

.public-site .public-footer-grid h3 {
  margin-bottom: 17px;
  font-size: 13px;
  font-weight: 700;
}

.public-site .public-footer-grid > div:not(:first-child) a {
  color: #526079;
  margin-top: 12px;
  font-size: 13px;
  display: block;
}

.public-site .public-footer-grid a:hover {
  color: var(--p-blue);
}

.public-site .public-contact {
  color: var(--p-blue);
  font-size: 14px;
  font-weight: 600;
}

.public-site .public-footer-bottom {
  color: #748097;
  border-top: 1px solid #dce1e9;
  justify-content: space-between;
  gap: 20px;
  padding-top: 22px;
  font-size: 11px;
  display: flex;
}

.public-site .public-footer-bottom > div {
  flex-wrap: wrap;
  gap: 20px;
  display: flex;
}

.public-site #public-main .bg-blue-600 {
  background-color: var(--p-blue);
}

.public-site #public-main .text-blue-600 {
  color: var(--p-blue);
}

.public-site #public-main .border-gray-200 {
  border-color: var(--p-line);
}

.public-site #public-main .bg-gray-50, .public-site #public-main .bg-slate-50 {
  background-color: var(--p-bg);
}

.public-site #public-main .shadow-sm {
  box-shadow: 0 2px 8px #20385c05;
}

.public-site #public-main .text-gray-900, .public-site #public-main .text-slate-900 {
  color: var(--p-ink);
}

.public-site #public-main .text-gray-600 {
  color: var(--p-muted);
}

.public-site #public-main .rounded-2xl {
  border-radius: 20px;
}

.public-site .public-page-hero {
  border-bottom: 0;
  padding-block: 32px;
  background: #edf4e8 !important;
}

.public-site .public-page-hero h1 {
  letter-spacing: -.045em;
  font-size: clamp(28px, 3vw, 38px);
}

.public-site .public-content-page {
  background: #fff;
}

.public-site .public-content-hero {
  background: #edf4e8;
  padding: 48px 0 54px;
}

.public-site .public-content-hero .public-container {
  max-width: 1100px;
}

.public-site .public-breadcrumb {
  color: #5f7261;
  margin-bottom: 26px;
  font-size: 12px;
  display: inline-block;
}

.public-site .public-content-hero h1 {
  letter-spacing: -.045em;
  max-width: 820px;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 750;
  line-height: 1.1;
}

.public-site .public-content-hero p {
  color: #5f7261;
  max-width: 760px;
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.7;
}

.public-site .public-content-layout {
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 64px;
  max-width: 1100px;
  padding-block: 48px 64px;
  display: grid;
}

.public-site .public-content-layout article {
  min-width: 0;
}

.public-site .public-content-layout article section {
  border-bottom: 1px solid var(--p-line);
  margin-bottom: 28px;
  padding-bottom: 28px;
}

.public-site .public-content-aside {
  border: 1px solid var(--p-line);
  border-radius: 20px;
  height: fit-content;
  padding: 24px;
  position: sticky;
  top: 112px;
}

.public-site .public-content-aside h2 {
  margin-bottom: 12px;
  font-size: 19px;
  font-weight: 700;
}

.public-site .public-content-aside p {
  color: var(--p-muted);
  margin-bottom: 20px;
  font-size: 13px;
  line-height: 1.6;
}

.public-site .public-content-aside a {
  color: var(--p-blue);
  margin-top: 12px;
  font-size: 13px;
  font-weight: 600;
  display: block;
}

.public-site .public-faq-item {
  border: 1px solid var(--p-line);
  border-radius: 14px;
  margin-bottom: 12px;
  overflow: hidden;
}

.public-site .public-faq-item summary {
  cursor: pointer;
  padding: 20px 44px 20px 20px;
  font-size: 15px;
  font-weight: 600;
  list-style: none;
  position: relative;
}

.public-site .public-faq-item summary::-webkit-details-marker {
  display: none;
}

.public-site .public-faq-item summary:after {
  content: "+";
  color: var(--p-blue);
  font-size: 22px;
  font-weight: 400;
  position: absolute;
  top: 15px;
  right: 19px;
}

.public-site .public-faq-item[open] {
  background: #f7f9ff;
  border-color: #d2dcff;
}

.public-site .public-faq-item[open] summary:after {
  content: "−";
}

.public-site .public-faq-item p {
  color: var(--p-muted);
  padding: 0 20px 22px;
  font-size: 14px;
  line-height: 1.7;
}

.public-site .public-search-page {
  background: var(--p-bg);
}

.public-site .public-results-toolbar {
  background: #edf4e8;
  padding: 24px 32px;
}

.public-site .public-results-toolbar h1 {
  letter-spacing: -.035em;
  margin-bottom: 5px;
  font-size: 26px;
  font-weight: 750;
}

.public-site .public-results-layout {
  align-items: flex-start;
  gap: 24px;
  max-width: 1440px;
  margin-inline: auto;
  padding: 28px 24px 48px;
}

.public-site .public-filters {
  border: 1px solid var(--p-line);
  scrollbar-width: thin;
  background: #fff;
  border-radius: 18px;
  flex-shrink: 0;
  width: 252px;
  height: calc(100vh - 126px);
  padding: 20px;
  top: 100px;
}

.public-site .public-filters h3 {
  font-size: 14px;
}

.public-site .public-results-main {
  min-width: 0;
  background: none !important;
}

.public-site .public-results-main > div {
  padding: 0;
}

.public-site .public-hotel-card {
  border: 1px solid var(--p-line);
  box-shadow: 0 3px 12px #26365005;
}

.public-site .public-hotel-card:hover {
  border-color: #c6d2ed;
  box-shadow: 0 7px 24px #26365010;
}

.public-site .public-hotel-card > div {
  grid-template-columns: minmax(210px, .9fr) minmax(0, 1.6fr);
}

.public-site .public-hotel-card h3 {
  font-size: 20px;
  line-height: 1.25;
}

.public-site .public-hotel-card a.bg-blue-600 {
  border-radius: 11px;
  padding-block: 13px;
}

.public-site .public-results-map {
  width: 310px;
}

.public-site .public-empty {
  text-align: center;
  border: 1px solid var(--p-line);
  background: #fff;
  border-radius: 20px;
  padding: 52px 24px;
}

.public-site .public-empty h2 {
  margin-bottom: 10px;
  font-size: 23px;
  font-weight: 700;
}

.public-site .public-empty p {
  color: var(--p-muted);
  max-width: 460px;
  margin: 0 auto 24px;
}

.public-site .public-empty-actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.public-site .public-hotel-page > .max-w-7xl {
  padding-top: 28px;
}

.public-site .public-hotel-page h1 {
  letter-spacing: -.045em;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.15;
}

.public-site .public-hotel-page section {
  scroll-margin-top: 100px;
}

.public-site .public-photo-grid {
  background: #e8edf3;
  border-radius: 22px;
  grid-template-rows: 195px 195px;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.public-site .public-photo-grid > button:not(.public-photo-all) {
  position: relative;
  overflow: hidden;
}

.public-site .public-photo-grid > button > span {
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  transition: transform .3s;
  display: block;
}

.public-site .public-photo-grid > button:hover > span {
  transform: scale(1.035);
}

.public-site .public-photo-main {
  grid-area: span 2 / span 2;
}

.public-site .public-photo-count-1 .public-photo-main {
  grid-column: span 4;
}

.public-site .public-photo-count-2 .public-photo-thumb {
  grid-area: span 2 / span 2;
}

.public-site .public-photo-count-3 .public-photo-thumb, .public-site .public-photo-count-4 .public-photo-thumb:nth-child(4) {
  grid-column: span 2;
}

.public-site .public-photo-all {
  background: #fffffff0;
  border: 1px solid #ffffff80;
  border-radius: 11px;
  align-items: center;
  gap: 8px;
  padding: 11px 17px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  position: absolute;
  bottom: 18px;
  right: 18px;
}

.public-site .public-photo-grid em {
  color: #fff;
  background: #17274380;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-style: normal;
  display: flex;
  position: absolute;
  inset: 0;
}

.public-site .public-photo-empty {
  text-align: center;
  color: var(--p-muted);
  background: #f0f3f7;
  border-radius: 22px;
  padding: 70px 24px;
}

.public-site .public-photo-empty p {
  margin-top: 12px;
}

.public-site .public-gallery-modal .ant-modal-body {
  border-radius: 16px;
  overflow: hidden;
}

.public-site .public-gallery-modal .ant-modal-title {
  margin-bottom: 12px;
  font-size: 17px;
}

.public-site .public-gallery-modal .ant-btn {
  color: #fff;
  background: #17274399;
}

.public-site .public-room-photo {
  aspect-ratio: 4 / 3;
  background: #edf1f5;
  border-radius: 14px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.public-site .public-room-photo:disabled {
  opacity: 1;
}

.public-site .public-room-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.public-site .public-room-photo > span {
  background: #fffffff0;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 600;
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.public-site .public-room-photo-viewer {
  background: #172743;
  border-radius: 14px;
  justify-content: center;
  height: min(60vh, 600px);
  display: flex;
  overflow: hidden;
}

.public-site .public-room-photo-viewer img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.public-site .public-room-options-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.public-site .public-room-options-heading > div:first-child {
  min-width: 0;
}

.public-site .public-room-search-summary {
  color: var(--p-muted);
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
  display: flex;
}

.public-site .public-room-search-summary span {
  white-space: nowrap;
}

.public-site .public-room-search-summary span + span:before {
  content: "·";
  color: #929caf;
  margin-right: 10px;
}

.public-site .public-room-type-count {
  white-space: nowrap;
  border: 1px solid var(--p-line);
  color: var(--p-muted);
  background: #f5f7fa;
  border-radius: 8px;
  flex-shrink: 0;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.public-site .public-photo-controls {
  color: var(--p-muted);
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin-top: 16px;
  font-size: 13px;
  display: flex;
}

.public-site .public-hotel-nav {
  background: #f3f5f8;
  border-radius: 14px;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  display: flex;
}

.public-site .public-hotel-nav a {
  color: #586680;
  border-radius: 9px;
  padding: 9px 15px;
  font-size: 13px;
  font-weight: 600;
}

.public-site .public-hotel-nav a:hover {
  color: var(--p-blue);
  background: #fff;
}

.public-site .public-booking-page {
  padding-bottom: 32px;
}

.public-site .public-booking-steps {
  border-bottom: 1px solid var(--p-line);
  max-width: 1280px;
  color: var(--p-muted);
  align-items: center;
  gap: 16px;
  margin: auto;
  padding: 22px 16px;
  font-size: 12px;
  display: flex;
}

.public-site .public-booking-steps span {
  align-items: center;
  gap: 8px;
  display: flex;
}

.public-site .public-booking-steps b {
  border: 1px solid #d9dfeb;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  font-size: 11px;
  display: flex;
}

.public-site .public-booking-steps [aria-current] {
  color: var(--p-blue);
  font-weight: 700;
}

.public-site .public-booking-steps [aria-current] b {
  background: var(--p-blue);
  color: #fff;
  border-color: var(--p-blue);
}

.public-site .public-booking-steps i {
  background: #d7ddea;
  width: 38px;
  height: 1px;
  display: block;
}

.public-site .public-booking-page .sticky {
  top: 104px;
}

.public-site .public-booking-page input, .public-site .public-booking-page select, .public-site .public-registration input, .public-site .public-registration select, .public-site .public-registration textarea {
  min-height: 46px;
  box-shadow: none;
  border-radius: 10px;
}

.public-site .public-confirmation {
  background: #f4f6f9;
  padding-block: 48px;
}

.public-site .public-confirmation .shadow-sm {
  border: 1px solid var(--p-line);
}

.public-site .public-confirmation > div > div:first-child {
  border-radius: 24px;
}

.public-site .public-favorites main {
  padding-top: 32px;
  padding-bottom: 52px;
}

.public-site .public-services {
  padding-bottom: 32px;
}

.public-site .public-services .ant-card {
  border-color: var(--p-line);
  border-radius: 18px;
  overflow: hidden;
}

.public-site .public-services .ant-card:hover {
  box-shadow: 0 5px 20px #24385c10;
}

.public-site .public-registration > div > div:first-child {
  background: #edf4e8;
  border-radius: 20px;
  padding: 28px;
}

@media (min-width: 1440px) {
  .public-site .public-results-map {
    display: block;
  }

  .public-site .public-inline-map {
    display: none;
  }
}

@media (max-width: 1439px) {
  .public-site .public-results-map {
    display: none;
  }

  .public-site .public-inline-map {
    display: block;
  }

  .public-site .public-results-main > div {
    flex-direction: column;
  }
}

@media (max-width: 1100px) {
  .public-site .public-header-row {
    gap: 25px;
  }

  .public-site .public-desktop-nav {
    gap: 17px;
  }

  .public-site .public-search-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 6px;
  }

  .public-site .public-search-field {
    background: #f6f7fa;
    border: 0;
    border-radius: 10px;
    min-height: 66px;
  }

  .public-site .public-guest-trigger {
    grid-column: 1 / 3;
  }

  .public-site .public-search-submit {
    grid-column: 3;
  }

  .public-site .public-trip-note {
    margin-right: 22px;
  }

  .public-site .public-benefits {
    gap: 20px;
  }

  .public-site .public-business-banner {
    gap: 24px;
    padding: 28px;
  }

  .public-site .public-business-symbol {
    display: none;
  }

  .public-site .public-destinations {
    gap: 12px;
  }

  .public-site .public-destination-copy {
    padding-inline: 14px;
  }

  .public-site .public-destination-copy strong {
    font-size: 17px;
  }

  .public-site .public-results-layout {
    gap: 18px;
    padding-inline: 18px;
  }

  .public-site .public-filters {
    width: 230px;
    padding: 16px;
  }
}

@media (max-width: 1023px) {
  .public-site .public-filters {
    width: 100%;
    height: auto;
    position: static;
  }

  .public-site .public-results-main {
    width: 100%;
  }

  .public-site .public-results-main > div {
    display: block;
  }

  .public-site .public-hotel-card > div {
    display: grid;
  }

  .public-site .public-content-layout {
    grid-template-columns: minmax(0, 1fr) 235px;
    gap: 32px;
  }
}

@media (max-width: 767px) {
  .public-site .public-container {
    padding-inline: 20px;
  }

  .public-site .public-header-row {
    gap: 10px;
    height: 68px;
  }

  .public-site .public-brand {
    gap: 7px;
    font-size: 23px;
  }

  .public-site .public-brand-symbol {
    width: 29px;
    height: 29px;
    font-size: 23px;
  }

  .public-site .public-brand-suffix, .public-site .public-desktop-nav, .public-site .public-help-link {
    display: none;
  }

  .public-site .public-header-actions {
    gap: 3px;
  }

  .public-site .public-login {
    padding: 10px 12px;
  }

  .public-site .public-login > svg {
    display: none;
  }

  .public-site .public-icon-button {
    width: 37px;
    height: 40px;
  }

  .public-site .public-hero {
    border-radius: 0 0 26px 26px;
    padding-top: 30px;
    padding-bottom: 16px;
  }

  .public-site .public-hero-heading {
    margin-bottom: 24px;
  }

  .public-site .public-hero h1 {
    margin: 14px 0;
    font-size: 48px;
  }

  .public-site .public-hero-heading p {
    font-size: 15px;
  }

  .public-site .public-trip-note {
    display: none;
  }

  .public-site .public-eyebrow {
    font-size: 10px;
  }

  .public-site .public-search-grid {
    border-radius: 0 14px 14px;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 7px;
  }

  .public-site .public-destination {
    grid-column: 1 / -1;
  }

  .public-site .public-search-field {
    background: #f4f6f9;
    min-height: 66px;
    padding: 9px 12px;
  }

  .public-site .public-guest-trigger {
    grid-column: 1 / -1;
  }

  .public-site .public-search-submit {
    grid-column: 1 / -1;
    min-height: 52px;
  }

  .public-site .public-search-meta {
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 11px;
    padding-inline: 2px;
  }

  .public-site .public-search-meta > span {
    display: none;
  }

  .public-site .public-search-meta select {
    width: 138px;
  }

  .public-site .public-search-feedback {
    min-height: 8px;
  }

  .public-site .public-dialog {
    max-width: calc(100vw - 24px);
    margin-inline: auto;
    padding-bottom: 0;
  }

  .public-site .public-dialog .ant-modal-container, .public-site .public-dialog .ant-modal-content {
    padding: 24px 20px;
  }

  .public-site .public-dialog .ant-modal-title {
    font-size: 23px;
  }

  .public-site .public-dialog-intro {
    margin-bottom: 18px;
    font-size: 13px;
  }

  .public-site .public-room {
    padding: 16px;
  }

  .public-site .public-room-actions {
    gap: 8px;
  }

  .public-site .public-room-actions > * {
    padding-inline: 10px;
    font-size: 13px;
  }

  .public-site .public-home-sections {
    padding-top: 16px;
    padding-bottom: 36px;
  }

  .public-site .public-benefits {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 12px 26px;
  }

  .public-site .public-benefit-icon {
    border-radius: 12px;
    width: 42px;
    height: 42px;
  }

  .public-site .public-section-heading > span {
    display: none;
  }

  .public-site .public-section-heading {
    margin-bottom: 20px;
  }

  .public-site .public-inspiration {
    padding-top: 30px;
  }

  .public-site .public-destinations {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .public-site .public-destination-card {
    border-radius: 15px;
  }

  .public-site .public-destination-copy {
    padding: 14px 12px 17px;
  }

  .public-site .public-destination-copy strong {
    font-size: 15px;
  }

  .public-site .public-destination-copy > span {
    min-height: 30px;
    font-size: 10px;
  }

  .public-site .public-destination-arrow {
    width: 27px;
    height: 27px;
    top: 10px;
    right: 10px;
  }

  .public-site .public-business-banner {
    margin-top: 32px;
    padding: 26px;
    display: block;
  }

  .public-site .public-business-banner h2 {
    font-size: 26px;
  }

  .public-site .public-business-banner > a {
    margin-top: 22px;
    font-size: 13px;
  }

  .public-site .public-how {
    padding-block: 36px;
    display: block;
  }

  .public-site .public-how ol {
    gap: 24px;
    margin-top: 30px;
  }

  .public-site .public-help-banner {
    grid-template-columns: 28px 1fr;
    gap: 15px;
    padding: 22px;
    display: grid;
  }

  .public-site .public-help-banner > a {
    grid-column: 2;
    margin: 0;
  }

  .public-site .public-help-banner h2 {
    font-size: 19px;
  }

  .public-site .public-footer {
    padding-top: 30px;
  }

  .public-site .public-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    padding-bottom: 28px;
  }

  .public-site .public-footer-grid > div:first-child {
    grid-column: 1 / -1;
  }

  .public-site .public-footer-bottom {
    flex-direction: column;
    gap: 16px;
  }

  .public-site .public-footer-bottom > div {
    gap: 12px;
  }

  .public-site .public-content-hero {
    padding-block: 28px 36px;
  }

  .public-site .public-content-hero p {
    font-size: 14px;
  }

  .public-site .public-content-layout {
    padding-block: 28px 36px;
    display: block;
  }

  .public-site .public-content-aside {
    margin-top: 28px;
    position: static;
  }

  .public-site .public-page-hero {
    padding-block: 24px;
  }

  .public-site .public-page-hero > div > .flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .public-site .public-results-toolbar {
    padding: 20px;
  }

  .public-site .public-results-toolbar h1 {
    font-size: 24px;
  }

  .public-site .public-results-layout {
    gap: 16px;
    padding: 16px 12px 32px;
  }

  .public-site .public-hotel-card > div {
    grid-template-columns: 1fr;
  }

  .public-site .public-hotel-card h3 {
    font-size: 21px;
  }

  .public-site .public-hotel-card > div > div:first-child {
    height: 230px;
  }

  .public-site .public-hotel-card > div > div:nth-child(2) {
    padding: 20px;
  }

  .public-site .public-booking-steps {
    gap: 8px;
    padding: 16px 12px;
    font-size: 10px;
  }

  .public-site .public-booking-steps i {
    width: 15px;
  }

  .public-site .public-booking-steps b {
    width: 22px;
    height: 22px;
  }

  .public-site .public-booking-page .sticky {
    position: static;
  }

  .public-site .public-hotel-nav {
    gap: 2px;
    padding: 5px;
  }

  .public-site .public-rate-card {
    width: min(320px, 100vw - 84px);
    padding: 20px;
  }

  .public-site .public-photo-grid {
    border-radius: 16px;
    grid-template-rows: 245px 105px;
    grid-template-columns: 1fr 1fr;
  }

  .public-site .public-photo-main {
    grid-area: 1 / 1 / auto / -1;
  }

  .public-site .public-photo-count-1 {
    grid-template-rows: 260px;
  }

  .public-site .public-photo-count-1 .public-photo-main {
    grid-column: 1 / -1;
  }

  .public-site .public-photo-count-2 .public-photo-thumb {
    grid-area: 2 / 1 / auto / -1;
  }

  .public-site .public-photo-count-3 .public-photo-thumb {
    grid-column: auto;
  }

  .public-site .public-photo-thumb:nth-child(n+4) {
    display: none;
  }

  .public-site .public-photo-all {
    padding: 9px 12px;
    font-size: 12px;
    bottom: 12px;
    right: 12px;
  }

  .public-site .public-hotel-nav a {
    padding: 8px 10px;
    font-size: 12px;
  }

  .public-site .public-confirmation {
    padding-block: 24px;
  }
}

.public-site .public-filter-heading {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  display: flex;
}

.public-site .public-filter-heading h2 {
  font-size: 17px;
  font-weight: 700;
}

.public-site .public-filter-heading button {
  color: var(--p-blue);
  min-height: 44px;
  font-size: 12px;
}

.public-site .public-filter-fields > div {
  border-bottom: 1px solid var(--p-line);
  margin-bottom: 22px;
  padding-bottom: 20px;
}

.public-site .public-filter-fields > div:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.public-site .public-filter-fields label {
  gap: 10px;
  min-height: 44px;
}

.public-site .public-filter-fields label > div {
  min-width: 0;
}

.public-site .public-filter-fields input[type="checkbox"], .public-site .public-filter-fields input[type="radio"] {
  accent-color: var(--p-blue);
  flex-shrink: 0;
}

.public-site .public-filter-fields input[type="number"] {
  width: 100%;
  min-width: 0;
  max-width: none;
  padding-inline: 12px;
}

.public-site .public-filter-fields input[type="range"] {
  width: 100%;
  accent-color: var(--p-blue);
}

.public-site .public-mobile-filter-bar, .public-site .public-filter-trigger {
  width: 100%;
}

.public-site .public-filter-count {
  background: var(--p-blue);
  color: #fff;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  min-width: 22px;
  height: 22px;
  padding-inline: 6px;
  font-size: 11px;
  display: inline-flex;
}

.public-site .public-filter-actions {
  grid-template-columns: auto 1fr;
  gap: 10px;
  display: grid;
}

.public-site .public-dialog .ant-modal-container, .public-site .public-dialog .ant-modal-content {
  flex-direction: column;
  max-height: calc(100dvh - 40px);
  display: flex;
}

.public-site .public-dialog .ant-modal-header {
  flex-shrink: 0;
  padding-right: 30px;
}

.public-site .public-dialog .ant-modal-title {
  overflow-wrap: anywhere;
}

.public-site .public-dialog .ant-modal-body {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  min-height: 0;
  overflow-y: auto;
}

.public-site .public-dialog .ant-modal-footer {
  border-top: 1px solid var(--p-line);
  flex-shrink: 0;
  margin-top: 16px;
  padding-top: 14px;
}

.public-site .public-dialog .ant-modal-close {
  border-radius: 12px;
  width: 44px;
  height: 44px;
  font-size: 24px;
  top: 12px;
  right: 12px;
}

.public-site .public-rate-hint {
  display: none;
}

.public-site .public-rate-card > div {
  flex-direction: column;
  height: 100%;
  display: flex;
}

.public-site .public-rate-card > div > a {
  margin-top: auto;
}

.public-site .public-rate-card > div > div:first-child {
  flex-wrap: wrap;
  gap: 8px;
}

.public-site .public-rate-list {
  scroll-snap-type: x proximity;
}

.public-site .public-rate-card {
  scroll-snap-align: start;
}

.public-site .public-pagination button {
  min-height: 44px;
}

.public-site .public-booking-hotel-heading {
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  display: grid;
}

.public-site .public-booking-hotel-photo {
  border-radius: 12px;
  width: 80px;
  height: 80px;
}

.public-site .public-booking-hotel-name {
  min-width: 0;
}

.public-site .public-booking-hotel-name h3 {
  overflow-wrap: anywhere;
  font-size: 18px;
  line-height: 1.35;
}

.public-site .public-booking-hotel-stars {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  font-size: 13px;
  display: flex;
}

.public-site .public-booking-hotel-stars span {
  margin-left: 0;
  font-size: 12px;
}

.public-site .public-booking-hotel-address {
  overflow-wrap: anywhere;
  margin-top: 12px;
  line-height: 1.55;
}

.public-site .public-booking-room-name {
  border-top: 1px solid var(--p-line);
  margin-top: 16px;
  padding-top: 16px;
}

.public-site .public-booking-room-name p {
  overflow-wrap: anywhere;
  line-height: 1.5;
}

.public-site .public-booking-detail-label {
  color: var(--p-muted);
  margin-bottom: 5px;
  font-size: 12px;
  line-height: 1.4;
}

.public-site .public-booking-dates {
  background: #f5f7fa;
  border-radius: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  display: grid;
}

.public-site .public-booking-dates > div + div {
  border-left: 1px solid var(--p-line);
  padding-left: 12px;
}

.public-site .public-booking-date-value {
  font-size: 14px;
  line-height: 1.4;
}

.public-site .public-booking-conditions {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 16px;
  display: flex;
}

.public-site .public-booking-condition {
  overflow-wrap: anywhere;
  border-radius: 10px;
  max-width: 100%;
  padding: 9px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  display: block;
}

.public-site .public-booking-guests-summary {
  border-top: 1px solid var(--p-line);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 16px;
  margin-top: 16px;
  padding-top: 14px;
  font-size: 13px;
  display: flex;
}

.public-site .public-booking-summary-rate {
  gap: 12px;
}

.public-site .public-booking-summary-rate > .text-right {
  flex-shrink: 0;
}

@media (max-width: 1023px) {
  .public-site .public-desktop-nav, .public-site .public-filters {
    display: none;
  }

  .public-site .public-results-main {
    min-height: 0;
  }

  .public-site .public-filter-dialog .ant-modal-body {
    padding-right: 4px;
  }

  .public-site .public-filter-fields h3 {
    margin-bottom: 10px;
    font-size: 14px;
  }

  .public-site .public-filter-fields label {
    padding: 8px 4px;
  }

  .public-site .public-filter-fields select {
    min-height: 46px;
  }

  .public-site .public-hotel-card-media > div:first-child {
    height: 100%;
    min-height: 220px;
  }
}

@media (max-width: 767px) {
  html:has(.public-site) {
    scroll-padding-top: 80px;
  }

  .public-site {
    font-size: 14px;
    line-height: 1.5;
  }

  .public-site #public-main {
    min-width: 0;
  }

  .public-site .public-container {
    padding-inline: 16px;
  }

  .public-site h1, .public-site h2, .public-site h3 {
    overflow-wrap: anywhere;
  }

  .public-site .public-header-row {
    gap: 8px;
    height: 64px;
  }

  .public-site .public-brand {
    font-size: 21px;
  }

  .public-site .public-icon-button {
    width: 40px;
    height: 44px;
  }

  .public-site .public-login {
    min-height: 44px;
    padding: 9px 11px;
    font-size: 13px;
  }

  .public-site .public-button {
    border-radius: 11px;
    min-height: 46px;
    padding: 11px 16px;
    font-size: 14px;
  }

  .public-site .public-button > svg {
    flex-shrink: 0;
  }

  .public-site input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .public-site select, .public-site textarea {
    font-size: 16px;
  }

  .public-site .public-hero {
    border-radius: 0 0 22px 22px;
    padding-top: 24px;
  }

  .public-site .public-hero h1 {
    letter-spacing: -.045em;
    margin-block: 12px;
    font-size: clamp(34px, 9.5vw, 43px);
    line-height: 1.08;
  }

  .public-site .public-hero-heading {
    margin-bottom: 22px;
  }

  .public-site .public-hero-heading p {
    max-width: 320px;
    font-size: 14px;
    line-height: 1.6;
  }

  .public-site .public-eyebrow {
    letter-spacing: .08em;
    font-size: 10px;
  }

  .public-site .public-search-tab {
    padding: 9px 16px;
    font-size: 12px;
  }

  .public-site .public-search-grid {
    gap: 5px;
    padding: 6px;
  }

  .public-site .public-search-field {
    min-width: 0;
    min-height: 61px;
    padding: 8px 10px;
  }

  .public-site .public-search-field .ant-picker, .public-site .public-search-field .ant-select {
    min-width: 0;
  }

  .public-site .public-search-field .ant-picker-input > input {
    font-size: 14px;
  }

  .public-site .public-search-field .ant-picker-suffix {
    margin-left: 2px;
  }

  body:has(.public-site) .ant-picker-dropdown {
    max-width: none;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    inset: auto 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    position: fixed !important;
  }

  body:has(.public-site) .ant-picker-dropdown :is(.ant-picker-panel-container, .ant-picker-panel-layout, .ant-picker-panel, .ant-picker-date-panel, .ant-picker-month-panel, .ant-picker-year-panel, .ant-picker-decade-panel) {
    width: 100%;
    min-width: 0;
  }

  body:has(.public-site) .ant-picker-dropdown .ant-picker-content {
    table-layout: fixed;
    width: 100%;
  }

  body:has(.public-site) .ant-picker-dropdown .ant-picker-body {
    padding: 6px 8px;
  }

  body:has(.public-site) .ant-picker-dropdown .ant-picker-cell {
    padding-block: 5px;
  }

  body:has(.public-site) .ant-picker-dropdown .ant-picker-header {
    min-height: 44px;
  }

  .public-site .public-guest-trigger strong {
    font-size: 14px;
  }

  .public-site .public-search-submit {
    min-height: 46px;
  }

  .public-site .public-search-meta {
    font-size: 11px;
  }

  .public-site .public-search-meta select {
    min-height: 36px;
    font-size: 13px;
  }

  .public-site .public-section-heading h2, .public-site .public-how h2 {
    font-size: 25px;
    line-height: 1.2;
  }

  .public-site .public-benefits {
    gap: 16px;
    padding-bottom: 24px;
  }

  .public-site .public-benefits h3 {
    font-size: 14px;
  }

  .public-site .public-benefits p {
    font-size: 12px;
  }

  .public-site .public-destinations {
    gap: 10px;
  }

  .public-site .public-destination-copy {
    padding: 12px 10px;
  }

  .public-site .public-destination-copy > span {
    font-size: 11px;
    line-height: 1.4;
  }

  .public-site .public-business-banner {
    border-radius: 18px;
    padding: 22px 20px;
  }

  .public-site .public-business-banner h2 {
    font-size: 24px;
  }

  .public-site .public-how {
    padding-block: 32px;
  }

  .public-site .public-how li {
    gap: 14px;
  }

  .public-site .public-how li h3 {
    font-size: 15px;
  }

  .public-site .public-how li p {
    font-size: 13px;
  }

  .public-site .public-help-banner {
    gap: 12px;
    padding: 20px 16px;
  }

  .public-site .public-help-banner h2 {
    font-size: 18px;
  }

  .public-site .public-footer-grid {
    gap: 24px 16px;
  }

  .public-site .public-footer-grid > div {
    min-width: 0;
  }

  .public-site .public-footer-grid > div:not(:first-child) a {
    margin-top: 2px;
    padding-block: 10px;
    font-size: 12px;
  }

  .public-site .public-footer-grid p {
    font-size: 13px;
  }

  .public-site .public-footer-bottom a {
    padding-block: 7px;
    display: inline-block;
  }

  .public-site .public-content-hero {
    padding-block: 24px 28px;
  }

  .public-site .public-content-hero h1, .public-site .public-page-hero h1 {
    font-size: 28px;
    line-height: 1.15;
  }

  .public-site .public-breadcrumb {
    margin-bottom: 20px;
  }

  .public-site .public-content-layout {
    padding-block: 24px 32px;
  }

  .public-site .public-content-layout article h2 {
    font-size: 20px;
    line-height: 1.3;
  }

  .public-site .public-content-layout article p, .public-site .public-content-layout article li {
    overflow-wrap: anywhere;
    font-size: 14px;
  }

  .public-site .public-content-aside {
    border-radius: 16px;
    padding: 20px;
  }

  .public-site .public-faq-item summary {
    padding: 17px 42px 17px 16px;
    font-size: 14px;
  }

  .public-site .public-faq-item p {
    padding: 0 16px 18px;
    font-size: 13px;
  }

  .public-site .public-dialog {
    max-width: calc(100vw - 20px);
  }

  .public-site .public-dialog .ant-modal-container, .public-site .public-dialog .ant-modal-content {
    border-radius: 20px;
    max-height: calc(100dvh - 24px);
    padding: 20px 16px;
  }

  .public-site .public-dialog .ant-modal-header {
    margin-bottom: 14px;
    padding-right: 32px;
  }

  .public-site .public-dialog .ant-modal-title {
    font-size: 20px;
    line-height: 1.25;
  }

  .public-site .public-dialog .ant-modal-close {
    top: 8px;
    right: 6px;
  }

  .public-site .public-dialog-intro {
    margin-bottom: 18px;
    font-size: 13px;
  }

  .public-site .public-filter-dialog .ant-modal-container {
    height: min(820px, 100dvh - 24px);
  }

  .public-site .public-filter-actions {
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .public-site .public-room {
    border-radius: 12px;
    padding: 14px 12px;
  }

  .public-site .public-room-list {
    max-height: 46dvh;
  }

  .public-site .public-counter button {
    width: 40px;
    height: 44px;
  }

  .public-site .public-counter, .public-site .public-counter-row {
    gap: 8px;
  }

  .public-site .public-counter-row small {
    font-size: 11px;
  }

  .public-site .public-room-title button {
    min-width: 44px;
    min-height: 44px;
  }

  .public-site .public-room-actions {
    grid-template-columns: 1.3fr 1fr;
    gap: 8px;
    display: grid;
  }

  .public-site .public-auth-body h1 {
    font-size: 21px;
  }

  .public-site .public-results-toolbar {
    padding: 20px 16px;
  }

  .public-site .public-results-toolbar h1 {
    font-size: 24px;
  }

  .public-site .public-results-toolbar .text-sm {
    font-size: 12px;
  }

  .public-site .public-results-toolbar button {
    min-height: 44px;
    font-size: 13px;
  }

  .public-site .public-results-layout {
    gap: 12px;
    padding: 14px 12px 28px;
  }

  .public-site .public-result-summary {
    padding: 12px 14px;
  }

  .public-site .public-result-summary h2 {
    font-size: 15px;
  }

  .public-site .public-result-summary p {
    font-size: 12px;
  }

  .public-site .public-result-summary > div {
    gap: 10px;
  }

  .public-site .public-result-summary button {
    white-space: nowrap;
    min-height: 44px;
    padding-inline: 12px;
    font-size: 13px;
  }

  .public-site .public-results-main .space-y-6 > :not(:last-child) {
    margin-bottom: 14px;
  }

  .public-site #public-main .public-hotel-card {
    border-radius: 16px;
  }

  .public-site .public-hotel-card > div > div:first-child {
    height: 205px;
  }

  .public-site .public-hotel-card-media > div:first-child {
    height: 100%;
    min-height: 0;
  }

  .public-site .public-hotel-card > div > .public-hotel-card-body {
    padding: 14px;
  }

  .public-site .public-hotel-card h3 {
    margin-bottom: 7px;
    font-size: 18px;
    line-height: 1.3;
  }

  .public-site .public-hotel-card-address {
    font-size: 12px;
    line-height: 1.5;
  }

  .public-site .public-hotel-card-address svg, .public-site .public-hotel-card-address i {
    flex-shrink: 0;
  }

  .public-site .public-hotel-card-amenities {
    justify-content: flex-start;
    margin-bottom: 0;
  }

  .public-site .public-hotel-card-offer {
    background: #f5f7fa;
    margin-bottom: 12px;
    padding: 12px;
  }

  .public-site .public-hotel-card-offer > div {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .public-site .public-hotel-card-offer > div > div {
    min-width: 0;
  }

  .public-site .public-hotel-card-conditions {
    gap: 6px;
  }

  .public-site .public-hotel-card-price {
    border-top: 1px solid var(--p-line);
    grid-column: 1 / -1;
    align-items: flex-end;
    padding-top: 10px;
  }

  .public-site .public-hotel-card-price > div:first-child {
    font-size: 22px;
    line-height: 1.15;
  }

  .public-site .public-hotel-card-action a {
    width: 100%;
    min-height: 46px;
    font-size: 14px;
  }

  .public-site .public-hotel-card-media button:not([aria-pressed]) {
    min-width: 44px;
    min-height: 44px;
  }

  .public-site .public-pagination {
    padding: 14px 10px;
  }

  .public-site .public-pagination > div > div:last-child {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
  }

  .public-site .public-pagination > div > div:last-child > div {
    order: -1;
    justify-content: center;
    width: 100%;
  }

  .public-site .public-pagination button {
    min-width: 44px;
  }

  .public-site .public-empty {
    border-radius: 16px;
    padding: 32px 18px;
  }

  .public-site .public-empty h2 {
    font-size: 21px;
  }

  .public-site .public-empty-actions > * {
    width: 100%;
  }

  .public-site .public-hotel-breadcrumb {
    font-size: 12px;
  }

  .public-site .public-hotel-breadcrumb > a {
    flex-shrink: 0;
  }

  .public-site .public-hotel-breadcrumb > span:last-child {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .public-site .public-hotel-page > .max-w-7xl {
    padding-top: 18px;
  }

  .public-site .public-hotel-page h1 {
    font-size: 27px;
    line-height: 1.2;
  }

  .public-site .public-hotel-page h2 {
    font-size: 21px;
  }

  .public-site .public-hotel-page h3 {
    font-size: 17px;
  }

  .public-site .public-hotel-page .p-6, .public-site .public-hotel-page .p-8 {
    padding: 16px;
  }

  .public-site .public-hotel-page .gap-8 {
    gap: 20px;
  }

  .public-site .public-hotel-page .gap-6 {
    gap: 16px;
  }

  .public-site .public-hotel-nav {
    scrollbar-width: none;
    border-radius: 12px;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .public-site .public-hotel-nav a {
    flex-shrink: 0;
    align-items: center;
    min-height: 44px;
    padding-inline: 12px;
    display: flex;
  }

  .public-site .public-photo-grid {
    grid-template-rows: 215px 88px;
    gap: 4px;
  }

  .public-site .public-photo-count-1 {
    grid-template-rows: 235px;
  }

  .public-site .public-photo-all {
    min-height: 44px;
    font-size: 12px;
    bottom: 10px;
    right: 10px;
  }

  .public-site .public-room-summary {
    border-right: 0;
    border-bottom: 1px solid var(--p-line);
  }

  .public-site .public-room-options-heading {
    flex-direction: column;
    gap: 10px;
  }

  .public-site .public-room-photo {
    aspect-ratio: 16 / 10;
  }

  .public-site .public-rate-hint {
    color: var(--p-muted);
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 12px;
    display: flex;
  }

  .public-site .public-rate-hint span {
    color: var(--p-blue);
  }

  .public-site .public-rate-list {
    gap: 10px;
    padding-bottom: 10px;
    padding-right: 0;
  }

  .public-site .public-rate-card {
    width: calc(100% - 18px);
    min-width: 0;
    padding: 16px;
  }

  .public-site .public-rate-card:only-child {
    width: 100%;
  }

  .public-site .public-rate-card .text-3xl {
    font-size: 25px;
  }

  .public-site .public-rate-card .text-sm {
    font-size: 12px;
  }

  .public-site .public-gallery-modal .ant-modal-body {
    height: min(65dvh, 600px) !important;
  }

  .public-site .public-room-photo-viewer {
    height: 55dvh;
  }

  .public-site .public-booking-page h1 {
    font-size: 25px;
    line-height: 1.2;
  }

  .public-site .public-booking-page h2 {
    font-size: 18px;
  }

  .public-site .public-booking-page .p-6 {
    padding: 16px;
  }

  .public-site .public-booking-page .gap-8 {
    gap: 20px;
  }

  .public-site .public-booking-page .flex-1 {
    min-width: 0;
  }

  .public-site .public-booking-page .text-gray-600 {
    overflow-wrap: anywhere;
  }

  .public-site .public-booking-hotel-heading {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
  }

  .public-site .public-booking-hotel-photo {
    width: 72px;
    height: 72px;
  }

  .public-site .public-booking-hotel-name h3 {
    font-size: 17px;
  }

  .public-site .public-booking-details > h2 {
    margin-bottom: 16px;
    font-size: 18px;
  }

  .public-site .public-booking-hotel-address {
    font-size: 13px;
  }

  .public-site .public-booking-conditions {
    align-items: stretch;
  }

  .public-site .public-booking-order-summary .flex.justify-between {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px;
  }

  .public-site .public-booking-summary-rate {
    flex-direction: column;
    align-items: stretch !important;
  }

  .public-site .public-booking-summary-rate > .text-right {
    text-align: left;
  }

  .public-site .public-booking-navigation {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
  }

  .public-site .public-booking-navigation > * {
    min-height: 44px;
    font-size: 12px;
  }

  .public-site .public-booking-steps {
    justify-content: space-between;
    gap: 6px;
    padding: 14px 12px;
    font-size: 10px;
  }

  .public-site .public-booking-steps span {
    text-align: center;
    flex-direction: column;
    gap: 5px;
  }

  .public-site .public-booking-steps i {
    flex: 1;
    max-width: 40px;
  }

  .public-site .public-confirmation {
    padding-block: 20px;
  }

  .public-site .public-confirmation .p-8, .public-site .public-confirmation .p-6 {
    padding: 18px;
  }

  .public-site .public-confirmation h1 {
    font-size: 25px;
  }

  .public-site .public-confirmation h2 {
    font-size: 19px;
  }

  .public-site .public-confirmation a, .public-site .public-confirmation p, .public-site .public-confirmation code, .public-site .public-confirmation .font-mono {
    overflow-wrap: anywhere;
  }

  .public-site .public-confirmation .flex.justify-between {
    flex-wrap: wrap;
    gap: 12px;
  }

  .public-site .public-confirmation .text-3xl {
    font-size: 25px;
  }

  .public-site .public-services .ant-card-body, .public-site .public-services .p-6, .public-site .public-favorites .p-6 {
    padding: 16px;
  }

  .public-site .public-services h3, .public-site .public-favorites h3 {
    font-size: 17px;
  }

  .public-site .public-services h2, .public-site .public-favorites h2 {
    font-size: 21px;
  }

  .public-site .public-service-selection {
    flex-direction: column;
    align-items: stretch;
  }

  .public-site .public-service-selection > div > div, .public-site .public-favorites .mt-auto {
    flex-wrap: wrap;
    gap: 8px;
  }

  .public-site .public-favorites .mt-auto a {
    flex: 1;
    min-height: 44px;
    font-size: 13px;
  }

  .public-site .public-registration {
    padding-block: 20px;
  }

  .public-site .public-registration > div > div:first-child {
    padding: 20px;
  }

  .public-site .public-registration h1 {
    font-size: 26px;
  }

  .public-site .public-registration .p-6 {
    padding: 16px;
  }
}

@media (max-width: 359px) {
  .public-site .public-header .public-container {
    padding-inline: 10px;
  }

  .public-site .public-header-actions {
    gap: 0;
  }

  .public-site .public-brand {
    gap: 5px;
    font-size: 19px;
  }

  .public-site .public-brand-symbol {
    width: 25px;
    height: 25px;
  }

  .public-site .public-header .public-icon-button {
    width: 36px;
  }

  .public-site .public-hero h1 {
    font-size: 33px;
  }

  .public-site .public-hotel-card > div > div:first-child {
    height: 185px;
  }

  .public-site .public-counter {
    gap: 4px;
  }

  .public-site .public-counter button {
    width: 36px;
  }

  .public-site .public-dialog .ant-modal-title {
    font-size: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:has(.public-site) {
    scroll-behavior: auto;
  }

  .public-site *, .public-site :before, .public-site :after {
    transition: none !important;
    animation: none !important;
  }
}

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