/* font.css start */
/* SF Mono Regular */
@font-face {
  font-family: 'SF Mono';
  src: url('../fonts/SFMono/SFMono-Regular.woff2') format('woff2'),
       url('../fonts/SFMono/SFMono-Regular.woff') format('woff'),
       url('../fonts/SFMono/SFMono-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* SF Mono Regular Italic */
@font-face {
  font-family: 'SF Mono';
  src: url('../fonts/SFMono/SFMono-RegularItalic.woff2') format('woff2'),
       url('../fonts/SFMono/SFMono-RegularItalic.woff') format('woff'),
       url('../fonts/SFMono/SFMono-RegularItalic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* SF Mono Medium */
@font-face {
  font-family: 'SF Mono';
  src: url('../fonts/SFMono/SFMono-Medium.woff2') format('woff2'),
       url('../fonts/SFMono/SFMono-Medium.woff') format('woff'),
       url('../fonts/SFMono/SFMono-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* SF Mono Medium Italic */
@font-face {
  font-family: 'SF Mono';
  src: url('../fonts/SFMono/SFMono-MediumItalic.woff2') format('woff2'),
       url('../fonts/SFMono/SFMono-MediumItalic.woff') format('woff'),
       url('../fonts/SFMono/SFMono-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* SF Mono Semibold */
@font-face {
  font-family: 'SF Mono';
  src: url('../fonts/SFMono/SFMono-Semibold.woff2') format('woff2'),
       url('../fonts/SFMono/SFMono-Semibold.woff') format('woff'),
       url('../fonts/SFMono/SFMono-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* SF Mono Semibold Italic */
@font-face {
  font-family: 'SF Mono';
  src: url('../fonts/SFMono/SFMono-SemiboldItalic.woff2') format('woff2'),
       url('../fonts/SFMono/SFMono-SemiboldItalic.woff') format('woff'),
       url('../fonts/SFMono/SFMono-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* Calibre Regular */
@font-face {
  font-family: 'Calibre';
  src: url('../fonts/Calibre/Calibre-Regular.woff2') format('woff2'),
       url('../fonts/Calibre/Calibre-Regular.woff') format('woff'),
       url('../fonts/Calibre/Calibre-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Calibre Regular Italic */
@font-face {
  font-family: 'Calibre';
  src: url('../fonts/Calibre/Calibre-RegularItalic.woff2') format('woff2'),
       url('../fonts/Calibre/Calibre-RegularItalic.woff') format('woff'),
       url('../fonts/Calibre/Calibre-RegularItalic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Calibre Medium */
@font-face {
  font-family: 'Calibre';
  src: url('../fonts/Calibre/Calibre-Medium.woff2') format('woff2'),
       url('../fonts/Calibre/Calibre-Medium.woff') format('woff'),
       url('../fonts/Calibre/Calibre-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Calibre Medium Italic */
@font-face {
  font-family: 'Calibre';
  src: url('../fonts/Calibre/Calibre-MediumItalic.woff2') format('woff2'),
       url('../fonts/Calibre/Calibre-MediumItalic.woff') format('woff'),
       url('../fonts/Calibre/Calibre-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* Calibre Semibold */
@font-face {
  font-family: 'Calibre';
  src: url('../fonts/Calibre/Calibre-Semibold.woff2') format('woff2'),
       url('../fonts/Calibre/Calibre-Semibold.woff') format('woff'),
       url('../fonts/Calibre/Calibre-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Calibre Semibold Italic */
@font-face {
  font-family: 'Calibre';
  src: url('../fonts/Calibre/Calibre-SemiboldItalic.woff2') format('woff2'),
       url('../fonts/Calibre/Calibre-SemiboldItalic.woff') format('woff'),
       url('../fonts/Calibre/Calibre-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
/* font.css end */

body{margin:0}
#section-hero{min-height:100vh}
.hero-img{width:557px;height:557px}

/* style.css start */
/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: 'SF Pro Text', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'Fira Code', ui-monospace, monospace;
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-orange-400: oklch(75% 0.183 55.934);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-teal-400: oklch(77.7% 0.152 181.912);
    --color-teal-500: oklch(70.4% 0.14 182.503);
    --color-teal-600: oklch(60% 0.118 184.704);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-purple-400: oklch(71.4% 0.203 305.504);
    --color-pink-400: oklch(71.8% 0.202 349.761);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.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;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-md: 12px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-navy: #0a192f;
    --color-navy-light: #112240;
    --color-navy-lighter: #172a45;
    --color-navy-border: #1e2d40;
    --color-navy-line: #233554;
    --color-slate: #8892b0;
    --color-slate-light: #a8b2d1;
    --color-primary: oklch(77.7% 0.152 181.912);
    --color-primary-dim: rgba(0, 213, 190,0.07);
    --color-primary-border: rgba(0, 213, 190,0.18);
    --color-navy-dark: #020c1b;
    --color-navy-shadow: rgba(2,12,27,0.7);
    --color-slate-dark: #495670;
    --color-slate-lighter: #ccd6f6;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    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 {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :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)) {
        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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-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"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .-top-3 {
    top: calc(var(--spacing) * -3);
  }
  .-top-32 {
    top: calc(var(--spacing) * -32);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1/2 * 100%);
  }
  .top-1\/4 {
    top: calc(1/4 * 100%);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-5 {
    top: calc(var(--spacing) * 5);
  }
  .top-8 {
    top: calc(var(--spacing) * 8);
  }
  .top-10 {
    top: calc(var(--spacing) * 10);
  }
  .top-12 {
    top: calc(var(--spacing) * 12);
  }
  .top-16 {
    top: calc(var(--spacing) * 16);
  }
  .-right-32 {
    right: calc(var(--spacing) * -32);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-1\/4 {
    right: calc(1/4 * 100%);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-5 {
    right: calc(var(--spacing) * 5);
  }
  .right-6 {
    right: calc(var(--spacing) * 6);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-8 {
    bottom: calc(var(--spacing) * 8);
  }
  .bottom-16 {
    bottom: calc(var(--spacing) * 16);
  }
  .-left-2 {
    left: calc(var(--spacing) * -2);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1/2 * 100%);
  }
  .left-1\/3 {
    left: calc(1/3 * 100%);
  }
  .left-2\.5 {
    left: calc(var(--spacing) * 2.5);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .left-6 {
    left: calc(var(--spacing) * 6);
  }
  .-z-10 {
    z-index: calc(10 * -1);
  }
  .z-0 {
    z-index: 0;
  }
  .z-10 {
    z-index: 10;
  }
  .z-30 {
    z-index: 30;
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[60\] {
    z-index: 60;
  }
  .z-\[299\] {
    z-index: 299;
  }
  .z-\[300\] {
    z-index: 300;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  .col-12 {
    grid-column: 12;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .col-span-3 {
    grid-column: span 3 / span 3;
  }
  .col-span-4 {
    grid-column: span 4 / span 4;
  }
  .col-span-6 {
    grid-column: span 6 / span 6;
  }
  .col-span-8 {
    grid-column: span 8 / span 8;
  }
  .col-span-9 {
    grid-column: span 9 / span 9;
  }
  .col-span-12 {
    grid-column: span 12 / span 12;
  }
  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .my-10 {
    margin-block: calc(var(--spacing) * 10);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .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-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mt-32 {
    margin-top: calc(var(--spacing) * 32);
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * 0.5);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-2\.5 {
    margin-bottom: calc(var(--spacing) * 2.5);
  }
  .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-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-14 {
    margin-bottom: calc(var(--spacing) * 14);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .-ml-1\.5 {
    margin-left: calc(var(--spacing) * -1.5);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .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 / 1;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .h-0\.5 {
    height: calc(var(--spacing) * 0.5);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .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-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-28 {
    height: calc(var(--spacing) * 28);
  }
  .h-32 {
    height: calc(var(--spacing) * 32);
  }
  .h-36 {
    height: calc(var(--spacing) * 36);
  }
  .h-44 {
    height: calc(var(--spacing) * 44);
  }
  .h-96 {
    height: calc(var(--spacing) * 96);
  }
  .h-\[600px\] {
    height: 600px;
  }
  .h-\[calc\(100vh-65px\)\] {
    height: calc(100vh - 65px);
  }
  .h-\[calc\(100vh-200px\)\] {
    height: calc(100vh - 200px);
  }
  .h-fit {
    height: fit-content;
  }
  .h-full {
    height: 100%;
  }
  .h-max {
    height: max-content;
  }
  .h-px {
    height: 1px;
  }
  .h-screen {
    height: 100vh;
  }
  .max-h-0 {
    max-height: calc(var(--spacing) * 0);
  }
  .max-h-64 {
    max-height: calc(var(--spacing) * 64);
  }
  .max-h-72 {
    max-height: calc(var(--spacing) * 72);
  }
  .max-h-96 {
    max-height: calc(var(--spacing) * 96);
  }
  .max-h-\[92vh\] {
    max-height: 92vh;
  }
  .max-h-\[300px\] {
    max-height: 300px;
  }
  .max-h-\[500px\] {
    max-height: 500px;
  }
  .min-h-52 {
    min-height: calc(var(--spacing) * 52);
  }
  .min-h-\[60vh\] {
    min-height: 60vh;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-10\/12 {
    width: calc(10/12 * 100%);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .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-40 {
    width: calc(var(--spacing) * 40);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-96 {
    width: calc(var(--spacing) * 96);
  }
  .w-\[600px\] {
    width: 600px;
  }
  .w-full {
    width: 100%;
  }
  .w-max {
    width: max-content;
  }
  .w-px {
    width: 1px;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-\[1400px\] {
    max-width: 1400px;
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-20 {
    min-width: calc(var(--spacing) * 20);
  }
  .min-w-24 {
    min-width: calc(var(--spacing) * 24);
  }
  .min-w-80 {
    min-width: calc(var(--spacing) * 80);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-full {
    --tw-translate-x: 100%;
    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);
  }
  .translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-rotate-90 {
    rotate: calc(90deg * -1);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-ping {
    animation: var(--animate-ping);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .resize-none {
    resize: none;
  }
  .list-none {
    list-style-type: none;
  }
  .auto-cols-max {
    grid-auto-columns: max-content;
  }
  .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));
  }
  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row-reverse {
    flex-direction: row-reverse;
  }
  .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: calc(var(--spacing) * 0);
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .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-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .gap-px {
    gap: 1px;
  }
  .space-y-0 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1\.5 {
    :where(& > :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)));
    }
  }
  .space-y-2 {
    :where(& > :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)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :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)));
    }
  }
  .space-y-3\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :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)));
    }
  }
  .space-y-5 {
    :where(& > :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)));
    }
  }
  .space-y-6 {
    :where(& > :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)));
    }
  }
  .space-y-8 {
    :where(& > :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)));
    }
  }
  .space-y-10 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-5 {
    column-gap: calc(var(--spacing) * 5);
  }
  .-space-x-1\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * -1.5) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * -1.5) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .divide-y {
    :where(& > :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)));
    }
  }
  .divide-navy-border\/40 {
    :where(& > :not(:last-child)) {
      border-color: color-mix(in srgb, #1e2d40 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-navy-border) 40%, transparent);
      }
    }
  }
  .divide-navy-lighter {
    :where(& > :not(:last-child)) {
      border-color: var(--color-navy-lighter);
    }
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .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-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }
  .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 {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-blue-400\/20 {
    border-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-blue-400) 20%, transparent);
    }
  }
  .border-gray-200 {
    border-color: var(--color-gray-200);
  }
  .border-gray-300 {
    border-color: var(--color-gray-300);
  }
  .border-gray-700 {
    border-color: var(--color-gray-700);
  }
  .border-navy-border {
    border-color: var(--color-navy-border);
  }
  .border-navy-border\/30 {
    border-color: color-mix(in srgb, #1e2d40 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-navy-border) 30%, transparent);
    }
  }
  .border-navy-light {
    border-color: var(--color-navy-light);
  }
  .border-navy-lighter {
    border-color: var(--color-navy-lighter);
  }
  .border-orange-400\/20 {
    border-color: color-mix(in srgb, oklch(75% 0.183 55.934) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-orange-400) 20%, transparent);
    }
  }
  .border-pink-500\/30 {
    border-color: color-mix(in srgb, oklch(65.6% 0.241 354.308) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-pink-500) 30%, transparent);
    }
  }
  .border-primary {
    border-color: var(--color-primary);
  }
  .border-primary-border {
    border-color: var(--color-primary-border);
  }
  .border-primary\/10 {
    border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
    }
  }
  .border-primary\/15 {
    border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 15%, transparent);
    }
  }
  .border-primary\/20 {
    border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
    }
  }
  .border-primary\/30 {
    border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
    }
  }
  .border-primary\/40 {
    border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
    }
  }
  .border-primary\/50 {
    border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
    }
  }
  .border-purple-400\/20 {
    border-color: color-mix(in srgb, oklch(71.4% 0.203 305.504) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-purple-400) 20%, transparent);
    }
  }
  .border-red-400\/10 {
    border-color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-red-400) 10%, transparent);
    }
  }
  .border-red-400\/20 {
    border-color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-red-400) 20%, transparent);
    }
  }
  .border-slate-500 {
    border-color: var(--color-slate-500);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-yellow-400\/15 {
    border-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-yellow-400) 15%, transparent);
    }
  }
  .border-yellow-400\/20 {
    border-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-yellow-400) 20%, transparent);
    }
  }
  .border-yellow-400\/30 {
    border-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-yellow-400) 30%, transparent);
    }
  }
  .border-b-transparent {
    border-bottom-color: transparent;
  }
  .border-l-navy-lighter {
    border-left-color: var(--color-navy-lighter);
  }
  .border-l-primary {
    border-left-color: var(--color-primary);
  }
  .border-l-primary\/50 {
    border-left-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-left-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
    }
  }
  .bg-black\/10 {
    background-color: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }
  .bg-black\/20 {
    background-color: color-mix(in srgb, #000 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }
  .bg-blue-400 {
    background-color: var(--color-blue-400);
  }
  .bg-blue-400\/10 {
    background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-400) 10%, transparent);
    }
  }
  .bg-green-500\/40 {
    background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-500) 40%, transparent);
    }
  }
  .bg-green-500\/50 {
    background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-500) 50%, transparent);
    }
  }
  .bg-green-500\/60 {
    background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-500) 60%, transparent);
    }
  }
  .bg-navy {
    background-color: var(--color-navy);
  }
  .bg-navy-border {
    background-color: var(--color-navy-border);
  }
  .bg-navy-dark {
    background-color: var(--color-navy-dark);
  }
  .bg-navy-dark\/40 {
    background-color: color-mix(in srgb, #020c1b 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-dark) 40%, transparent);
    }
  }
  .bg-navy-dark\/50 {
    background-color: color-mix(in srgb, #020c1b 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-dark) 50%, transparent);
    }
  }
  .bg-navy-dark\/60 {
    background-color: color-mix(in srgb, #020c1b 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-dark) 60%, transparent);
    }
  }
  .bg-navy-light {
    background-color: var(--color-navy-light);
  }
  .bg-navy-light\/30 {
    background-color: color-mix(in srgb, #112240 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-light) 30%, transparent);
    }
  }
  .bg-navy-lighter {
    background-color: var(--color-navy-lighter);
  }
  .bg-navy-lighter\/10 {
    background-color: color-mix(in srgb, #172a45 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-lighter) 10%, transparent);
    }
  }
  .bg-navy\/60 {
    background-color: color-mix(in srgb, #0a192f 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy) 60%, transparent);
    }
  }
  .bg-navy\/80 {
    background-color: color-mix(in srgb, #0a192f 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy) 80%, transparent);
    }
  }
  .bg-navy\/90 {
    background-color: color-mix(in srgb, #0a192f 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy) 90%, transparent);
    }
  }
  .bg-orange-400 {
    background-color: var(--color-orange-400);
  }
  .bg-orange-400\/10 {
    background-color: color-mix(in srgb, oklch(75% 0.183 55.934) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-orange-400) 10%, transparent);
    }
  }
  .bg-pink-500\/15 {
    background-color: color-mix(in srgb, oklch(65.6% 0.241 354.308) 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-pink-500) 15%, transparent);
    }
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .bg-primary-dim {
    background-color: var(--color-primary-dim);
  }
  .bg-primary\/5 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-primary) 5%, transparent);
    }
  }
  .bg-primary\/10 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
    }
  }
  .bg-primary\/15 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-primary) 15%, transparent);
    }
  }
  .bg-primary\/20 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
    }
  }
  .bg-primary\/40 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
    }
  }
  .bg-purple-400 {
    background-color: var(--color-purple-400);
  }
  .bg-purple-400\/10 {
    background-color: color-mix(in srgb, oklch(71.4% 0.203 305.504) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-purple-400) 10%, transparent);
    }
  }
  .bg-red-400 {
    background-color: var(--color-red-400);
  }
  .bg-red-400\/5 {
    background-color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-400) 5%, transparent);
    }
  }
  .bg-red-400\/10 {
    background-color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-400) 10%, transparent);
    }
  }
  .bg-red-500\/40 {
    background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-500) 40%, transparent);
    }
  }
  .bg-red-500\/50 {
    background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-500) 50%, transparent);
    }
  }
  .bg-red-500\/60 {
    background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-500) 60%, transparent);
    }
  }
  .bg-slate {
    background-color: var(--color-slate);
  }
  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }
  .bg-slate-dark {
    background-color: var(--color-slate-dark);
  }
  .bg-slate-lighter {
    background-color: var(--color-slate-lighter);
  }
  .bg-slate\/10 {
    background-color: color-mix(in srgb, #8892b0 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate) 10%, transparent);
    }
  }
  .bg-teal-400\/40 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-teal-400) 40%, transparent);
    }
  }
  .bg-teal-400\/50 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-teal-400) 50%, transparent);
    }
  }
  .bg-teal-400\/60 {
    background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-teal-400) 60%, transparent);
    }
  }
  .bg-teal-600 {
    background-color: var(--color-teal-600);
  }
  .bg-teal-400 {
    background-color: var(--color-teal-400);
  }
  .bg-yellow-400 {
    background-color: var(--color-yellow-400);
  }
  .bg-yellow-400\/5 {
    background-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-yellow-400) 5%, transparent);
    }
  }
  .bg-yellow-400\/10 {
    background-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-yellow-400) 10%, transparent);
    }
  }
  .bg-yellow-400\/50 {
    background-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-yellow-400) 50%, transparent);
    }
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-transparent {
    --tw-gradient-from: 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));
  }
  .via-primary\/60 {
    --tw-gradient-via: color-mix(in srgb, oklch(77.7% 0.152 181.912) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-primary) 60%, 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);
  }
  .via-primary\/80 {
    --tw-gradient-via: color-mix(in srgb, oklch(77.7% 0.152 181.912) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-primary) 80%, 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-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));
  }
  .stroke-teal-500 {
    stroke: var(--color-teal-500);
  }
  .object-cover {
    object-fit: cover;
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-7 {
    padding: calc(var(--spacing) * 7);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-10 {
    padding: calc(var(--spacing) * 10);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .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);
  }
  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }
  .px-12 {
    padding-inline: calc(var(--spacing) * 12);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .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-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .py-24 {
    padding-block: calc(var(--spacing) * 24);
  }
  .py-32 {
    padding-block: calc(var(--spacing) * 32);
  }
  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }
  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }
  .pt-20 {
    padding-top: calc(var(--spacing) * 20);
  }
  .pt-28 {
    padding-top: calc(var(--spacing) * 28);
  }
  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-32 {
    padding-bottom: calc(var(--spacing) * 32);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-mono {
    font-family: var(--font-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-7xl {
    font-size: var(--text-7xl);
    line-height: var(--tw-leading, var(--text-7xl--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-\[9px\] {
    font-size: 9px;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[22px\] {
    font-size: 22px;
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-loose {
    --tw-leading: var(--leading-loose);
    line-height: var(--leading-loose);
  }
  .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-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-700 {
    color: var(--color-gray-700);
  }
  .text-gray-900 {
    color: var(--color-gray-900);
  }
  .text-green-400 {
    color: var(--color-green-400);
  }
  .text-navy {
    color: var(--color-navy);
  }
  .text-navy-dark {
    color: var(--color-navy-dark);
  }
  .text-navy-lighter {
    color: var(--color-navy-lighter);
  }
  .text-navy\/50 {
    color: color-mix(in srgb, #0a192f 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-navy) 50%, transparent);
    }
  }
  .text-orange-400 {
    color: var(--color-orange-400);
  }
  .text-pink-400 {
    color: var(--color-pink-400);
  }
  .text-primary {
    color: var(--color-primary);
  }
  .text-primary\/40 {
    color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-primary) 40%, transparent);
    }
  }
  .text-purple-400 {
    color: var(--color-purple-400);
  }
  .text-red-400 {
    color: var(--color-red-400);
  }
  .text-red-400\/60 {
    color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-red-400) 60%, transparent);
    }
  }
  .text-slate {
    color: var(--color-slate);
  }
  .text-slate-dark {
    color: var(--color-slate-dark);
  }
  .text-slate-light {
    color: var(--color-slate-light);
  }
  .text-slate-lighter {
    color: var(--color-slate-lighter);
  }
  .text-teal-400 {
    color: var(--color-teal-400);
  }
  .text-teal-500 {
    color: var(--color-teal-500);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/50 {
    color: color-mix(in srgb, #fff 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }
  .text-yellow-400 {
    color: var(--color-yellow-400);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .no-underline {
    text-decoration-line: none;
  }
  .placeholder-slate-dark {
    &::placeholder {
      color: var(--color-slate-dark);
    }
  }
  .accent-primary {
    accent-color: var(--color-primary);
  }
  .opacity-20 {
    opacity: 20%;
  }
  .opacity-25 {
    opacity: 25%;
  }
  .opacity-30 {
    opacity: 30%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-75 {
    opacity: 75%;
  }
  .opacity-\[0\.03\] {
    opacity: 0.03;
  }
  .opacity-\[0\.025\] {
    opacity: 0.025;
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_24px_64px_-16px_rgba\(2\,12\,27\,\.9\)\] {
    --tw-shadow: 0 24px 64px -16px var(--tw-shadow-color, rgba(2,12,27,.9));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --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-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);
  }
  .ring-3 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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-4 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + 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);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .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,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -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-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-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .group-hover\:top-4 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        top: calc(var(--spacing) * 4);
      }
    }
  }
  .group-hover\:left-4 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        left: calc(var(--spacing) * 4);
      }
    }
  }
  .group-hover\:bg-primary\/15 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 15%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-primary) 15%, transparent);
        }
      }
    }
  }
  .group-hover\:text-primary {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-primary);
      }
    }
  }
  .group-hover\:text-slate-light {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-slate-light);
      }
    }
  }
  .group-hover\:text-slate-lighter {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-slate-lighter);
      }
    }
  }
  .group-hover\:text-teal-400 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-teal-400);
      }
    }
  }
  .hover\:-translate-y-0\.5 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:-translate-y-1 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:border-primary-border {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-primary-border);
      }
    }
  }
  .hover\:border-primary\/30 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 30%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
        }
      }
    }
  }
  .hover\:border-primary\/40 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 40%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
        }
      }
    }
  }
  .hover\:border-slate {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-slate);
      }
    }
  }
  .hover\:border-l-primary {
    &:hover {
      @media (hover: hover) {
        border-left-color: var(--color-primary);
      }
    }
  }
  .hover\:bg-navy-light {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-navy-light);
      }
    }
  }
  .hover\:bg-navy-light\/20 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #112240 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-navy-light) 20%, transparent);
        }
      }
    }
  }
  .hover\:bg-navy-light\/30 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #112240 30%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-navy-light) 30%, transparent);
        }
      }
    }
  }
  .hover\:bg-navy-lighter {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-navy-lighter);
      }
    }
  }
  .hover\:bg-navy-lighter\/30 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #172a45 30%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-navy-lighter) 30%, transparent);
        }
      }
    }
  }
  .hover\:bg-primary-dim {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-primary-dim);
      }
    }
  }
  .hover\:bg-primary\/35 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 35%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-primary) 35%, transparent);
        }
      }
    }
  }
  .hover\:bg-slate-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-800);
      }
    }
  }
  .hover\:text-primary {
    &:hover {
      @media (hover: hover) {
        color: var(--color-primary);
      }
    }
  }
  .hover\:text-red-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-300);
      }
    }
  }
  .hover\:text-red-400 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-400);
      }
    }
  }
  .hover\:text-slate-light {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-light);
      }
    }
  }
  .hover\:text-slate-lighter {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-lighter);
      }
    }
  }
  .hover\:text-teal-400 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-teal-400);
      }
    }
  }
  .hover\:text-teal-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-teal-500);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
  .hover\:opacity-90 {
    &:hover {
      @media (hover: hover) {
        opacity: 90%;
      }
    }
  }
  .hover\:opacity-95 {
    &:hover {
      @media (hover: hover) {
        opacity: 95%;
      }
    }
  }
  .hover\:shadow-\[0_8px_32px_-8px_rgba\(2\,12\,27\,\.8\)\] {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 8px 32px -8px var(--tw-shadow-color, rgba(2,12,27,.8));
        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-\[0_12px_32px_-8px_rgba\(2\,12\,27\,\.9\)\] {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 12px 32px -8px var(--tw-shadow-color, rgba(2,12,27,.9));
        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-\[0_16px_40px_-12px_rgba\(2\,12\,27\,\.9\)\] {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 16px 40px -12px var(--tw-shadow-color, rgba(2,12,27,.9));
        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-primary-border {
    &:focus {
      border-color: var(--color-primary-border);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .sm\:col-span-6 {
    @media (width >= 40rem) {
      grid-column: span 6 / span 6;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-4 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-5 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .md\:col-span-4 {
    @media (width >= 48rem) {
      grid-column: span 4 / span 4;
    }
  }
  .md\:col-span-5 {
    @media (width >= 48rem) {
      grid-column: span 5 / span 5;
    }
  }
  .md\:col-span-6 {
    @media (width >= 48rem) {
      grid-column: span 6 / span 6;
    }
  }
  .md\:col-span-7 {
    @media (width >= 48rem) {
      grid-column: span 7 / span 7;
    }
  }
  .md\:col-span-8 {
    @media (width >= 48rem) {
      grid-column: span 8 / span 8;
    }
  }
  .md\:mt-0 {
    @media (width >= 48rem) {
      margin-top: calc(var(--spacing) * 0);
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:w-7\/12 {
    @media (width >= 48rem) {
      width: calc(7/12 * 100%);
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-\[220px_1fr\] {
    @media (width >= 48rem) {
      grid-template-columns: 220px 1fr;
    }
  }
  .md\:gap-12 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 12);
    }
  }
  .md\:gap-14 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 14);
    }
  }
  .md\:text-base {
    @media (width >= 48rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .lg\:fixed {
    @media (width >= 64rem) {
      position: fixed;
    }
  }
  .lg\:top-0 {
    @media (width >= 64rem) {
      top: calc(var(--spacing) * 0);
    }
  }
  .lg\:order-1 {
    @media (width >= 64rem) {
      order: 1;
    }
  }
  .lg\:order-2 {
    @media (width >= 64rem) {
      order: 2;
    }
  }
  .lg\:col-span-1 {
    @media (width >= 64rem) {
      grid-column: span 1 / span 1;
    }
  }
  .lg\:col-span-2 {
    @media (width >= 64rem) {
      grid-column: span 2 / span 2;
    }
  }
  .lg\:col-span-3 {
    @media (width >= 64rem) {
      grid-column: span 3 / span 3;
    }
  }
  .lg\:col-span-4 {
    @media (width >= 64rem) {
      grid-column: span 4 / span 4;
    }
  }
  .lg\:col-span-5 {
    @media (width >= 64rem) {
      grid-column: span 5 / span 5;
    }
  }
  .lg\:col-span-7 {
    @media (width >= 64rem) {
      grid-column: span 7 / span 7;
    }
  }
  .lg\:col-span-8 {
    @media (width >= 64rem) {
      grid-column: span 8 / span 8;
    }
  }
  .lg\:col-span-11 {
    @media (width >= 64rem) {
      grid-column: span 11 / span 11;
    }
  }
  .lg\:col-span-12 {
    @media (width >= 64rem) {
      grid-column: span 12 / span 12;
    }
  }
  .lg\:ml-60 {
    @media (width >= 64rem) {
      margin-left: calc(var(--spacing) * 60);
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:h-screen {
    @media (width >= 64rem) {
      height: 100vh;
    }
  }
  .lg\:max-h-full {
    @media (width >= 64rem) {
      max-height: 100%;
    }
  }
  .lg\:w-10\/12 {
    @media (width >= 64rem) {
      width: calc(10/12 * 100%);
    }
  }
  .lg\:w-60 {
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 60);
    }
  }
  .lg\:w-72 {
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 72);
    }
  }
  .lg\:grid-cols-1 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-5 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-6 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-12 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-\[1fr_240px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 240px;
    }
  }
  .lg\:grid-cols-\[1fr_340px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 340px;
    }
  }
  .lg\:grid-cols-\[1fr_256px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 256px;
    }
  }
  .lg\:grid-cols-\[1fr_260px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 260px;
    }
  }
  .lg\:grid-cols-\[1fr_272px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 272px;
    }
  }
  .lg\:grid-cols-\[1fr_280px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 280px;
    }
  }
  .lg\:grid-cols-\[1fr_300px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 300px;
    }
  }
  .lg\:grid-cols-\[1fr_320px\] {
    @media (width >= 64rem) {
      grid-template-columns: 1fr 320px;
    }
  }
  .lg\:grid-cols-\[280px_1fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 280px 1fr;
    }
  }
  .lg\:grid-cols-\[340px_1fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 340px 1fr;
    }
  }
  .lg\:flex-col {
    @media (width >= 64rem) {
      flex-direction: column;
    }
  }
  .lg\:flex-row {
    @media (width >= 64rem) {
      flex-direction: row;
    }
  }
  .lg\:gap-4 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 4);
    }
  }
  .md\:gap-8 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 8);
    }
  }
  .lg\:overflow-visible {
    @media (width >= 64rem) {
      overflow: visible;
    }
  }
  .lg\:border-r {
    @media (width >= 64rem) {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
  .lg\:border-b-0 {
    @media (width >= 64rem) {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
  }
  .lg\:p-8 {
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .lg\:p-10 {
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 10);
    }
  }
  .lg\:px-0 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 0);
    }
  }
  .lg\:px-4 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .lg\:py-24 {
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 24);
    }
  }
  .lg\:pt-0 {
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .lg\:pt-20 {
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 20);
    }
  }
  .lg\:pr-8 {
    @media (width >= 64rem) {
      padding-right: calc(var(--spacing) * 8);
    }
  }
  .lg\:pl-8 {
    @media (width >= 64rem) {
      padding-left: calc(var(--spacing) * 8);
    }
  }
  .lg\:text-7xl {
    @media (width >= 64rem) {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .lg\:shadow-2xl {
    @media (width >= 64rem) {
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .xl\:ml-80 {
    @media (width >= 80rem) {
      margin-left: calc(var(--spacing) * 80);
    }
  }
  .xl\:w-10\/12 {
    @media (width >= 80rem) {
      width: calc(10/12 * 100%);
    }
  }
  .xl\:w-72 {
    @media (width >= 80rem) {
      width: calc(var(--spacing) * 72);
    }
  }
  .xl\:w-80 {
    @media (width >= 80rem) {
      width: calc(var(--spacing) * 80);
    }
  }
  .xl\:w-96 {
    @media (width >= 80rem) {
      width: calc(var(--spacing) * 96);
    }
  }
  .xl\:grid-cols-5 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .xl\:grid-cols-6 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
  .xl\:grid-cols-\[360px_1fr\] {
    @media (width >= 80rem) {
      grid-template-columns: 360px 1fr;
    }
  }
  .xl\:flex-row {
    @media (width >= 80rem) {
      flex-direction: row;
    }
  }
  .xl\:items-center {
    @media (width >= 80rem) {
      align-items: center;
    }
  }
  .xl\:gap-24 {
    @media (width >= 80rem) {
      gap: calc(var(--spacing) * 24);
    }
  }
  .xl\:p-6 {
    @media (width >= 80rem) {
      padding: calc(var(--spacing) * 6);
    }
  }
  .xl\:p-8 {
    @media (width >= 80rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .xl\:px-8 {
    @media (width >= 80rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .\32 xl\:px-4 {
    @media (width >= 96rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
}
@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-space-x-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: 0px;
}
@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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@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-space-x-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-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}


/* style.css end */

/* responsive.css start */
@media only screen and (max-width: 540px) {
    .project {
        display: unset;
    }
    .project > div {
        margin-bottom: 20px;
    }
    .project:nth-of-type(2n+1) .project-content {
        text-align: left;
    }
    .project:nth-of-type(2n+1) .project-links {
        justify-content: flex-start;
    }
}
/* responsive.css end */

/* custom.css start */
@import url("./fonts.css");

:root {
	--primary-color: oklch(77.7% 0.152 181.912);
	--primary-dim: rgba(0, 213, 190, 0.07);
	--primary-border: rgba(0, 213, 190, 0.07);
	--dark-navy: #020c1b;
	--navy: #0a192f;
	--light-navy: #112240;
	--lightest-navy: #233554;
	--navy-shadow: rgba(2, 12, 27, 0.7);
	--dark-slate: #495670;
	--slate: #8892b0;
	--light-slate: #a8b2d1;
	--lightest-slate: #ccd6f6;

	--font-dm-sans: "DM Sans", sans-serif;
	--font-grotesk: "Space Grotesk", sans-serif;
	--font-roboto-mono: "Roboto Mono", monospace;
	--font-teko: "Teko", sans-serif;

	--font-sans:
		"Calibre", "Inter", "San Francisco", "SF Pro Text", -apple-system,
		system-ui, sans-serif;
	--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;
}

body {
	/* background: #0a0f14; */
	background: #0a192f;
	font-family: var(--font-sans);
}

/* Typography */
button,
a:not(nav a) {
    font-family: var(--font-roboto-mono);
	cursor: pointer;
}
main a:hover:not(.blog-card, .related-post, .social-link) {
    text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--lightest-slate);
}
p {
	color: var(--light-slate);
	line-height: 1.3;
}

main ul li,
main code,
main pre,
main blockquote p {
	color: var(--light-slate);
}
p.content,
ul.content,
ol.content,
span.content,
.content p,
.content span:not(.skill-pill),
.content button,
.content a,
.content div,
.content strong,
.content ol li,
.content table *,
.content ul li,
.content code,
.content pre,
.content blockquote p {
    font-family: var(--font-sans);
    font-size: 1.125rem;
	line-height: 1.3;
}
.content blockquote {
  border-left: 2px solid var(--primary-color);
  padding-left: 1.25rem; /* pl-5 */
  padding-top: 0.25rem;  /* py-1 */
  padding-bottom: 0.25rem;
  background-color: var(--primary-dim);
}
.content blockquote p {
    font-style: italic;
}
.content a {
    color: var(--primary-color) !important;
}
.stack {
	color: var(--slate);
}

/* Fonts */
.text-sf-mono {
	font-family: "SF Mono", monospace;
}
.text-calibre,
.font-sans {
	font-family: var(--font-sans);
}
.text-dm-sans {
	font-family: var(--font-dm-sans);
}
.text-grotesk {
	font-family: var(--font-grotesk);
}
.font-roboto-mono {
	font-family: var(--font-roboto-mono);
}
.font-teko {
	font-family: var(--font-teko);
}
.text-teal-400 {
	color: var(--primary-color) !important;
}
/* Header */
.menu-toggle {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border: hidden;
	transition: all 250ms ease-in-out;
	cursor: pointer;
}

.menu-bar {
	position: absolute;
	width: 15px;
	height: 1.5px;
	background: #ffffff;
	transition-property: transform;
	transition: all 250ms ease-out;
}

.menu-bar[data-position="top"] {
	transform: translateY(-3px);
}

.menu-bar[data-position="bottom"] {
	transform: translateY(3px);
}

.menu-toggle.active .menu-bar[data-position="top"] {
	transform: translateY(0) rotate(45deg) scaleX(1.05);
}

.menu-toggle.active .menu-bar[data-position="bottom"] {
	transform: translateY(0) rotate(-45deg) scaleX(1.05);
}

/* Section Employment History */
.tab-content {
	opacity: 0;
	transform: translateY(10px);
	transition: all 0.4s ease-in-out;
	display: none;
}
.tab-content.active {
	display: block;
	opacity: 1;
	transform: translateY(0);
}
.indicator {
	position: absolute;
	left: -2px;
	width: 2px;
	height: 40px;
	background-color: var(--primary-color);
	transition: transform 0.3s ease-in-out;
}

/* Services */
.numbered-label::before {
	content: attr(data-num) ". ";
}

/* group-hover for nested svg color — JS-free approach */
.card-group:hover .icon-svg {
	color: var(--primary-color);
}
.card-group:hover .card-num {
	color: var(--primary-color);
	opacity: 1;
}

/* scroll reveal */
.reveal {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 0.5s ease,
		transform 0.5s ease;
}
.reveal.visible {
	opacity: 1;
	transform: none;
}
.reveal:nth-child(2) {
	transition-delay: 0.1s;
}
.reveal:nth-child(3) {
	transition-delay: 0.2s;
}
.reveal:nth-child(4) {
	transition-delay: 0.3s;
}
.reveal:nth-child(5) {
	transition-delay: 0.4s;
}
.reveal:nth-child(6) {
	transition-delay: 0.5s;
}

/* Projects */
.project {
	position: relative;
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(12, 1fr);
	-webkit-box-align: center;
	align-items: center;
}
.project .project-content {
	position: relative;
	grid-area: 1 / 1 / -1 / 7;
	z-index: 1;
}
.project:nth-of-type(2n + 1) .project-content {
	grid-column: 7 / -1;
	text-align: right;
	z-index: 1;
}
.project .project-image {
	box-shadow: 0 10px 30px -15px var(--navy-shadow);
	transition: var(--transition);
	grid-area: 1 / 6 / -1 / -1;
	position: relative;
	z-index: 1;
}
.project-links svg,
.project-links img {
	width: 20px;
    max-height: 20px;
	color: var(--lightest-slate);
}
.project:nth-of-type(2n + 1) .project-image {
	grid-column: 1 / 8;
}
.project:nth-of-type(2n + 1) .project-tech-list {
	-webkit-box-pack: end;
	justify-content: flex-end;
}
.project:nth-of-type(2n + 1) .project-links {
	-webkit-box-pack: end;
	justify-content: flex-end;
}

.social svg {
	width: 16px;
	color: var(--light-slate);
}

/* Case Study Page */
.reveal {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.55s ease,
		transform 0.55s ease;
}
.reveal.in {
	opacity: 1;
	transform: none;
}
.reveal-d1 {
	transition-delay: 0.1s;
}
.reveal-d2 {
	transition-delay: 0.2s;
}
.reveal-d3 {
	transition-delay: 0.3s;
}
.reveal-d4 {
	transition-delay: 0.4s;
}
/* sidebar active */
.nav-link:hover,
.nav-link.active {
	color: oklch(77.7% 0.152 181.912);
}
/* mobile nav */
#mobileNav.open {
	max-height: 400px !important;
	padding-top: 0.75rem;
}
/* section divider */
.sec-label::before {
	content: attr(data-num) ". ";
	color: var(--primary-color);
	font-family: "Roboto Mono", monospace;
}
/* challenge card hover */
.ch-card:hover {
	border-color: rgba(0, 213, 190, 0.18);
	transform: translateY(-4px);
}
/* solution row hover */
.sol-row:hover {
	border-color: var(--border);
}
/* swatch hover */
.swatch-wrap:hover .swatch-hex {
	opacity: 1;
}
.swatch-hex {
	opacity: 0;
	transition: opacity 0.2s;
}
/* bar anim */
@keyframes barFill {
	from {
		width: 0;
	}
}
.bar-fill {
	animation: barFill 0.9s ease forwards;
}
/* gradient text */
.grad-text {
	background: var(--primary-color);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.grad-text-2 {
    background: linear-gradient(135deg, #0f172a 0%, #00d5be 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Blog */
.tag-filter.active {
	background: var(--primary-dim);
	border-color: var(--primary-border);
	color: oklch(77.7% 0.152 181.912);
}
.blog-card:hover .post-title {
	color: oklch(77.7% 0.152 181.912);
}

/* Legal */
.font-mono {
	font-family: "Roboto Mono", monospace;
}
#read-progress {
	transition: width 0.1s linear;
}
#mobileNav.open {
	max-height: 400px !important;
	padding-top: 0.75rem;
}
.tab-btn.active {
	background: rgba(239, 177, 0, 0.07);
	border-color: rgba(239, 177, 0, 0.4);
	color: oklch(77.7% 0.152 181.912);
}
/* legal prose */
.legal h2 {
	font-weight: 700;
	font-size: 1.6rem;
	color: #ccd6f6;
	margin: 2.5rem 0 0.8rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #233554;
}
.legal h3 {
	font-weight: 600;
	font-size: 1.2rem;
	color: #a8b2d1;
	margin: 1.8rem 0 0.6rem;
}
.legal p {
	color: #8892b0;
	margin-bottom: 1.1rem;
	font-size: 18px;
}
.legal ul {
	list-style: none;
	margin: 1rem 0 1.2rem;
	padding: 0;
}
.legal ul li {
	position: relative;
	color: #8892b0;
}
.legal a {
	color: oklch(77.7% 0.152 181.912);
	text-decoration: underline;
	text-decoration-color: rgba(0, 213, 190, 0.3);
}
.legal strong {
	color: #ccd6f6;
}
.legal .notice {
	border-left: 2px solid var(--primary-border);
	padding: 0.6rem 1.1rem;
	background: rgba(0, 213, 190, 0.07);
	margin-bottom: 2rem;
}
.legal .notice p {
	margin-bottom: 0;
	font-family: "Roboto Mono", monospace;
	font-size: 0.78rem;
	color: #a8b2d1;
	line-height: 1.7;
}

/* Blog */
/* prose */
.prose p {
	color: #a8b2d1;
}
.prose h2 {
	font-weight: 700;
	font-size: 1.8rem;
	color: #ccd6f6;
}
.prose h3 {
	font-weight: 600;
	font-size: 1.3rem;
	color: #ccd6f6;
}
.prose ul {
	list-style: none;
	margin: 1rem 0 1.3rem;
	padding: 0;
}
.prose ul li {
	padding-left: 1.4rem;
	position: relative;
	color: #a8b2d1;
}
/* .prose ul li::before {
	content: "▹";
	position: absolute;
	left: 0;
	color: var(--primary-color);
	font-family: monospace;
} */
.prose ol {
	counter-reset: pc;
	margin: 1rem 0 1.3rem;
	padding: 0;
}
.prose ol li {
	counter-increment: pc;
	padding-left: 2rem;
	position: relative;
	color: #a8b2d1;
}
.prose ol li::before {
	content: counter(pc) ".";
	position: absolute;
	left: 0;
	color: var(--primary-color);
	font-family: "Roboto Mono", monospace;
	font-size: 0.85rem;
	top: 0.15rem;
}
.prose blockquote {
	border-left: 2px solid var(--primary-color);
	padding: 0.6rem 1.2rem;
	margin: 1.5rem 0;
	background: rgba(0, 213, 190, 0.07);
}
.prose blockquote p {
	color: #ccd6f6;
	font-style: italic;
	margin-bottom: 0;
}
.prose pre {
	background: #020c1b;
	border: 1px solid #233554;
	padding: 1.2rem 1.4rem;
	margin: 1.3rem 0;
	overflow-x: auto;
	border-radius: 0;
}
.prose code {
	font-family: "Roboto Mono", monospace;
	font-size: 0.86rem;
	color: var(--primary-color);
	background: rgba(0, 213, 190, 0.07);
	border: 1px solid rgba(0, 213, 190, 0.18);
	padding: 0.1rem 0.35rem;
}
.prose pre code {
	background: none;
	border: none;
	padding: 0;
	color: #a8b2d1;
}
.prose a {
	color: var(--primary-color);
	text-decoration: none;
	text-decoration-color: rgba(0, 213, 190, 0.3);
}
.prose hr {
	border: none;
	border-top: 1px solid #233554;
	margin: 2.5rem 0;
}
.prose strong {
	color: #ccd6f6;
}

/* Services */
.scard:hover {
	border-color: rgba(0, 213, 190, 0.4);
	transform: translateY(-4px);
	box-shadow: 0 16px 40px -8px rgba(2, 12, 27, 0.9);
}
.scard:hover .scard-icon {
	color: oklch(77.7% 0.152 181.912);
}
.scard:hover .scard-num {
	color: var(--primary-color);
	opacity: 1;
}
.grad-text {
	background: linear-gradient(135deg, #ccd6f6, var(--primary-color));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Contact */
/* .form-field {
	width: 100%;
	background: #020c1b;
	border: 1px solid #233554;
	padding: 0.75rem 1rem;
	font-family: "Roboto Mono", monospace;
	font-size: 0.85rem;
	color: #ccd6f6;
	transition: border-color 0.2s;
}
.form-field::placeholder {
	color: #495670;
}
.form-field:focus {
	outline: none;
	border-color: rgba(0, 213, 190, 0.4);
}
.grad-text {
	background: linear-gradient(135deg, #ccd6f6, var(--primary-color));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
#success-state {
	display: none;
}
.budget-opt input {
	display: none;
}
.budget-opt:has(input:checked) {
	border-color: rgba(0, 213, 190, 0.4);
	background: rgba(0, 213, 190, 0.07);
}
.budget-opt:has(input:checked) span {
	color: var(--primary-color);
} */
 /* ── form fields ── */
    .form-field {
      width: 100%;
      background: #020c1b;
      border: 1px solid #233554;
      padding: .85rem 1rem;
      font-family: 'Roboto Mono', monospace;
      color: #ccd6f6;
      outline: none;
      transition: border-color .2s ease, box-shadow .2s ease;
    }
    .form-field::placeholder { color: #495670; }
    .form-field:focus {
      border-color: rgba(0, 213, 190,.5);
      box-shadow: 0 0 0 3px rgba(0, 213, 190,.06);
    }
    .form-field:focus + .field-label,
    .form-field:not(:placeholder-shown) + .field-label {
      transform: translateY(-2rem) scale(.85);
      color: var(--primary-color);
    }

    /* ── floating label ── */
    .field-wrap { position: relative; }
    .field-label {
      position: absolute;
      left: 1rem;
      top: .65rem;
      font-family: 'Roboto Mono', monospace;
      color: #495670;
      pointer-events: none;
      transform-origin: left top;
      transition: transform .18s ease, color .18s ease;
    }
    /* for select, always float label */
    .field-label.always-up {
      transform: translateY(-1.6rem) scale(.85);
      color: #8892b0;
    }

    /* ── radio / budget pills ── */
    .budget-pill input { display: none; }
    .budget-pill label {
      display: block;
      font-family: 'Roboto Mono', monospace;
      color: #8892b0;
      border: 1px solid #233554;
      padding: .45rem .9rem;
      cursor: pointer;
      transition: border-color .18s, color .18s, background .18s;
      text-align: center;
    }
    .budget-pill input:checked + label {
      border-color: rgba(0, 213, 190,.5);
      color: var(--primary-color);
      background: rgba(0, 213, 190,.07);
    }
    .budget-pill label:hover { border-color: rgba(0, 213, 190,.3); color: #ccd6f6; }

    /* ── service checkbox ── */
    .service-check input { display: none; }
    .service-check label {
      display: flex;
      align-items: center;
      gap: .55rem;
      font-family: 'Roboto Mono', monospace;
      color: #8892b0;
      cursor: pointer;
      transition: color .18s;
    }
    .service-check label .check-box {
      width: 1rem; height: 1rem;
      border: 1px solid #233554;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      transition: border-color .18s, background .18s;
    }
    .service-check label .check-icon { opacity: 0; transition: opacity .15s; }
    .service-check input:checked + label { color: var(--primary-color); }
    .service-check input:checked + label .check-box {
      border-color: var(--primary-color);
      background: rgba(0, 213, 190,.1);
    }
    .service-check input:checked + label .check-icon { opacity: 1; }
    .service-check label:hover { color: #ccd6f6; }

    /* ── submit button ── */
    .submit-btn {
      position: relative;
      overflow: hidden;
    }
    .submit-btn::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,.12) 100%);
      opacity: 0;
      transition: opacity .25s;
    }
    .submit-btn:hover::after { opacity: 1; }
    .submit-btn .btn-shine {
      position: absolute;
      top: 0; left: -75%;
      width: 50%; height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
      transform: skewX(-20deg);
      transition: left .5s ease;
    }
    .submit-btn:hover .btn-shine { left: 130%; }

    /* ── input validation states ── */
    .form-field.valid   { border-color: rgba(100,220,100,.4); }
    .form-field.invalid { border-color: rgba(255,80,80,.45); }

    /* ── char counter ── */
    #msg-count { transition: color .2s; }
    #msg-count.warn { color: var(--primary-color); }
    #msg-count.over { color: #ff5f5f; }

    /* ── glow orb ── */
    @keyframes orbPulse { 0%,100%{opacity:.04} 50%{opacity:.09} }
    .orb { animation: orbPulse 5s ease-in-out infinite; }

    /* ── success animation ── */
    @keyframes scaleIn { from{opacity:0;transform:scale(.85)} to{opacity:1;transform:scale(1)} }
    #success-state { animation: scaleIn .4s ease forwards; }

    /* ── decorative line ── */
    .deco-line::before {
      content: '';
      display: inline-block;
      vertical-align: middle;
      width: clamp(30px, 6vw, 80px);
      height: 1px;
      background: rgba(0, 213, 190,.35);
      margin-right: .75rem;
    }

    /* ── social link hover ── */
    .social-link:hover .social-icon { color: var(--primary-color); }
    .social-link:hover .social-label { color: #ccd6f6; }

    /* ── availability dot ── */
    @keyframes ping { 75%,100%{transform:scale(2);opacity:0} }
    .ping { animation: ping 1.4s cubic-bezier(0,0,.2,1) infinite; }

.upload-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* DROP ZONE */
.drop-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100%;
    padding: 40px 20px;

    border: 2px dashed #475569;
    border-radius: 10px;

    cursor: pointer;
    text-align: center;

    transition: all 0.25s ease;
}

.drop-zone:hover {
    border-color: #64ffda;
    background: rgba(100, 255, 218, 0.03);
}

.drop-zone.drag-active {
    border-color: #64ffda;
    background: rgba(100, 255, 218, 0.08);
}

/* ICON */
.drop-icon {
    width: 42px;
    height: 42px;
    color: #64748b;
    margin-bottom: 10px;
}

/* TEXT */
.drop-text {
    font-size: 14px;
    color: #94a3b8;
}

/* HIDDEN INPUT */
.file-input {
    display: none;
}

/* PREVIEW LIST */
.file-preview {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* FILE ITEM */
.file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #0f172a;
    border: 1px solid #1e293b;

    padding: 10px 14px;
    border-radius: 6px;
}
.file-error {
    font-size: 12px;
    color: #f87171;
    margin-top: 5px;
}
/* LEFT SIDE */
.file-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* FILE ICON */
.file-icon {
    width: 18px;
    height: 18px;
    color: #64ffda;
}

/* FILE NAME */
.file-name {
    font-size: 13px;
    color: #e2e8f0;
}

/* FILE SIZE */
.file-size {
    font-size: 11px;
    color: #94a3b8;
}

/* REMOVE BUTTON */
.file-remove {
    font-size: 11px;
    color: #f87171;
    cursor: pointer;
    border: none;
    background: transparent;
}

.file-remove:hover {
    color: #ef4444;
}

/* About */
.tab-btn.active {
	background: var(--primary-dim);
	border-color: var(--primary-border);
	color: var(--primary-color);
}
.skill-bar-fill {
	animation: barFill 0.9s ease forwards;
}
@keyframes barFill {
	from {
		width: 0;
	}
}
.exp-item:hover {
	border-left-color: var(--primary-color);
}
.grad-text {
	background: linear-gradient(135deg, #ccd6f6, var(--primary-color));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Portfolio */
.filter-btn.active {
	background: var(--primary-dim);
	border-color: var(--primary-border);
	color: var(--primary-color);
}
.proj-card:hover {
	border-color: rgba(0, 213, 190, 0.4);
	transform: translateY(-4px);
	box-shadow: 0 20px 40px -12px rgba(2, 12, 27, 0.9);
}
.proj-card:hover .proj-title {
	color: var(--primary-color);
}
.proj-card:hover .proj-links {
	opacity: 1;
}
.proj-links {
	opacity: 0;
	transition: opacity 0.2s ease;
}
.grad-text {
	background: linear-gradient(135deg, #ccd6f6, var(--primary-color));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
/* noteworthy (small) cards */
.note-card:hover {
	border-color: rgba(0, 213, 190, 0.4);
	transform: translateY(-3px);
}
.note-card:hover .note-title {
	color: var(--primary-color);
}

/* Resume */
/* skill pill */
.skill-pill {
	font-family: "Roboto Mono", monospace;
	color: #a8b2d1;
	border: 1px solid #233554;
	padding: 0.2rem 0.6rem;
	display: inline-block;
	transition:
		border-color 0.2s,
		color 0.2s;
}
.skill-pill:hover {
	border-color: rgba(0, 213, 190, 0.4);
	color: var(--primary-color);
}
/* print styles */
@media print {
	body {
		background: #fff !important;
	}
	header,
	.no-print,
	footer {
		display: none !important;
	}
	main {
		margin-left: 0 !important;
	}
	.bg-navy-dark,
	.bg-navy,
	.bg-navy-light {
		background: #fff !important;
	}
	.text-slate-lighter {
		color: #111 !important;
	}
	.text-slate {
		color: #444 !important;
	}
	.text-teal-400 {
		color: #7a5c00 !important;
	}
	.border-navy-lighter,
	.border-navy-light {
		border-color: #ddd !important;
	}
	.bg-primary-dim {
		background: transparent !important;
	}
	.border-primary-border {
		border-color: #ccc !important;
	}
	#cv-paper {
		box-shadow: none !important;
		border: none !important;
	}
	.print-break {
		page-break-before: always;
	}
}

/* 404 Template */
/* glitch animation */
@keyframes glitch1 {
	0%,
	100% {
		clip-path: inset(40% 0 61% 0);
		transform: translate(-4px, 0);
	}
	20% {
		clip-path: inset(92% 0 1% 0);
		transform: translate(4px, 0);
	}
	40% {
		clip-path: inset(43% 0 1% 0);
		transform: translate(-4px, 0);
	}
	60% {
		clip-path: inset(25% 0 58% 0);
		transform: translate(4px, 0);
	}
	80% {
		clip-path: inset(54% 0 7% 0);
		transform: translate(-4px, 0);
	}
}
@keyframes glitch2 {
	0%,
	100% {
		clip-path: inset(24% 0 29% 0);
		transform: translate(4px, 0);
	}
	20% {
		clip-path: inset(54% 0 21% 0);
		transform: translate(-4px, 0);
	}
	40% {
		clip-path: inset(71% 0 8% 0);
		transform: translate(4px, 0);
	}
	60% {
		clip-path: inset(10% 0 66% 0);
		transform: translate(-4px, 0);
	}
	80% {
		clip-path: inset(50% 0 30% 0);
		transform: translate(4px, 0);
	}
}
.glitch-wrap {
	position: relative;
	display: inline-block;
}
.glitch-wrap::before,
.glitch-wrap::after {
	content: attr(data-text);
	position: absolute;
	inset: 0;
	font-family: "Teko", sans-serif;
	font-weight: 700;
}
.glitch-wrap::before {
	color: oklch(77.7% 0.152 181.912);
	animation: glitch1 3s infinite linear alternate-reverse;
}
.glitch-wrap::after {
	color: #ff3b3b;
	animation: glitch2 3s infinite linear alternate-reverse;
	animation-delay: 0.3s;
}

/* terminal blink */
@keyframes blink {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}
.cursor {
	display: inline-block;
	width: 10px;
	height: 1.2em;
	background: var(--primary-color);
	vertical-align: middle;
	animation: blink 1s step-end infinite;
}

/* scan lines */
.scanlines {
	background: repeating-linear-gradient(
		0deg,
		transparent,
		transparent 2px,
		rgba(0, 0, 0, 0.08) 2px,
		rgba(0, 0, 0, 0.08) 4px
	);
	pointer-events: none;
}

/* float animation */
@keyframes float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-12px);
	}
}
.float {
	animation: float 4s ease-in-out infinite;
}

/* fade in */
.fadein {
	animation: fadein 0.6s ease forwards;
	opacity: 0;
}
@keyframes fadein {
	to {
		opacity: 1;
	}
}
.fadein-d1 {
	animation-delay: 0.1s;
}
.fadein-d2 {
	animation-delay: 0.25s;
}
.fadein-d3 {
	animation-delay: 0.4s;
}
.fadein-d4 {
	animation-delay: 0.55s;
}
.fadein-d5 {
	animation-delay: 0.7s;
}

/* Single Blog */
/* prose */
.prose-content p {
	font-family: "Lora", Georgia, serif;
	color: #a8b2d1;
	line-height: 1.95;
	margin-bottom: 1.4rem;
	font-size: 1.05rem;
}
.prose-content h2 {
	font-family: "Teko", sans-serif;
	font-weight: 700;
	font-size: 1.9rem;
	color: #ccd6f6;
	margin: 2.8rem 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #233554;
}
.prose-content h3 {
	font-family: "Teko", sans-serif;
	font-weight: 600;
	font-size: 1.4rem;
	color: #a8b2d1;
	margin: 2rem 0 0.7rem;
}
.prose-content ul,
.prose-content ol {
	margin: 1rem 0 1.4rem;
	padding: 0;
	list-style: none;
}
.prose-content ul li {
	padding-left: 1.5rem;
	position: relative;
	color: #a8b2d1;
	margin-bottom: 0.6rem;
	font-family: "Lora", Georgia, serif;
	font-size: 1rem;
	line-height: 1.75;
}
.prose-content ul li::before {
	content: "▹";
	position: absolute;
	left: 0;
	color: var(--primary-color);
	font-family: monospace;
}
.prose-content ol {
	counter-reset: ol-c;
}
.prose-content ol li {
	counter-increment: ol-c;
	padding-left: 2rem;
	position: relative;
	color: #a8b2d1;
	margin-bottom: 0.6rem;
	font-family: "Lora", Georgia, serif;
	font-size: 1rem;
	line-height: 1.75;
}
.prose-content ol li::before {
	content: counter(ol-c) ".";
	position: absolute;
	left: 0;
	color: var(--primary-color);
	font-family: "Roboto Mono", monospace;
	font-size: 0.82rem;
	top: 0.18rem;
}
.prose-content blockquote {
	border-left: 3px solid var(--primary-color);
	padding: 0.75rem 1.4rem;
	margin: 1.8rem 0;
	background: rgba(0, 213, 190, 0.06);
}
.prose-content blockquote p {
	color: #ccd6f6;
	font-style: italic;
	margin-bottom: 0;
}
.prose-content pre {
	background: #020c1b;
	border: 1px solid #233554;
	padding: 1.3rem 1.6rem;
	margin: 1.6rem 0;
	overflow-x: auto;
	position: relative;
}
.prose-content code {
	font-family: "Roboto Mono", monospace;
	font-size: 0.85rem;
	color: var(--primary-color);
	background: rgba(0, 213, 190, 0.07);
	border: 1px solid rgba(0, 213, 190, 0.18);
	padding: 0.1rem 0.38rem;
}
.prose-content pre code {
	background: none;
	border: none;
	padding: 0;
	color: #a8b2d1;
	font-size: 0.84rem;
}
.prose-content a {
	color: var(--primary-color);
	text-decoration: underline;
	text-decoration-color: rgba(0, 213, 190, 0.3);
}
.prose-content hr {
	border: none;
	border-top: 1px solid #233554;
	margin: 2.5rem 0;
}
.prose-content strong {
	color: #ccd6f6;
	font-weight: 600;
}
.callout {
	background: rgba(0, 213, 190, 0.05);
	border: 1px solid rgba(0, 213, 190, 0.2);
	padding: 1.1rem 1.4rem;
	margin: 1.8rem 0;
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
}
.callout p {
	margin-bottom: 0;
	font-family: "Roboto Mono", monospace;
	font-size: 0.8rem;
	color: #a8b2d1;
	line-height: 1.7;
}

/* TOC */
.toc-link {
	display: block;
	font-family: "Roboto Mono", monospace;
	color: #8892b0;
	border-left: 2px solid #233554;
	padding: 0.35rem 0.8rem;
	transition: all 0.15s;
	line-height: 1.5;
}
.toc-link:hover,
.toc-link.active {
	color: var(--primary-color);
	border-left-color: var(--primary-color);
}
.toc-link.active {
	background: rgba(0, 213, 190, 0.04);
}

/* like button */
.like-btn.liked {
	background: rgba(0, 213, 190, 0.1);
	border-color: rgba(0, 213, 190, 0.4);
	color: var(--primary-color);
}
.like-btn.liked .like-heart {
	fill: var(--primary-color);
}
@keyframes pop {
	0% {
		transform: scale(1);
	}
	45% {
		transform: scale(1.4);
	}
	75% {
		transform: scale(0.88);
	}
	100% {
		transform: scale(1);
	}
}
.pop {
	animation: pop 0.32s ease;
}

/* comment form */
.form-field {
	width: 100%;
	background: #020c1b;
	border: 1px solid #233554;
	padding: 0.75rem 1rem;
	font-family: "Roboto Mono", monospace;
	font-size: 0.83rem;
	color: #ccd6f6;
	transition: border-color 0.2s;
}
.form-field::placeholder {
	color: #495670;
}
.form-field:focus {
	outline: none;
	border-color: rgba(0, 213, 190, 0.4);
}

/* comment cards */
.comment-card {
	border-left: 2px solid #233554;
	transition: border-left-color 0.25s ease;
}
.comment-card:hover {
	border-left-color: rgba(0, 213, 190, 0.35);
}
.reply-card {
	margin-left: 1.75rem;
	border-left-color: #172a45;
}
.reply-card:hover {
	border-left-color: rgba(0, 213, 190, 0.25);
}

/* reply form */
.reply-form {
	display: none;
}
.reply-form.open {
	display: block;
}

/* vote */
.vote-btn:hover {
	color: var(--primary-color);
}
.vote-btn.voted-up {
	color: var(--primary-color);
}
.vote-btn.voted-down {
	color: #ff5f5f;
}

/* sort tab */
.sort-tab.active {
	color: var(--primary-color);
	border-bottom: 2px solid var(--primary-color);
}

/* copy button */
.copy-btn {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
}

/* Pagination */
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--color-white);
}
.pagination a:hover {
    text-decoration: none !important;
}

.page-numbers.current {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
}

.page-numbers:not(.current):not(.dots) {
    width: auto;
    padding: 0.5rem 1rem;
}

.page-numbers.dots {
    border: none !important;
    padding: 0 0.5rem;
}

/* custom.css end */
