/* [project]/src/app/instrument_6ee4246.module.css [app-client] (css) */
@font-face {
  font-family: instrument;
  src: url("../media/instrument_sans_variable-s.p.40w8mze95om74.woff2") format("woff2");
  font-display: optional;
  font-weight: 400 700;
}

@font-face {
  font-family: instrument Fallback;
  src: local(Arial);
  ascent-override: 93.97%;
  descent-override: 24.22%;
  line-gap-override: 0.0%;
  size-adjust: 103.22%;
}

.instrument_6ee4246-module__Jc6UNW__className {
  font-family: instrument, instrument Fallback;
}

.instrument_6ee4246-module__Jc6UNW__variable {
  --font-instrument: "instrument", "instrument Fallback";
}

/* [project]/src/app/geistsans_c83a78da.module.css [app-client] (css) */
@font-face {
  font-family: geistSans;
  src: url("../media/geist_sans_variable-s.p.1jlvri318y4l-.woff2") format("woff2");
  font-display: optional;
  font-weight: 100 900;
}

@font-face {
  font-family: geistSans Fallback;
  src: local(Arial);
  ascent-override: 94.56%;
  descent-override: 27.76%;
  line-gap-override: 0.0%;
  size-adjust: 106.28%;
}

.geistsans_c83a78da-module__157f1G__className {
  font-family: geistSans, geistSans Fallback;
}

.geistsans_c83a78da-module__157f1G__variable {
  --font-geist-sans: "geistSans", "geistSans Fallback";
}

/* [project]/src/app/geistmono_90e4fb05.module.css [app-client] (css) */
@font-face {
  font-family: geistMono;
  src: url("../media/geist_mono_variable-s.p.456focf0vdbv2.woff2") format("woff2");
  font-display: optional;
  font-weight: 100 900;
}

@font-face {
  font-family: geistMono Fallback;
  src: local(Arial);
  ascent-override: 76.43%;
  descent-override: 22.43%;
  line-gap-override: 0.0%;
  size-adjust: 131.49%;
}

.geistmono_90e4fb05-module__PMvEsa__className {
  font-family: geistMono, geistMono Fallback;
}

.geistmono_90e4fb05-module__PMvEsa__variable {
  --font-geist-mono: "geistMono", "geistMono Fallback";
}

/* [project]/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-scroll-snap-strictness: proximity;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: 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;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

@layer theme {
  :root, :host {
    --font-mono: var(--font-geist-mono), ui-monospace, "SF Mono", monospace;
    --color-red-50: #fef2f2;
    --color-red-100: #ffe2e2;
    --color-red-200: #ffcaca;
    --color-red-300: #ffa3a3;
    --color-red-400: #ff6568;
    --color-red-600: #e40014;
    --color-red-700: #bf000f;
    --color-red-800: #9f0712;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c6;
    --color-amber-300: #ffd236;
    --color-amber-600: #dd7400;
    --color-amber-700: #b75000;
    --color-amber-800: #953d00;
    --color-amber-900: #7b3306;
    --color-emerald-50: #ecfdf5;
    --color-emerald-100: #d0fae5;
    --color-emerald-200: #a4f4cf;
    --color-emerald-300: #5ee9b5;
    --color-emerald-500: #00bb7f;
    --color-emerald-600: #009767;
    --color-emerald-700: #007956;
    --color-emerald-800: #005f46;
    --color-emerald-900: #004e3b;
    --color-sky-50: #f0f9ff;
    --color-sky-600: #0084cc;
    --color-sky-700: #0069a4;
    --color-blue-100: #dbeafe;
    --color-blue-800: #193cb8;
    --color-violet-50: #f5f3ff;
    --color-violet-600: #7f22fe;
    --color-violet-700: #7008e7;
    --color-zinc-50: #fafafa;
    --color-zinc-100: #f4f4f5;
    --color-zinc-200: #e4e4e7;
    --color-zinc-300: #d4d4d8;
    --color-zinc-400: #9f9fa9;
    --color-zinc-500: #71717b;
    --color-zinc-600: #52525c;
    --color-zinc-700: #3f3f46;
    --color-neutral-100: #f5f5f5;
    --color-neutral-500: #737373;
    --color-neutral-600: #525252;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-2xl: 40px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
    --default-mono-font-family: var(--font-geist-mono), ui-monospace, "SF Mono", monospace;
    --text-hero: clamp(3.25rem, 1.6rem + 7.2vw, 7.5rem);
    --text-hero--line-height: .98;
    --text-hero--letter-spacing: -.035em;
    --text-mega: clamp(2.5rem, 1.4rem + 5vw, 5.5rem);
    --text-mega--line-height: 1;
    --text-mega--letter-spacing: -.03em;
    --text-h2: clamp(2rem, 1.4rem + 3vw, 3.75rem);
    --text-h2--line-height: 1.05;
    --text-h2--letter-spacing: -.025em;
    --text-h3: clamp(1.375rem, 1.2rem + .9vw, 1.875rem);
    --text-h3--line-height: 1.2;
    --text-h3--letter-spacing: -.015em;
    --text-lead: clamp(1.0625rem, .95rem + .55vw, 1.375rem);
    --text-lead--line-height: 1.55;
    --radius-card: 1.25rem;
    --radius-panel: 1.5rem;
    --ease-dycast: cubic-bezier(.22, 1, .36, 1);
    --font-display: var(--font-instrument), var(--font-geist-sans), ui-sans-serif,
    system-ui, sans-serif;
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-50: lab(96.5005% 4.18508 1.52328);
      --color-red-100: lab(92.243% 10.2865 3.83865);
      --color-red-200: lab(86.017% 19.8815 7.75869);
      --color-red-300: lab(76.5514% 36.422 15.5335);
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-600: lab(48.4493% 77.4328 61.5452);
      --color-red-700: lab(40.4273% 67.2623 53.7441);
      --color-red-800: lab(33.7174% 55.8993 41.0293);
      --color-amber-50: lab(98.6252% -.635922 8.42309);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-300: lab(86.4156% 6.13147 78.3961);
      --color-amber-600: lab(60.3514% 40.5624 87.1228);
      --color-amber-700: lab(47.2709% 42.9082 69.2966);
      --color-amber-800: lab(37.8822% 37.1699 52.2718);
      --color-amber-900: lab(31.2288% 30.2627 40.0378);
      --color-emerald-50: lab(97.8462% -6.94966 1.85487);
      --color-emerald-100: lab(94.9004% -17.0769 5.63836);
      --color-emerald-200: lab(90.2247% -31.039 9.47084);
      --color-emerald-300: lab(83.9203% -48.7124 13.8849);
      --color-emerald-500: lab(66.9756% -58.27 19.5419);
      --color-emerald-600: lab(55.0481% -49.9246 15.93);
      --color-emerald-700: lab(44.4871% -41.0396 11.0361);
      --color-emerald-800: lab(35.3675% -33.1188 8.04002);
      --color-emerald-900: lab(28.8637% -26.9249 5.45986);
      --color-sky-50: lab(97.3623% -2.33802 -4.13098);
      --color-sky-600: lab(51.7754% -11.4712 -49.8349);
      --color-sky-700: lab(41.6013% -9.10804 -42.5647);
      --color-blue-100: lab(92.0301% -2.24757 -11.6453);
      --color-blue-800: lab(30.2514% 27.7853 -70.2699);
      --color-violet-50: lab(96.2416% 2.28849 -5.51657);
      --color-violet-600: lab(41.088% 68.9966 -91.995);
      --color-violet-700: lab(35.2783% 67.9912 -88.793);
      --color-zinc-50: lab(98.26% 0 0);
      --color-zinc-100: lab(96.1634% .0993311 -.364041);
      --color-zinc-200: lab(90.6853% .399232 -1.45452);
      --color-zinc-300: lab(84.9837% .601262 -2.17986);
      --color-zinc-400: lab(65.6464% 1.53497 -5.42429);
      --color-zinc-500: lab(47.8878% 1.65477 -5.77283);
      --color-zinc-600: lab(35.1166% 1.78212 -6.1173);
      --color-zinc-700: lab(26.8019% 1.35387 -4.68303);
      --color-neutral-100: lab(96.52% -.0000298023 .0000119209);
      --color-neutral-500: lab(48.496% 0 0);
      --color-neutral-600: lab(34.924% 0 0);
    }
  }
}

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

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

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

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

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

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

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

  b, strong {
    font-weight: bolder;
  }

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

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

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

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

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

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

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

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

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

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

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

  textarea {
    resize: vertical;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@layer components {
  .container-d {
    width: 100%;
    max-width: 75rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
  }

  @media (min-width: 48rem) {
    .container-d {
      padding-inline: 2rem;
    }
  }

  .lien-ink {
    transition: background-size .35s var(--ease-dycast);
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
  }

  .lien-ink:hover, .lien-ink:focus-visible {
    background-size: 100% 1px;
  }
}

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

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

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-x-0 {
    inset-inline: 0;
  }

  .inset-x-5 {
    inset-inline: calc(var(--spacing) * 5);
  }

  .inset-y-0 {
    inset-block: 0;
  }

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

  .top-0 {
    top: 0;
  }

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

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

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

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

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

  .top-\[0\.85rem\] {
    top: .85rem;
  }

  .top-\[58\%\] {
    top: 58%;
  }

  .top-\[calc\(var\(--header-h\)\+1rem\)\] {
    top: calc(var(--header-h) + 1rem);
  }

  .top-full {
    top: 100%;
  }

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

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

  .right-\[-3\%\] {
    right: -3%;
  }

  .bottom-0 {
    bottom: 0;
  }

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

  .bottom-\[-8\%\] {
    bottom: -8%;
  }

  .bottom-\[22\%\] {
    bottom: 22%;
  }

  .left-0 {
    left: 0;
  }

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

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

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

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

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

  .left-\[-3\%\] {
    left: -3%;
  }

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

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

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

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

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

  .m-0 {
    margin: 0;
  }

  .-mx-6 {
    margin-inline: calc(var(--spacing) * -6);
  }

  .mx-1 {
    margin-inline: var(--spacing);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .mt-px {
    margin-top: 1px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .-ml-px {
    margin-left: -1px;
  }

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

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

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

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

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

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

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

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

  .aspect-\[2\.39\/1\] {
    aspect-ratio: 2.39;
  }

  .aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
  }

  .aspect-\[9\/19\] {
    aspect-ratio: 9 / 19;
  }

  .aspect-\[16\/9\] {
    aspect-ratio: 16 / 9;
  }

  .aspect-\[640\/300\] {
    aspect-ratio: 640 / 300;
  }

  .aspect-\[800\/460\] {
    aspect-ratio: 800 / 460;
  }

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

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

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

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

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

  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

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

  .size-4\.5 {
    width: calc(var(--spacing) * 4.5);
    height: calc(var(--spacing) * 4.5);
  }

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

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

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

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

  .size-11 {
    width: calc(var(--spacing) * 11);
    height: calc(var(--spacing) * 11);
  }

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

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

  .size-\[1\.05rem\] {
    width: 1.05rem;
    height: 1.05rem;
  }

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

  .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-11 {
    height: calc(var(--spacing) * 11);
  }

  .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-44 {
    height: calc(var(--spacing) * 44);
  }

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

  .h-\[0\.9rem\] {
    height: .9rem;
  }

  .h-\[1\.9rem\] {
    height: 1.9rem;
  }

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

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

  .h-\[140\%\] {
    height: 140%;
  }

  .h-\[220svh\] {
    height: 220svh;
  }

  .h-\[240svh\] {
    height: 240svh;
  }

  .h-\[260svh\] {
    height: 260svh;
  }

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

  .h-\[min\(56svh\,540px\)\] {
    height: min(56svh, 540px);
  }

  .h-\[min\(80vh\,42rem\)\] {
    height: min(80vh, 42rem);
  }

  .h-dvh {
    height: 100dvh;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-svh {
    height: 100svh;
  }

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

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

  .max-h-\[50svh\] {
    max-height: 50svh;
  }

  .max-h-\[52svh\] {
    max-height: 52svh;
  }

  .max-h-\[90vh\] {
    max-height: 90vh;
  }

  .max-h-\[92vh\] {
    max-height: 92vh;
  }

  .max-h-none {
    max-height: none;
  }

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

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

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

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

  .min-h-\[68svh\] {
    min-height: 68svh;
  }

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

  .min-h-svh {
    min-height: 100svh;
  }

  .w-1\/3 {
    width: 33.3333%;
  }

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

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

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

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

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

  .w-3\/5 {
    width: 60%;
  }

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

  .w-4\/5 {
    width: 80%;
  }

  .w-5\/6 {
    width: 83.3333%;
  }

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

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

  .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-36 {
    width: calc(var(--spacing) * 36);
  }

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

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

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

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

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

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

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

  .w-\[4\.5rem\] {
    width: 4.5rem;
  }

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

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

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

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

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

  .w-\[min\(15rem\,58vw\)\] {
    width: min(15rem, 58vw);
  }

  .w-\[min\(15rem\,60\%\)\] {
    width: min(15rem, 60%);
  }

  .w-\[min\(15rem\,62vw\)\] {
    width: min(15rem, 62vw);
  }

  .w-\[min\(17rem\,64vw\)\] {
    width: min(17rem, 64vw);
  }

  .w-\[min\(19rem\,78vw\)\] {
    width: min(19rem, 78vw);
  }

  .w-\[min\(22rem\,80vw\)\] {
    width: min(22rem, 80vw);
  }

  .w-\[min\(64rem\,92vw\,100svh\)\] {
    width: min(64rem, 92vw, 100svh);
  }

  .w-\[min\(71rem\,calc\(100vw-2\.5rem\)\)\] {
    width: min(71rem, 100vw - 2.5rem);
  }

  .w-\[min\(78vw\,54rem\)\] {
    width: min(78vw, 54rem);
  }

  .w-auto {
    width: auto;
  }

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

  .w-full {
    width: 100%;
  }

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

  .w-px {
    width: 1px;
  }

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

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

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

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

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

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

  .max-w-\[7\.5rem\] {
    max-width: 7.5rem;
  }

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

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

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

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

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

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

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

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

  .flex-1 {
    flex: 1;
  }

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

  .border-collapse {
    border-collapse: collapse;
  }

  .origin-bottom {
    transform-origin: bottom;
  }

  .origin-top {
    transform-origin: top;
  }

  .origin-top-left {
    transform-origin: 0 0;
  }

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

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

  .translate-y-0 {
    --tw-translate-y: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

  .rotate-45 {
    rotate: 45deg;
  }

  .rotate-90 {
    rotate: 90deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

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

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

  .\[animation\:chroma_1s_var\(--ease-dycast\)_both\] {
    animation: chroma 1s var(--ease-dycast) both;
  }

  .\[animation\:flux_1\.4s_linear_infinite\] {
    animation: 1.4s linear infinite flux;
  }

  .\[animation\:rotation-lente_90s_linear_infinite\] {
    animation: 90s linear infinite rotation-lente;
  }

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

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

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

  .cursor-grab {
    cursor: grab;
  }

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

  .cursor-pointer {
    cursor: pointer;
  }

  .touch-none {
    touch-action: none;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .resize-y {
    resize: vertical;
  }

  .snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
  }

  .snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
  }

  .snap-center {
    scroll-snap-align: center;
  }

  .snap-start {
    scroll-snap-align: start;
  }

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

  .\[scrollbar-width\:none\] {
    scrollbar-width: none;
  }

  .appearance-none {
    appearance: none;
  }

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

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

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

  .grid-cols-\[1fr_100px\] {
    grid-template-columns: 1fr 100px;
  }

  .grid-cols-\[5rem_1fr\] {
    grid-template-columns: 5rem 1fr;
  }

  .grid-cols-\[15rem_1fr\] {
    grid-template-columns: 15rem 1fr;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .gap-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-\[3px\] {
    gap: 3px;
  }

  .gap-px {
    gap: 1px;
  }

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

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

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

  :where(.space-y-2\.5 > :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)));
  }

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

  :where(.space-y-3\.5 > :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)));
  }

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

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

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

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

  :where(.space-y-10 > :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-3 {
    column-gap: calc(var(--spacing) * 3);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .overflow-clip {
    overflow: clip;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

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

  .rounded-\[1\.2rem\] {
    border-radius: 1.2rem;
  }

  .rounded-\[1\.4rem\] {
    border-radius: 1.4rem;
  }

  .rounded-\[1\.7rem\] {
    border-radius: 1.7rem;
  }

  .rounded-\[1\.8rem\] {
    border-radius: 1.8rem;
  }

  .rounded-\[1\.85rem\] {
    border-radius: 1.85rem;
  }

  .rounded-\[2\.2rem\] {
    border-radius: 2.2rem;
  }

  .rounded-\[2\.8rem\] {
    border-radius: 2.8rem;
  }

  .rounded-\[2rem\] {
    border-radius: 2rem;
  }

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

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

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

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

  .rounded-none {
    border-radius: 0;
  }

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

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

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

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

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

  .rounded-r-none {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .border-\[\#c43030\]\/40 {
    border-color: #c4303066;
    border-color: lab(45.0534% 58.3263 37.8055 / .4);
  }

  .border-accent {
    border-color: var(--accent);
  }

  .border-accent-strong {
    border-color: var(--accent-strong);
  }

  .border-accent\/50 {
    border-color: var(--accent);
  }

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

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

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

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

  .border-line {
    border-color: var(--line);
  }

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

  .border-transparent {
    border-color: #0000;
  }

  .border-white\/12 {
    border-color: #ffffff1f;
  }

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

  .border-white\/15 {
    border-color: #ffffff26;
  }

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

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

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

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

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

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

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

  .bg-\[\#c43030\]\/5 {
    background-color: #c430300d;
    background-color: lab(45.0534% 58.3263 37.8055 / .05);
  }

  .bg-\[color-mix\(in_oklab\,green_18\%\,var\(--surface\)\)\] {
    background-color: green;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_oklab\,green_18\%\,var\(--surface\)\)\] {
      background-color: color-mix(in oklab,green 18%,var(--surface));
    }
  }

  .bg-\[color-mix\(in_oklab\,red_8\%\,var\(--surface\)\)\] {
    background-color: red;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_oklab\,red_8\%\,var\(--surface\)\)\] {
      background-color: color-mix(in oklab,red 8%,var(--surface));
    }
  }

  .bg-\[color-mix\(in_oklab\,var\(--accent\)_8\%\,var\(--surface\)\)\] {
    background-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_oklab\,var\(--accent\)_8\%\,var\(--surface\)\)\] {
      background-color: color-mix(in oklab,var(--accent) 8%,var(--surface));
    }
  }

  .bg-\[color-mix\(in_oklab\,var\(--accent\)_10\%\,var\(--surface\)\)\] {
    background-color: var(--accent);
  }

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

  .bg-\[color-mix\(in_oklab\,var\(--ink\)_5\%\,var\(--canvas\)\)\] {
    background-color: var(--ink);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_oklab\,var\(--ink\)_5\%\,var\(--canvas\)\)\] {
      background-color: color-mix(in oklab,var(--ink) 5%,var(--canvas));
    }
  }

  .bg-\[color-mix\(in_oklab\,var\(--ink\)_6\%\,transparent\)\] {
    background-color: var(--ink);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_oklab\,var\(--ink\)_6\%\,transparent\)\] {
      background-color: color-mix(in oklab,var(--ink) 6%,transparent);
    }
  }

  .bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,var\(--surface\)\)\] {
    background-color: var(--ink);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,var\(--surface\)\)\] {
      background-color: color-mix(in oklab,var(--ink) 8%,var(--surface));
    }
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bg-black\/40 {
    background-color: #0006;
  }

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

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

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

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

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

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

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

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

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

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

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

  .bg-inherit {
    background-color: inherit;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bg-white\/8 {
    background-color: #ffffff14;
  }

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

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

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

  .bg-white\/12 {
    background-color: #ffffff1f;
  }

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

  .bg-white\/15 {
    background-color: #ffffff26;
  }

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

  .bg-white\/25 {
    background-color: #ffffff40;
  }

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

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

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

  .bg-white\/85 {
    background-color: #ffffffd9;
  }

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

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

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

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

  .bg-\[linear-gradient\(currentColor\,currentColor\)\] {
    background-image: linear-gradient(currentColor, currentColor);
  }

  .\[mask-image\:linear-gradient\(to_right\,transparent\,black_8\%\,black_92\%\,transparent\)\] {
    -webkit-mask-image: linear-gradient(to right, #0000, #000 8% 92%, #0000);
    mask-image: linear-gradient(to right, #0000, #000 8% 92%, #0000);
  }

  .bg-\[length\:0\%_1px\] {
    background-size: 0% 1px;
  }

  .bg-left-bottom {
    background-position: 0 100%;
  }

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

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

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

  .p-0 {
    padding: 0;
  }

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

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

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

  .p-\[0\.4rem\] {
    padding: .4rem;
  }

  .p-\[0\.25rem\] {
    padding: .25rem;
  }

  .p-\[0\.35rem\] {
    padding: .35rem;
  }

  .px-0 {
    padding-inline: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .py-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-\[1\.15rem\] {
    padding-block: 1.15rem;
  }

  .py-\[calc\(var\(--header-h\)\+6rem\)\] {
    padding-block: calc(var(--header-h) + 6rem);
  }

  .pt-0 {
    padding-top: 0;
  }

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

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

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

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

  .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-14 {
    padding-top: calc(var(--spacing) * 14);
  }

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

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

  .pt-\[calc\(var\(--header-h\)\+3\.5rem\)\] {
    padding-top: calc(var(--header-h) + 3.5rem);
  }

  .pt-\[calc\(var\(--header-h\)\+4rem\)\] {
    padding-top: calc(var(--header-h) + 4rem);
  }

  .pt-\[var\(--header-h\)\] {
    padding-top: var(--header-h);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .pl-0 {
    padding-left: 0;
  }

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

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

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

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

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

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

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

  .font-display {
    font-family: var(--font-instrument), var(--font-geist-sans), ui-sans-serif,
    system-ui, sans-serif;
  }

  .font-mono {
    font-family: var(--font-geist-mono), ui-monospace, "SF Mono", monospace;
  }

  .font-sans {
    font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
  }

  .text-h2 {
    font-size: var(--text-h2);
    line-height: var(--tw-leading, var(--text-h2--line-height));
    letter-spacing: var(--tw-tracking, var(--text-h2--letter-spacing));
  }

  .text-h3 {
    font-size: var(--text-h3);
    line-height: var(--tw-leading, var(--text-h3--line-height));
    letter-spacing: var(--tw-tracking, var(--text-h3--letter-spacing));
  }

  .text-hero {
    font-size: var(--text-hero);
    line-height: var(--tw-leading, var(--text-hero--line-height));
    letter-spacing: var(--tw-tracking, var(--text-hero--letter-spacing));
  }

  .text-mega {
    font-size: var(--text-mega);
    line-height: var(--tw-leading, var(--text-mega--line-height));
    letter-spacing: var(--tw-tracking, var(--text-mega--letter-spacing));
  }

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

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

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

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

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

  .text-lead {
    font-size: var(--text-lead);
    line-height: var(--tw-leading, var(--text-lead--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-\[0\.625rem\] {
    font-size: .625rem;
  }

  .text-\[0\.6875rem\] {
    font-size: .6875rem;
  }

  .text-\[0\.8125rem\] {
    font-size: .8125rem;
  }

  .text-\[0\.9375rem\] {
    font-size: .9375rem;
  }

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

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

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

  .text-\[clamp\(2\.4rem\,4\.5vw\,3\.75rem\)\] {
    font-size: clamp(2.4rem, 4.5vw, 3.75rem);
  }

  .text-\[clamp\(2\.5rem\,5vw\,4\.5rem\)\] {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
  }

  .text-\[clamp\(2\.6rem\,6vw\,5\.5rem\)\] {
    font-size: clamp(2.6rem, 6vw, 5.5rem);
  }

  .text-\[clamp\(2rem\,4vw\,3\.25rem\)\] {
    font-size: clamp(2rem, 4vw, 3.25rem);
  }

  .text-\[clamp\(4rem\,8\.5vw\,7\.5rem\)\] {
    font-size: clamp(4rem, 8.5vw, 7.5rem);
  }

  .leading-\[1\.02\] {
    --tw-leading: 1.02;
    line-height: 1.02;
  }

  .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-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

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

  .tracking-\[-0\.05em\] {
    --tw-tracking: -.05em;
    letter-spacing: -.05em;
  }

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

  .tracking-\[0\.14em\] {
    --tw-tracking: .14em;
    letter-spacing: .14em;
  }

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

  .tracking-\[0\.18em\] {
    --tw-tracking: .18em;
    letter-spacing: .18em;
  }

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

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

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

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

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

  .break-words {
    overflow-wrap: break-word;
  }

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

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

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

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

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

  .text-accent-contrast {
    color: var(--accent-contrast);
  }

  .text-accent-contrast\/80 {
    color: var(--accent-contrast);
  }

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

  .text-accent-strong {
    color: var(--accent-strong);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-white\/35 {
    color: #ffffff59;
  }

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

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

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

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

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

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

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

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

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

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

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

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

  .opacity-0 {
    opacity: 0;
  }

  .opacity-25 {
    opacity: .25;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-45 {
    opacity: .45;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

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

  .shadow-\[0_10px_30px_rgb\(20_19_10\/0\.10\)\] {
    --tw-shadow: 0 10px 30px var(--tw-shadow-color, #14130a1a);
    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_10px_36px_rgb\(0_0_0\/0\.35\)\] {
    --tw-shadow: 0 10px 36px var(--tw-shadow-color, #00000059);
    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_10px_40px_rgb\(0_0_0\/0\.12\)\] {
    --tw-shadow: 0 10px 40px var(--tw-shadow-color, #0000001f);
    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_12px_34px_rgb\(11_21_36\/0\.07\)\] {
    --tw-shadow: 0 12px 34px var(--tw-shadow-color, #0b152412);
    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_12px_36px_rgb\(34_26_18\/0\.12\)\] {
    --tw-shadow: 0 12px 36px var(--tw-shadow-color, #221a121f);
    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_12px_40px_rgb\(0_0_0\/0\.18\)\] {
    --tw-shadow: 0 12px 40px var(--tw-shadow-color, #0000002e);
    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_16px_44px_rgb\(0_0_0\/0\.3\)\] {
    --tw-shadow: 0 16px 44px var(--tw-shadow-color, #0000004d);
    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_20px_45px_rgb\(0_0_0\/0\.35\)\] {
    --tw-shadow: 0 20px 45px var(--tw-shadow-color, #00000059);
    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_60px_rgb\(0_0_0\/0\.14\)\] {
    --tw-shadow: 0 24px 60px var(--tw-shadow-color, #00000024);
    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_70px_rgb\(0_0_0\/0\.08\)\] {
    --tw-shadow: 0 24px 70px var(--tw-shadow-color, #00000014);
    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_30px_70px_rgb\(0_0_0\/0\.4\)\] {
    --tw-shadow: 0 30px 70px var(--tw-shadow-color, #0006);
    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_30px_70px_rgb\(0_0_0\/0\.22\)\] {
    --tw-shadow: 0 30px 70px var(--tw-shadow-color, #00000038);
    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_30px_70px_rgb\(0_0_0\/0\.25\)\] {
    --tw-shadow: 0 30px 70px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_30px_70px_rgb\(0_0_0\/0\.28\)\] {
    --tw-shadow: 0 30px 70px var(--tw-shadow-color, #00000047);
    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_30px_70px_rgb\(0_0_0\/0\.35\)\] {
    --tw-shadow: 0 30px 70px var(--tw-shadow-color, #00000059);
    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_30px_70px_rgb\(0_0_0\/0\.45\)\] {
    --tw-shadow: 0 30px 70px var(--tw-shadow-color, #00000073);
    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_40px_90px_rgb\(0_0_0\/0\.45\)\] {
    --tw-shadow: 0 40px 90px var(--tw-shadow-color, #00000073);
    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_40px_100px_rgb\(0_0_0\/0\.35\)\] {
    --tw-shadow: 0 40px 100px var(--tw-shadow-color, #00000059);
    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_50px_110px_rgb\(0_0_0\/0\.55\)\] {
    --tw-shadow: 0 50px 110px var(--tw-shadow-color, #0000008c);
    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_50px_120px_rgb\(0_0_0\/0\.45\)\] {
    --tw-shadow: 0 50px 120px var(--tw-shadow-color, #00000073);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

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

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

  .ring-\[color-mix\(in_oklab\,var\(--accent\)_35\%\,transparent\)\] {
    --tw-ring-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-\[color-mix\(in_oklab\,var\(--accent\)_35\%\,transparent\)\] {
      --tw-ring-color: color-mix(in oklab,var(--accent) 35%,transparent);
    }
  }

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

  .ring-amber-600\/20 {
    --tw-ring-color: #dd740033;
  }

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

  .ring-emerald-600\/20 {
    --tw-ring-color: #00976733;
  }

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

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

  .ring-red-600\/20 {
    --tw-ring-color: #e4001433;
  }

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

  .ring-sky-600\/20 {
    --tw-ring-color: #0084cc33;
  }

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

  .ring-violet-600\/20 {
    --tw-ring-color: #7f22fe33;
  }

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

  .ring-white\/10 {
    --tw-ring-color: #ffffff1a;
  }

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

  .ring-zinc-500\/20 {
    --tw-ring-color: #71717b33;
  }

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

  .ring-zinc-600\/15 {
    --tw-ring-color: #52525c26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-zinc-600\/15 {
      --tw-ring-color: color-mix(in oklab, var(--color-zinc-600) 15%, transparent);
    }
  }

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

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

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

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

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

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

  .transition-\[background-color\,border-color\,color\,opacity\,transform\] {
    transition-property: background-color, border-color, color, opacity, transform;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[background-size\] {
    transition-property: background-size;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[border-radius\] {
    transition-property: border-radius;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[grid-template-rows\] {
    transition-property: grid-template-rows;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

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

  .transition-\[transform\,border-color\,box-shadow\] {
    transition-property: transform, border-color, box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[transform\,border-color\] {
    transition-property: transform, border-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[transform\,color\] {
    transition-property: transform, color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

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

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

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

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

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

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .ease-\[var\(--ease-dycast\)\] {
    --tw-ease: var(--ease-dycast);
    transition-timing-function: var(--ease-dycast);
  }

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

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

  .\[transition-timing-function\:var\(--ease-dycast\)\] {
    transition-timing-function: var(--ease-dycast);
  }

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

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

  .ring-inset {
    --tw-ring-inset: inset;
  }

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

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

    .group-hover\:scale-125:is(:where(.group):hover *) {
      --tw-scale-x: 125%;
      --tw-scale-y: 125%;
      --tw-scale-z: 125%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-\[1\.02\]:is(:where(.group):hover *) {
      scale: 1.02;
    }

    .group-hover\:scale-\[1\.03\]:is(:where(.group):hover *) {
      scale: 1.03;
    }

    .group-hover\:text-\[var\(--uc-accent\)\]:is(:where(.group):hover *) {
      color: var(--uc-accent);
    }

    .group-hover\:underline:is(:where(.group):hover *) {
      text-decoration-line: underline;
    }

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

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

    .group-hover\/vitrine\:-translate-y-1\.5:is(:where(.group\/vitrine):hover *) {
      --tw-translate-y: calc(var(--spacing) * -1.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

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

    .group-hover\/vitrine\:bg-\[length\:100\%_1px\]:is(:where(.group\/vitrine):hover *) {
      background-size: 100% 1px;
    }

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

  .placeholder\:text-muted\/50::placeholder {
    color: var(--muted);
  }

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

  .placeholder\:text-muted\/60::placeholder {
    color: var(--muted);
  }

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

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

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

  .first\:border-t-0:first-child {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  .first\:pt-0:first-child {
    padding-top: 0;
  }

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

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

  .focus-within\:opacity-100:focus-within {
    opacity: 1;
  }

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

    .hover\:border-\[color-mix\(in_oklab\,var\(--ink\)_45\%\,transparent\)\]:hover {
      border-color: var(--ink);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-\[color-mix\(in_oklab\,var\(--ink\)_45\%\,transparent\)\]:hover {
        border-color: color-mix(in oklab,var(--ink) 45%,transparent);
      }
    }

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

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

    .hover\:border-accent-strong:hover {
      border-color: var(--accent-strong);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .hover\:opacity-90:hover {
      opacity: .9;
    }

    .hover\:shadow-\[0_18px_50px_rgb\(0_0_0\/0\.10\)\]:hover {
      --tw-shadow: 0 18px 50px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  .focus\:not-sr-only:focus {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }

  .focus\:fixed:focus {
    position: fixed;
  }

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

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

  .focus\:z-100:focus {
    z-index: 100;
  }

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

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

  .focus\:border-accent-strong:focus {
    border-color: var(--accent-strong);
  }

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

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

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

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

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

  .focus\:text-canvas:focus {
    color: var(--canvas);
  }

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

  .active\:scale-\[0\.98\]:active {
    scale: .98;
  }

  .active\:cursor-grabbing:active {
    cursor: grabbing;
  }

  .disabled\:opacity-25:disabled {
    opacity: .25;
  }

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

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

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

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

  .aria-\[current\=page\]\:bg-canvas[aria-current="page"] {
    background-color: var(--canvas);
  }

  .aria-\[invalid\=true\]\:border-\[\#c43030\][aria-invalid="true"] {
    border-color: #c43030;
  }

  @media not (min-width: 80rem) {
    .max-xl\:hidden {
      display: none;
    }
  }

  @media not (min-width: 64rem) {
    .max-lg\:hidden {
      display: none;
    }
  }

  @media not (min-width: 40rem) {
    .max-sm\:hidden {
      display: none;
    }
  }

  @media (min-width: 380px) {
    .min-\[380px\]\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:block {
      display: block;
    }

    .sm\:inline {
      display: inline;
    }

    .sm\:h-14 {
      height: calc(var(--spacing) * 14);
    }

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

    .sm\:w-\[24\%\] {
      width: 24%;
    }

    .sm\:w-auto {
      width: auto;
    }

    .sm\:max-w-\[9rem\] {
      max-width: 9rem;
    }

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

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

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

    .sm\:grid-cols-\[1fr_2fr_auto\] {
      grid-template-columns: 1fr 2fr auto;
    }

    .sm\:grid-cols-\[1fr_180px\] {
      grid-template-columns: 1fr 180px;
    }

    .sm\:grid-cols-\[8\.5rem_1fr\] {
      grid-template-columns: 8.5rem 1fr;
    }

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

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

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

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

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

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

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

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

    .sm\:gap-x-14 {
      column-gap: calc(var(--spacing) * 14);
    }

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

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

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

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

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

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

    .md\:block {
      display: block;
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

    .md\:inline {
      display: inline;
    }

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

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

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

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

    .md\:grid-cols-\[1\.3fr_1fr_1fr_1fr\] {
      grid-template-columns: 1.3fr 1fr 1fr 1fr;
    }

    .md\:grid-cols-\[1fr_1\.2fr\] {
      grid-template-columns: 1fr 1.2fr;
    }

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

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

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

    .md\:gap-7 {
      gap: calc(var(--spacing) * 7);
    }

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

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

    .md\:gap-16 {
      gap: calc(var(--spacing) * 16);
    }

    :where(.md\:space-y-10 > :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)));
    }

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

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

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

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

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

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

    .md\:py-14 {
      padding-block: calc(var(--spacing) * 14);
    }

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

    .md\:py-20 {
      padding-block: calc(var(--spacing) * 20);
    }

    .md\:py-24 {
      padding-block: calc(var(--spacing) * 24);
    }

    .md\:py-28 {
      padding-block: calc(var(--spacing) * 28);
    }

    .md\:py-32 {
      padding-block: calc(var(--spacing) * 32);
    }

    .md\:pt-20 {
      padding-top: calc(var(--spacing) * 20);
    }

    .md\:pt-28 {
      padding-top: calc(var(--spacing) * 28);
    }

    .md\:pt-\[calc\(var\(--header-h\)\+5rem\)\] {
      padding-top: calc(var(--header-h) + 5rem);
    }

    .md\:pt-\[calc\(var\(--header-h\)\+6rem\)\] {
      padding-top: calc(var(--header-h) + 6rem);
    }

    .md\:pb-28 {
      padding-bottom: calc(var(--spacing) * 28);
    }

    .md\:pb-32 {
      padding-bottom: calc(var(--spacing) * 32);
    }

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

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

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

    .lg\:sticky {
      position: sticky;
    }

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

    .lg\:top-\[calc\(var\(--header-h\)\+1\.5rem\)\] {
      top: calc(var(--header-h) + 1.5rem);
    }

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

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

    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:w-52 {
      width: calc(var(--spacing) * 52);
    }

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

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

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

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

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

    .lg\:grid-cols-\[1\.05fr_1fr\] {
      grid-template-columns: 1.05fr 1fr;
    }

    .lg\:grid-cols-\[1fr_1\.1fr\] {
      grid-template-columns: 1fr 1.1fr;
    }

    .lg\:grid-cols-\[1fr_1\.05fr\] {
      grid-template-columns: 1fr 1.05fr;
    }

    .lg\:grid-cols-\[1fr_1\.25fr\] {
      grid-template-columns: 1fr 1.25fr;
    }

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

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

    .lg\:gap-12 {
      gap: calc(var(--spacing) * 12);
    }

    .lg\:gap-14 {
      gap: calc(var(--spacing) * 14);
    }

    .lg\:gap-16 {
      gap: calc(var(--spacing) * 16);
    }

    .lg\:gap-20 {
      gap: calc(var(--spacing) * 20);
    }

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

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

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

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

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

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

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

    .xl\:grid-cols-\[2fr_1fr\] {
      grid-template-columns: 2fr 1fr;
    }
  }

  @media (min-width: 96rem) {
    .\32 xl\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }
  }

  .\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
    display: none;
  }

  @media (min-width: 64rem) {
    .lg\:\[\&\>\*\:first-child\]\:order-2 > :first-child {
      order: 2;
    }
  }
}

:root {
  --canvas: #fff;
  --surface: #fff;
  --ink: #0c0c0b;
  --muted: #55554e;
  --accent: #0c0c0b;
  --accent-strong: #0c0c0b;
  --accent-contrast: #fafaf8;
  --glow: transparent;
  --line: var(--ink);
}

@supports (color: color-mix(in lab, red, red)) {
  :root {
    --line: color-mix(in oklab, var(--ink) 14%, transparent);
  }
}

:root {
  --header-h: 4rem;
  --chrome-canvas: #fafaf8;
  --chrome-surface: #fff;
  --chrome-ink: #0c0c0b;
  --chrome-muted: #55554e;
}

html {
  scroll-padding-top: calc(var(--header-h) + 1.5rem);
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
}

body {
  background-color: var(--canvas);
  color: var(--ink);
  font-synthesis-weight: none;
  text-rendering: optimizelegibility;
}

main:has([data-projet]) {
  flex-direction: column;
  display: flex;
}

[data-projet] {
  background-color: var(--canvas);
  min-height: 100%;
  color: var(--ink);
  flex: 1;
}

[data-bande="canvas"] {
  background-color: var(--canvas);
}

[data-bande="surface"] {
  background-color: var(--surface);
}

header, footer {
  --canvas: var(--chrome-canvas);
  --surface: var(--chrome-surface);
  --ink: var(--chrome-ink);
  --muted: var(--chrome-muted);
  --accent: var(--chrome-ink);
  --accent-strong: var(--chrome-ink);
  --accent-contrast: var(--chrome-canvas);
  --line: var(--chrome-ink);
}

@supports (color: color-mix(in lab, red, red)) {
  header, footer {
    --line: color-mix(in oklab, var(--chrome-ink) 14%, transparent);
  }
}

header, footer {
  color: var(--chrome-ink);
}

::selection {
  background-color: var(--accent);
  color: var(--accent-contrast);
}

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

body:has(dialog[open]) {
  overflow: hidden;
}

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(26px);
  }

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

.anim-rise {
  animation: rise .75s var(--ease-dycast) both;
}

.anim-d1 {
  animation-delay: .1s;
}

.anim-d2 {
  animation-delay: .22s;
}

.anim-d3 {
  animation-delay: .34s;
}

.anim-d4 {
  animation-delay: .48s;
}

@keyframes menu-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

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

.anim-menu {
  animation: menu-in .28s var(--ease-dycast) both;
}

html.intro-active {
  overflow: hidden;
}

html.intro-active .hero-accueil .anim-rise {
  opacity: 0;
  animation: none;
}

.intro {
  z-index: 100;
  cursor: pointer;
  background-color: #0c0c0b;
  place-items: center;
  display: grid;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.intro__halos {
  filter: blur(70px);
  opacity: 0;
  animation: 1.6s ease-out .3s forwards intro-halos-in;
  position: absolute;
  inset: -20%;
}

.intro__halo {
  mix-blend-mode: screen;
  will-change: transform;
  border-radius: 50%;
  width: 46vmax;
  height: 46vmax;
  position: absolute;
}

.intro__halo--1 {
  background: radial-gradient(circle, #ff5c1f 0%, #ff5c1f00 65%);
  animation: 7s ease-in-out infinite alternate intro-derive-1;
  top: 12%;
  left: 8%;
}

.intro__halo--2 {
  background: radial-gradient(circle, #8b5cf6 0%, #8b5cf600 65%);
  animation: 8s ease-in-out infinite alternate intro-derive-2;
  top: 30%;
  right: 4%;
}

.intro__halo--3 {
  background: radial-gradient(circle, #0a5cff 0%, #0a5cff00 65%);
  animation: 9s ease-in-out infinite alternate intro-derive-3;
  bottom: -6%;
  left: 30%;
}

@keyframes intro-halos-in {
  to {
    opacity: .55;
  }
}

@keyframes intro-derive-1 {
  to {
    transform: translate(18vw, 10vh)scale(1.15);
  }
}

@keyframes intro-derive-2 {
  to {
    transform: translate(-14vw, -12vh)scale(.9);
  }
}

@keyframes intro-derive-3 {
  to {
    transform: translate(10vw, -16vh)scale(1.2);
  }
}

.intro__scene {
  flex-direction: column;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  display: flex;
  position: relative;
}

.intro__logo {
  filter: drop-shadow(0 0 32px #ffffff2e);
  will-change: transform;
  width: min(78vw, 1040px);
  height: auto;
  display: block;
  overflow: visible;
}

.intro__lettre {
  fill: #fafaf8;
  fill-opacity: 0;
  stroke: #fafaf8;
  stroke-width: 1.5px;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 1px;
  animation: intro-trace 1.15s var(--ease-dycast) calc(var(--i) * .13s) both,
    intro-remplir .7s ease-out calc(1.35s + var(--i) * 90ms) both;
}

.intro__encre path {
  fill: var(--ink);
}

.intro__encre {
  opacity: 0;
}

@keyframes intro-trace {
  from {
    stroke-dashoffset: 1px;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes intro-remplir {
  from {
    fill-opacity: 0;
    stroke-opacity: 1;
  }

  to {
    fill-opacity: 1;
    stroke-opacity: 0;
  }
}

.intro__accroche {
  color: #fafaf8d1;
  font-family: var(--font-instrument), var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .32em;
  text-transform: uppercase;
  opacity: 0;
  animation: intro-accroche .8s var(--ease-dycast) 1.9s both;
  margin: 0;
  font-size: clamp(.8125rem, .6rem + .9vw, 1.25rem);
  font-weight: 500;
}

@keyframes intro-accroche {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

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

.hero-accueil {
  --hero-rayon: 2rem;
  margin-top: var(--header-h);
  min-height: calc(100svh - var(--header-h));
  border-radius: var(--hero-rayon) var(--hero-rayon) 0 0;
  color: #f5f5f7;
  transition: margin-top .5s var(--ease-dycast),
    min-height .5s var(--ease-dycast),
    border-radius .5s var(--ease-dycast);
  background-color: #0c0c0b;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: clip;
}

body:has(.hero-accueil) {
  --hero-rayon: 2rem;
  background-color: var(--surface);
}

@media (max-width: 47.99rem) {
  .hero-accueil {
    --hero-rayon: 1.25rem;
  }

  body:has(.hero-accueil) {
    --hero-rayon: 1.25rem;
  }
}

[data-header-hero] {
  --hero-rayon: 2rem;
  margin-top: var(--header-h);
  border-radius: var(--hero-rayon) var(--hero-rayon) 0 0;
  background-color: var(--canvas);
  box-shadow: 0 calc(-1 * var(--header-h)) 0 var(--surface);
  overflow: clip;
}

.header--arrondi-bas .header__fond {
  border-radius: 0 0 var(--hero-rayon) var(--hero-rayon);
}

@media (max-width: 47.99rem) {
  [data-header-hero] {
    --hero-rayon: 1.25rem;
  }
}

.header__ligne {
  width: 100%;
  padding-inline: 1.25rem;
}

@media (min-width: 48rem) {
  .header__ligne {
    padding-inline: 2rem;
  }
}

@media (min-width: 80rem) {
  .header__ligne {
    padding-inline: 2.5rem;
  }
}

.hero-accueil__halos {
  filter: blur(70px);
  opacity: .55;
  pointer-events: none;
  position: absolute;
  inset: -20%;
}

.hero-accueil__int {
  z-index: 1;
  text-align: center;
  width: 100%;
  transition: padding-top .5s var(--ease-dycast);
  flex-direction: column;
  align-items: center;
  padding-top: 3.75rem;
  padding-bottom: 6.5rem;
  display: flex;
  position: relative;
}

body:has(.header--arrondi-bas) .hero-accueil__int {
  padding-top: calc(var(--header-h) + 3.75rem);
}

.hero-accueil__eyebrow {
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #fafaf885;
  font-size: .8125rem;
  font-weight: 600;
}

.hero-accueil__titre {
  font-family: var(--font-display);
  font-size: var(--text-hero);
  letter-spacing: -.035em;
  color: #f5f5f7;
  margin-top: 1rem;
  font-weight: 600;
  line-height: .98;
}

.hero-accueil__lead {
  max-width: 44rem;
  font-size: var(--text-lead);
  color: #fafaf8c7;
  text-wrap: pretty;
  margin-top: 1.5rem;
  line-height: 1.55;
}

.hero-accueil__preuve {
  color: #fafaf885;
  text-wrap: pretty;
  max-width: 48rem;
  margin-top: 1.1rem;
  font-size: 1.05rem;
  line-height: 1.55;
}

.hero-accueil__actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin-top: 2.35rem;
  display: flex;
}

.hero-accueil__cta {
  appearance: none;
  min-height: 3.1rem;
  font: inherit;
  cursor: pointer;
  transition: transform .35s var(--ease-dycast),
    background-color .3s,
    border-color .3s,
    color .3s;
  background: none;
  border: none;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: .55rem;
  padding: 0 1.4rem;
  font-size: .9375rem;
  font-weight: 500;
  display: inline-flex;
}

.hero-accueil__cta:active {
  transform: scale(.98);
}

.hero-accueil__cta--plein {
  color: #0c0c0b;
  background: #fff;
}

.hero-accueil__cta--plein:hover {
  background: #fff;
}

.hero-accueil__cta--plein span {
  transition: transform .3s var(--ease-dycast);
}

.hero-accueil__cta--plein:hover span {
  transform: translateX(4px);
}

.hero-accueil__cta--ligne {
  color: #f5f5f7;
  border: 1px solid #ffffff38;
}

.hero-accueil__cta--ligne:hover {
  background: #ffffff0f;
  border-color: #ffffff80;
}

.hero-accueil__portes {
  width: 100%;
  max-width: 40rem;
  margin-top: 3rem;
  display: grid;
}

.hero-accueil__porte {
  border-radius: var(--radius-panel);
  text-align: left;
  min-height: 18rem;
  color: inherit;
  transition: transform .5s var(--ease-dycast),
    border-color .4s,
    background-color .4s;
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

@media (min-width: 48rem) {
  .hero-accueil__porte {
    min-height: 20rem;
    padding: 2.5rem;
  }
}

a.hero-accueil__porte:hover {
  background: #ffffff12;
  border-color: #ffffff2e;
  transform: translateY(-6px);
}

.hero-accueil__porte-halo {
  pointer-events: none;
  opacity: .7;
  transition: opacity .5s;
  position: absolute;
  inset: 0;
}

a.hero-accueil__porte:hover .hero-accueil__porte-halo {
  opacity: 1;
}

.hero-accueil__porte--dev .hero-accueil__porte-halo {
  background: radial-gradient(70% 60% at 80% 0, #ff5c1f38, #0000 70%);
}

.hero-accueil__porte--studio .hero-accueil__porte-halo {
  background: radial-gradient(70% 60% at 20% 0, #8b5cf633, #0000 70%);
}

.hero-accueil__porte--assistant .hero-accueil__porte-halo {
  background: radial-gradient(70% 60% at 80% 0, #ff5c1f33, #0000 70%), radial-gradient(70% 60% at 18% 0, #8b5cf629, #0000 70%);
}

.hero-accueil__porte--assistant {
  gap: 1.15rem;
}

.hero-accueil__porte-num {
  font-family: var(--font-mono);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #fafaf87a;
  font-size: .7rem;
  display: block;
}

.hero-accueil__porte-nom {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  margin-top: .75rem;
  font-size: clamp(2.1rem, 3.6vw, 3.4rem);
  font-weight: 600;
  line-height: 1;
  display: block;
}

.hero-accueil__porte-texte {
  color: #fafaf89e;
  max-width: 22rem;
  margin-top: .75rem;
  font-size: .9375rem;
  line-height: 1.55;
  display: block;
}

.hero-accueil__porte-bas {
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  display: flex;
  position: relative;
}

.hero-accueil__porte-icons {
  gap: .6rem;
  display: flex;
}

.hero-accueil__porte-icons span {
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
}

.hero-accueil__porte-fleche {
  transition: transform .3s var(--ease-dycast);
  font-size: 1.25rem;
}

a.hero-accueil__porte:hover .hero-accueil__porte-fleche {
  transform: translateX(6px);
}

.hero-accueil__assistant-haut {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
  position: relative;
}

.hero-accueil__assistant-reset {
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fafaf87a;
  font-size: .65rem;
}

.hero-accueil__assistant-reset:hover {
  color: #f5f5f7;
}

.hero-accueil__assistant-intro {
  max-width: 32rem;
}

.hero-accueil__assistant-fil {
  scrollbar-width: thin;
  scrollbar-color: #ffffff2e transparent;
  flex-direction: column;
  gap: .65rem;
  max-height: 13.5rem;
  padding-right: .25rem;
  display: flex;
  position: relative;
  overflow-y: auto;
}

.hero-accueil__bulle {
  white-space: pre-wrap;
  text-wrap: pretty;
  border-radius: 1rem;
  align-self: flex-start;
  max-width: 92%;
  margin: 0;
  padding: .7rem .95rem;
  font-size: .9375rem;
  line-height: 1.5;
}

.hero-accueil__bulle--user {
  background: #ffffff1a;
  border: 1px solid #ffffff1a;
  align-self: flex-end;
}

.hero-accueil__bulle--assistant {
  color: #fafaf8db;
  background: #ffffff0a;
  border: 1px solid #ffffff12;
}

.hero-accueil__bulle--attente {
  align-items: center;
  gap: .35rem;
  padding: .85rem 1.1rem;
  display: flex;
}

.hero-accueil__bulle--attente span {
  background: #fafaf88c;
  border-radius: 50%;
  width: .35rem;
  height: .35rem;
  animation: 1.1s ease-in-out infinite assistant-pulse;
}

.hero-accueil__bulle--attente span:nth-child(2) {
  animation-delay: .15s;
}

.hero-accueil__bulle--attente span:nth-child(3) {
  animation-delay: .3s;
}

@keyframes assistant-pulse {
  0%, 80%, 100% {
    opacity: .25;
    transform: translateY(0);
  }

  40% {
    opacity: 1;
    transform: translateY(-2px);
  }
}

.hero-accueil__assistant-amorces, .hero-accueil__assistant-liens {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
  position: relative;
}

.hero-accueil__puce {
  color: #fafaf8c7;
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 999px;
  padding: .4rem .75rem;
  font-size: .8125rem;
  line-height: 1.3;
  transition: border-color .25s, background-color .25s, color .25s;
}

.hero-accueil__puce:hover:not(:disabled) {
  color: #f5f5f7;
  background: #ffffff1a;
  border-color: #ffffff38;
}

.hero-accueil__puce:disabled {
  opacity: .5;
}

.hero-accueil__puce--lien {
  color: #f5f5f7;
}

.hero-accueil__assistant-cta {
  color: #f5f5f7;
  background: #ffffff14;
  border: 1px solid #ffffff29;
  border-radius: .9rem;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: .85rem 1.1rem;
  font-size: .9375rem;
  font-weight: 500;
  transition: background-color .25s, border-color .25s;
  display: inline-flex;
  position: relative;
}

.hero-accueil__assistant-cta:hover {
  background: #ffffff24;
  border-color: #ffffff47;
}

.hero-accueil__assistant-erreur {
  color: #fab4a0e6;
  margin: 0;
  font-size: .8125rem;
  position: relative;
}

.hero-accueil__saisie {
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 1rem;
  align-items: flex-end;
  gap: .6rem;
  padding: .45rem .45rem .45rem 1rem;
  display: flex;
  position: relative;
}

.hero-accueil__saisie textarea {
  resize: none;
  min-height: 1.4rem;
  max-height: 5.5rem;
  font: inherit;
  color: #f5f5f7;
  field-sizing: content;
  background: none;
  border: 0;
  flex: 1;
  padding: .45rem 0;
  font-size: .9375rem;
  line-height: 1.4;
}

.hero-accueil__saisie textarea::placeholder {
  color: #fafaf861;
}

.hero-accueil__saisie textarea:focus {
  outline: none;
}

.hero-accueil__saisie:focus-within {
  background: #ffffff12;
  border-color: #ffffff38;
}

.hero-accueil__saisie button {
  color: #f5f5f7;
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: .75rem;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2.35rem;
  height: 2.35rem;
  transition: background-color .25s, opacity .25s;
  display: flex;
}

.hero-accueil__saisie button:hover:not(:disabled) {
  background: #ffffff29;
}

.hero-accueil__saisie button:disabled {
  opacity: .35;
}

.hero-accueil__piege {
  width: 1px;
  height: 1px;
  position: absolute;
  left: -9999px;
  overflow: hidden;
}

.hero-accueil__porte--assistant .hero-accueil__porte-icons {
  flex-wrap: wrap;
}

.hero-accueil__defiler {
  z-index: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #fafaf866;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
  font-size: .62rem;
  display: flex;
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  transform: translateX(-50%);
}

.hero-accueil__defiler span {
  background: linear-gradient(#fff0 0%, #fff 100%);
  width: 1px;
  height: 2.25rem;
  animation: 2.2s ease-in-out infinite hero-defiler;
}

@keyframes hero-defiler {
  0% {
    transform-origin: top;
    opacity: 0;
    transform: scaleY(0);
  }

  40% {
    transform-origin: top;
    opacity: 1;
    transform: scaleY(1);
  }

  100% {
    transform-origin: bottom;
    opacity: 0;
    transform: scaleY(0);
  }
}

.header-item--actif:after {
  content: "";
  background: var(--accent-strong);
  border-radius: 999px;
  width: 4px;
  height: 4px;
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
}

.carte-produit {
  --accent: #ff5c1f;
  color: #f5f5f7;
  background: linear-gradient(180deg, var(--accent) 0%, #0f0f13 100%);
  border-radius: 1.75rem;
  flex-direction: column;
  height: 100%;
  min-height: 31rem;
  padding: 28px 28px 30px;
  display: flex;
  position: relative;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .carte-produit {
    background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 13%, #15151a) 0%, #0f0f13 100%);
  }
}

.carte-produit {
  transition: transform .6s var(--ease-dycast),
    box-shadow .6s var(--ease-dycast),
    border-color .3s;
  border: 1px solid #ffffff12;
}

.carte-produit:hover {
  border-color: var(--accent);
  transform: translateY(-6px);
}

@supports (color: color-mix(in lab, red, red)) {
  .carte-produit:hover {
    border-color: color-mix(in srgb, var(--accent) 40%, transparent);
  }
}

.carte-produit:hover {
  box-shadow: 0 40px 80px -40px var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .carte-produit:hover {
    box-shadow: 0 40px 80px -40px color-mix(in srgb, var(--accent) 60%, transparent);
  }
}

.carte-produit__halo {
  background: radial-gradient(closest-side, var(--accent), transparent 70%);
  height: 70%;
  position: absolute;
  inset: -40% -30% auto;
}

@supports (color: color-mix(in lab, red, red)) {
  .carte-produit__halo {
    background: radial-gradient(closest-side, color-mix(in srgb, var(--accent) 45%, transparent), transparent 70%);
  }
}

.carte-produit__halo {
  opacity: .55;
  transition: opacity .6s var(--ease-dycast),
    transform .6s var(--ease-dycast);
  pointer-events: none;
}

.carte-produit:hover .carte-produit__halo {
  opacity: .9;
  transform: translateY(6%);
}

.carte-produit__haut {
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #ffffffa8;
  justify-content: space-between;
  align-items: center;
  font-size: .66rem;
  display: flex;
  position: relative;
}

.carte-produit__fleche {
  color: var(--accent);
  font-size: 1.1rem;
  transition: transform .3s;
}

.carte-produit:hover .carte-produit__fleche {
  transform: translateX(4px);
}

.carte-produit__visuel {
  height: 172px;
  color: var(--accent);
  margin: 28px -8px 22px;
  display: block;
  position: relative;
}

.carte-produit__visuel .scene {
  width: 100%;
  height: 100%;
}

.carte-produit__nom {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  margin-top: auto;
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1.1;
  display: block;
}

.carte-produit__service {
  color: var(--accent);
  margin: .2rem 0 .7rem;
  font-size: .95rem;
  font-weight: 500;
  display: block;
}

.carte-produit__phrase {
  color: #fffc;
  font-size: .92rem;
  line-height: 1.45;
  display: block;
}

.galerie__entete {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: .75rem 2rem;
  margin-bottom: 1.75rem;
  display: flex;
}

.carrousel {
  --carrousel-marge: max(1.25rem, calc((100vw - 75rem) / 2 + 2rem));
}

@media (max-width: 47.99rem) {
  .carrousel {
    --carrousel-marge: 1.25rem;
  }
}

.carrousel__piste {
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--carrousel-marge);
  padding-inline: var(--carrousel-marge);
  scrollbar-width: none;
  gap: 1rem;
  padding-block: .5rem 1rem;
  display: flex;
  overflow-x: auto;
}

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

.carrousel__carte {
  scroll-snap-align: start;
  flex: 0 0 clamp(17.5rem, 78vw, 23.25rem);
}

.carrousel__commandes {
  justify-content: flex-end;
  gap: .75rem;
  margin-top: .75rem;
  display: flex;
}

.carrousel__bouton {
  background: var(--ink);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .carrousel__bouton {
    background: color-mix(in oklab, var(--ink) 8%, transparent);
  }
}

.carrousel__bouton {
  color: var(--ink);
  transition: background-color .2s, opacity .2s;
}

.carrousel__bouton:hover:not(:disabled) {
  background: var(--ink);
}

@supports (color: color-mix(in lab, red, red)) {
  .carrousel__bouton:hover:not(:disabled) {
    background: color-mix(in oklab, var(--ink) 16%, transparent);
  }
}

.carrousel__bouton:disabled {
  opacity: .3;
  cursor: default;
}

.phares {
  --phares-carte: min(38rem, 84vw);
  --phares-gap: 1.25rem;
}

.phares__fenetre {
  padding-inline: max(1.25rem, calc((100% - var(--phares-carte)) / 2));
  overflow: hidden;
}

.phares__piste {
  gap: var(--phares-gap);
  width: max-content;
  animation: phares-pas 18s var(--ease-dycast) infinite;
  display: flex;
}

.phares:hover .phares__piste, .phares:focus-within .phares__piste {
  animation-play-state: paused;
}

.phares__carte {
  flex: 0 0 var(--phares-carte);
}

.phares__cta {
  justify-content: center;
  margin-top: 2rem;
  padding-inline: 1.25rem;
  display: flex;
}

.phares__bouton {
  background: var(--accent);
  height: 3rem;
  color: var(--accent-contrast);
  white-space: nowrap;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: 0 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  transition: opacity .3s, transform .3s;
  display: inline-flex;
}

.phares__bouton:hover {
  opacity: .85;
}

.phares__bouton:active {
  transform: scale(.98);
}

#univers-accueil {
  scroll-margin-top: calc(var(--header-h) + .5rem);
}

.assistant-dialog {
  color: #f5f5f7;
  background: none;
  border: 0;
  width: min(40rem, 100vw - 1.5rem);
  max-height: min(42rem, 100dvh - 1.5rem);
  margin: auto;
  padding: 0;
}

.assistant-dialog::backdrop {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #0c0c0b94;
}

.assistant-dialog__int {
  position: relative;
}

.assistant-dialog__fermer {
  z-index: 2;
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fafaf87a;
  font-size: .65rem;
  position: absolute;
  top: 1.15rem;
  right: 1.25rem;
}

.assistant-dialog__fermer:hover {
  color: #f5f5f7;
}

.assistant-dialog .hero-accueil__porte--assistant {
  background: #161618f5;
  border-color: #ffffff1a;
  min-height: 26rem;
  max-height: min(42rem, 100dvh - 1.5rem);
}

@keyframes phares-pas {
  0%, 26% {
    transform: translateX(0);
  }

  33.33%, 59.33% {
    transform: translateX(calc(-1 * (var(--phares-carte) + var(--phares-gap))));
  }

  66.66%, 92.66% {
    transform: translateX(calc(-2 * (var(--phares-carte) + var(--phares-gap))));
  }

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

@media (prefers-reduced-motion: reduce) {
  .phares__fenetre {
    padding-inline: max(1.25rem, calc((100% - var(--phares-carte)) / 2));
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overflow-x: auto;
  }

  .phares__piste {
    animation: none;
  }

  .phares__carte {
    scroll-snap-align: center;
  }
}

.scene {
  overflow: visible;
}

.scene * {
  transform-box: fill-box;
  transform-origin: center;
}

.sc-cadre {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-cadre {
    fill: color-mix(in srgb, currentColor 7%, transparent);
  }
}

.sc-cadre {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-cadre {
    stroke: color-mix(in srgb, currentColor 40%, transparent);
  }
}

.sc-cadre {
  stroke-width: 1.5px;
}

.sc-cadre--tel {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-cadre--tel {
    fill: color-mix(in srgb, currentColor 10%, #000 30%);
  }
}

.sc-barre {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-barre {
    fill: color-mix(in srgb, currentColor 12%, transparent);
  }
}

.sc-point, .sc-encoche, .sc-url {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-point, .sc-encoche, .sc-url {
    fill: color-mix(in srgb, currentColor 35%, transparent);
  }
}

.sc-tuile {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-tuile {
    fill: color-mix(in srgb, currentColor 14%, transparent);
  }
}

.sc-tuile {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-tuile {
    stroke: color-mix(in srgb, currentColor 25%, transparent);
  }
}

.sc-tuile {
  stroke-width: 1px;
}

.sc-tuile--accent {
  fill: currentColor;
  opacity: .9;
}

.sc-texte {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-texte {
    fill: color-mix(in srgb, currentColor 22%, transparent);
  }
}

.sc-texte--fort {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-texte--fort {
    fill: color-mix(in srgb, currentColor 55%, transparent);
  }
}

.sc-bouton {
  fill: currentColor;
}

.sc-courbe, .sc-pouls {
  fill: none;
  stroke: currentColor;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sc-point-vif {
  fill: currentColor;
  filter: drop-shadow(0 0 8px);
  animation: 2.4s ease-in-out infinite sc-pulse;
}

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

  50% {
    opacity: .45;
  }
}

.sc-colonne {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-colonne {
    fill: color-mix(in srgb, currentColor 30%, transparent);
  }
}

.sc-colonne--accent {
  fill: currentColor;
}

.sc-bulle {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-bulle {
    fill: color-mix(in srgb, currentColor 18%, transparent);
  }
}

.sc-bulle {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-bulle {
    stroke: color-mix(in srgb, currentColor 40%, transparent);
  }
}

.sc-bulle {
  stroke-width: 1px;
}

.sc-lien {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-lien {
    stroke: color-mix(in srgb, currentColor 35%, transparent);
  }
}

.sc-lien {
  stroke-width: 2px;
  stroke-dasharray: 6 8;
  animation: 3s linear infinite sc-flux;
}

@keyframes sc-flux {
  to {
    stroke-dashoffset: -28px;
  }
}

.sc-paquet {
  fill: currentColor;
  filter: drop-shadow(0 0 6px);
}

.sc-noeud {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-noeud {
    fill: color-mix(in srgb, currentColor 10%, transparent);
  }
}

.sc-noeud {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-noeud {
    stroke: color-mix(in srgb, currentColor 45%, transparent);
  }
}

.sc-noeud {
  stroke-width: 1.5px;
}

.sc-coeur {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-coeur {
    fill: color-mix(in srgb, currentColor 18%, transparent);
  }
}

.sc-coeur {
  stroke: currentColor;
  stroke-width: 2px;
}

.sc-coeur-int {
  fill: currentColor;
}

.sc-bouclier {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-bouclier {
    fill: color-mix(in srgb, currentColor 10%, transparent);
  }
}

.sc-bouclier {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-bouclier {
    stroke: color-mix(in srgb, currentColor 55%, transparent);
  }
}

.sc-bouclier {
  stroke-width: 2px;
}

.sc-bouclier-int {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-bouclier-int {
    fill: color-mix(in srgb, currentColor 22%, transparent);
  }
}

.sc-bouclier-int {
  stroke: currentColor;
  stroke-width: 1.5px;
}

.sc-coche {
  fill: none;
  stroke: currentColor;
  stroke-width: 6px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sc-anneau {
  fill: none;
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-anneau {
    stroke: color-mix(in srgb, currentColor 30%, transparent);
  }
}

.sc-anneau {
  stroke-width: 1px;
  stroke-dasharray: 4 6;
  animation: 40s linear infinite sc-tourne;
}

.sc-anneau--fin {
  stroke-dasharray: none;
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-anneau--fin {
    stroke: color-mix(in srgb, currentColor 22%, transparent);
  }
}

.sc-anneau--fin {
  animation: 4s ease-out infinite sc-onde-anneau;
}

@keyframes sc-tourne {
  to {
    transform: rotate(360deg);
  }
}

@keyframes sc-onde-anneau {
  0% {
    opacity: .9;
    transform: scale(.85);
  }

  100% {
    opacity: 0;
    transform: scale(1.15);
  }
}

.sc-ligne-base, .sc-ligne-fine, .sc-grille {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-ligne-base, .sc-ligne-fine, .sc-grille {
    stroke: color-mix(in srgb, currentColor 22%, transparent);
  }
}

.sc-ligne-base, .sc-ligne-fine, .sc-grille {
  stroke-width: 1px;
}

.sc-grille {
  stroke-dasharray: 3 6;
}

.sc-badge {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-badge {
    fill: color-mix(in srgb, currentColor 14%, transparent);
  }
}

.sc-badge {
  stroke: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-badge {
    stroke: color-mix(in srgb, currentColor 35%, transparent);
  }
}

.sc-badge {
  stroke-width: 1px;
}

.sc-forme {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-forme {
    fill: color-mix(in srgb, currentColor 12%, transparent);
  }
}

.sc-forme {
  stroke: currentColor;
  stroke-width: 2px;
}

.sc-forme--plein {
  fill: currentColor;
  stroke: none;
}

.sc-forme--trait {
  fill: none;
}

.sc-viseur {
  fill: none;
  stroke: currentColor;
  stroke-width: 3px;
  stroke-linecap: round;
}

.sc-rec {
  fill: currentColor;
  animation: 1.4s ease-in-out infinite sc-pulse;
}

.sc-lumiere {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-lumiere {
    fill: color-mix(in srgb, currentColor 18%, transparent);
  }
}

.sc-lumiere {
  stroke: currentColor;
  stroke-width: 2px;
}

.sc-lumiere-int {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-lumiere-int {
    fill: color-mix(in srgb, currentColor 35%, transparent);
  }
}

.sc-lecture {
  fill: currentColor;
}

.sc-timeline {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-timeline {
    fill: color-mix(in srgb, currentColor 22%, transparent);
  }
}

.sc-timeline--accent {
  fill: currentColor;
}

.sc-onde-barre {
  fill: currentColor;
  opacity: .85;
  animation: 1.8s ease-in-out infinite alternate sc-onde;
  animation-delay: calc(var(--i) * -.11s);
}

@keyframes sc-onde {
  from {
    transform: scaleY(.55);
  }

  to {
    transform: scaleY(1.15);
  }
}

.sc-micro {
  fill: currentColor;
}

.sc-micro-trait {
  fill: none;
  stroke: currentColor;
  stroke-width: 4px;
  stroke-linecap: round;
}

.sc-aire {
  fill: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .sc-aire {
    fill: color-mix(in srgb, currentColor 16%, transparent);
  }
}

.scene--mini .sc-point-vif, .scene--mini .sc-rec {
  animation-duration: 3.2s;
}

@keyframes cue {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(7px);
  }
}

@keyframes defile-y {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-50%);
  }
}

@keyframes defile-y-inverse {
  from {
    transform: translateY(-50%);
  }

  to {
    transform: translateY(0);
  }
}

.anim-defile {
  animation: 46s linear infinite defile-y;
}

.anim-defile-inverse {
  animation: 58s linear infinite defile-y-inverse;
}

@keyframes pouls-trace {
  from {
    stroke-dashoffset: 1280px;
  }

  to {
    stroke-dashoffset: 0;
  }
}

.anim-pouls {
  animation: 3.2s linear infinite pouls-trace;
}

@keyframes ondule {
  0%, 100% {
    transform: scaleY(.3);
  }

  50% {
    transform: scaleY(1);
  }
}

.anim-ondule {
  animation: 2.6s ease-in-out infinite ondule;
}

@keyframes flux {
  from {
    stroke-dashoffset: 48px;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes rotation-lente {
  from {
    transform: rotate(0);
  }

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

@keyframes chroma {
  0%, 60% {
    opacity: 0;
    transform: scale(.4);
  }

  80% {
    opacity: 1;
    transform: scale(1.15);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes defilement {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes defilement-inverse {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

.defilement-piste {
  animation: 36s linear infinite defilement;
}

.defilement-piste--inverse {
  animation: 48s linear infinite defilement-inverse;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, :before, :after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.prose-dycast {
  color: var(--ink);
  font-size: 1.0625rem;
  line-height: 1.75;
}

.prose-dycast h2 {
  font-family: var(--font-instrument), sans-serif;
  letter-spacing: -.015em;
  margin: 2.25rem 0 .75rem;
  font-size: 1.5rem;
  font-weight: 600;
}

.prose-dycast h3 {
  margin: 1.75rem 0 .5rem;
  font-size: 1.1875rem;
  font-weight: 600;
}

.prose-dycast p {
  margin: 0 0 1.1rem;
}

.prose-dycast a {
  color: var(--accent-strong);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.prose-dycast ul, .prose-dycast ol {
  margin: 0 0 1.1rem;
  padding-left: 1.4rem;
}

.prose-dycast ul {
  list-style: outside;
}

.prose-dycast ol {
  list-style: decimal;
}

.prose-dycast li {
  margin-bottom: .35rem;
}

.prose-dycast blockquote {
  border-left: 3px solid var(--accent);
  color: var(--muted);
  margin: 1.5rem 0;
  padding-left: 1.1rem;
  font-style: italic;
}

.prose-dycast img {
  border-radius: var(--radius-card);
  max-width: 100%;
  height: auto;
  margin: 1.5rem 0;
}

.prose-dycast pre {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  font-size: .85rem;
  overflow-x: auto;
}

.prose-dycast code {
  font-family: var(--font-geist-mono), monospace;
  font-size: .9em;
}

.prose-dycast strong {
  font-weight: 600;
}

.prose-dycast hr {
  border: 0;
  border-top: 1px solid var(--line);
  width: 4rem;
  margin: 2.5rem auto;
}

.prose-dycast figure {
  margin: 2rem 0;
}

.prose-dycast figure img {
  width: 100%;
  margin: 0;
  display: block;
}

.prose-dycast figure figcaption {
  color: var(--muted);
  text-align: center;
  margin-top: .6rem;
  font-size: .8125rem;
  line-height: 1.5;
}

.prose-dycast figure[data-taille="large"] {
  max-width: calc(100vw - 2.5rem);
  margin-inline: calc(50% - 50vw + 1.25rem);
}

@media (min-width: 64rem) {
  .prose-dycast figure[data-taille="large"] {
    max-width: none;
    margin-inline: -8rem;
  }
}

.prose-dycast figcaption .credit, .couverture-article__credit {
  color: var(--muted);
  opacity: .85;
  font-size: .75rem;
}

.prose-dycast figcaption .credit:before {
  content: "— ";
}

.couverture-article__credit {
  text-align: right;
  margin-top: .5rem;
}

.prose-dycast figure[data-taille="petite"] {
  max-width: 60%;
  margin-inline: auto;
}

.prose-dycast figure.video video {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-card);
  background: #000;
  width: 100%;
  display: block;
}

.prose-dycast .video-embed {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-card);
  position: relative;
  overflow: hidden;
}

.prose-dycast .video-embed iframe {
  border: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.prose-dycast .encadre {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .prose-dycast .encadre {
    background: color-mix(in oklab, var(--accent) 6%, var(--surface));
  }
}

.prose-dycast .encadre {
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-card);
  margin: 1.75rem 0;
  padding: 1.1rem 1.35rem;
}

.prose-dycast .encadre > :last-child {
  margin-bottom: 0;
}

.prose-dycast .encadre__titre {
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: .4rem;
  font-size: .75rem;
  font-weight: 700;
}

.prose-dycast .bouton {
  background: var(--accent);
  color: var(--accent-contrast);
  border-radius: .5rem;
  margin: .5rem 0 1.25rem;
  padding: .7rem 1.25rem;
  font-size: .9375rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
}

.prose-dycast .bouton:hover {
  background: var(--accent-strong);
}

.prose-dycast .a-lire-aussi {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  margin: 2.25rem 0;
  padding: 1.1rem 1.35rem;
}

.prose-dycast .a-lire-aussi__titre {
  font-family: var(--font-instrument), sans-serif;
  margin-bottom: .5rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.prose-dycast .a-lire-aussi ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prose-dycast .a-lire-aussi li {
  margin-bottom: .4rem;
}

.prose-dycast .a-lire-aussi__type {
  color: var(--muted);
  margin-left: .4rem;
  font-size: .75rem;
}

.prose-dycast table {
  border-collapse: collapse;
  width: 100%;
  margin: 1.5rem 0;
  font-size: .9375rem;
}

.prose-dycast th, .prose-dycast td {
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  padding: .55rem .7rem;
}

.prose-dycast th {
  font-weight: 600;
}

.wysiwyg:empty:before {
  color: var(--muted);
  content: attr(data-placeholder);
  opacity: .6;
}

.wysiwyg figure[data-taille="large"] {
  max-width: none;
  margin-inline: 0;
}

.wysiwyg figure, .wysiwyg aside, .wysiwyg .video-embed {
  outline: 1px dashed #0000;
  transition: outline-color .15s;
}

.wysiwyg figure:hover, .wysiwyg aside:hover {
  outline-color: var(--accent);
}

.wysiwyg .video-embed iframe {
  pointer-events: none;
}

.couverture-article {
  border-radius: var(--radius-panel);
  overflow: hidden;
}

.couverture-article img, .couverture-article video {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  display: block;
}

.couverture-article .video-embed {
  aspect-ratio: 16 / 9;
  position: relative;
}

.couverture-article .video-embed iframe {
  border: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.pile-etudes {
  padding-bottom: 2.5rem;
}

.pile-etude {
  top: calc(var(--header-h) + .75rem + var(--i) * 10px);
  z-index: calc(1 + var(--i));
  transform-origin: top;
  will-change: transform;
  margin-bottom: 1.75rem;
  position: sticky;
}

.pile-etude:last-child {
  margin-bottom: 0;
}

.pile-etude__inner {
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  grid-template-columns: 1.05fr 1.1fr;
  align-items: center;
  gap: clamp(1.75rem, 4.5vw, 4rem);
  min-height: min(68vh, 38.75rem);
  padding: clamp(1.75rem, 4.5vw, 3.75rem);
  display: grid;
  overflow: hidden;
  box-shadow: 0 24px 60px -36px #0c0c0b47;
}

.pile-etude--doux .pile-etude__inner {
  background: var(--canvas);
}

.pile-etude--sombre .pile-etude__inner {
  background: var(--ink);
  color: #f5f5f7;
  border-color: var(--ink);
}

.pile-etude__kicker {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pile-accent, var(--accent-strong));
  margin: 0 0 1rem;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1;
}

.pile-etude--sombre .pile-etude__kicker {
  color: var(--pile-accent, #c4a574);
}

@supports (color: color-mix(in lab, red, red)) {
  .pile-etude--sombre .pile-etude__kicker {
    color: color-mix(in oklab, var(--pile-accent, #c4a574) 55%, white);
  }
}

.pile-etude__titre {
  font-family: var(--font-display);
  letter-spacing: -.01em;
  text-wrap: balance;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  font-weight: 400;
  line-height: 1.08;
}

.pile-etude__texte {
  max-width: 52ch;
  color: var(--muted);
  text-wrap: pretty;
  margin: 1.1rem 0 0;
  font-size: 1.05rem;
  line-height: 1.55;
}

.pile-etude--sombre .pile-etude__texte {
  color: #f5f5f7b8;
}

.pile-etude__liens {
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.5rem 0 0;
  display: flex;
}

.pile-etude__liens a {
  border: 1px solid var(--line);
  border-radius: 999px;
  align-items: center;
  gap: .45rem;
  padding: .28rem .75rem .28rem .32rem;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1;
  transition: border-color .2s, background .2s;
  display: inline-flex;
}

.pile-etude__icone {
  width: 1.7rem;
  height: 1.25rem;
  color: var(--lien-accent, var(--pile-accent, var(--accent)));
  place-items: center;
  display: grid;
}

.pile-etude__icone .scene {
  width: 100%;
  height: 100%;
}

@media (hover: hover) {
  .pile-etude__liens a:hover {
    border-color: var(--lien-accent, var(--ink));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .pile-etude__liens a:hover {
      border-color: color-mix(in oklab, var(--lien-accent, var(--ink)) 45%, var(--line));
    }
  }

  .pile-etude__liens a:hover {
    background: var(--lien-accent, var(--ink));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .pile-etude__liens a:hover {
      background: color-mix(in oklab, var(--lien-accent, var(--ink)) 8%, transparent);
    }
  }
}

.pile-etude--sombre .pile-etude__liens a {
  border-color: #ffffff24;
}

@media (hover: hover) {
  .pile-etude--sombre .pile-etude__liens a:hover {
    border-color: var(--lien-accent, #fff);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .pile-etude--sombre .pile-etude__liens a:hover {
      border-color: color-mix(in oklab, var(--lien-accent, #fff) 50%, transparent);
    }
  }

  .pile-etude--sombre .pile-etude__liens a:hover {
    background: var(--lien-accent, #fff);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .pile-etude--sombre .pile-etude__liens a:hover {
      background: color-mix(in oklab, var(--lien-accent, #fff) 12%, transparent);
    }
  }
}

.pile-etude__cta {
  margin-top: 1.75rem;
}

.pile-etude--sombre .pile-etude__cta {
  color: #0c0c0b;
  background: #fff;
}

.pile-etude__scene {
  perspective: 1400px;
  justify-content: center;
  align-items: center;
  min-height: 16rem;
  display: flex;
  position: relative;
}

.pile-etude__halo {
  background: radial-gradient(ellipse at 50% 46%,
    var(--pile-accent, var(--accent-strong)),
    transparent 68%);
  border-radius: 50%;
  position: absolute;
  inset: 8% 4%;
}

@supports (color: color-mix(in lab, red, red)) {
  .pile-etude__halo {
    background: radial-gradient(ellipse at 50% 46%,
    color-mix(in oklab, var(--pile-accent, var(--accent-strong)) 32%, transparent),
    transparent 68%);
  }
}

.pile-etude__halo {
  filter: blur(28px);
  pointer-events: none;
  transform: translateZ(0);
}

.pile-etude--sombre .pile-etude__halo {
  background: radial-gradient(ellipse at 50% 46%,
    var(--pile-accent, #c4a574),
    transparent 70%);
}

@supports (color: color-mix(in lab, red, red)) {
  .pile-etude--sombre .pile-etude__halo {
    background: radial-gradient(ellipse at 50% 46%,
    color-mix(in oklab, var(--pile-accent, #c4a574) 44%, transparent),
    transparent 70%);
  }
}

.pile-etude__navigateur {
  z-index: 1;
  border: 1px solid var(--line);
  background: var(--canvas);
  transform-origin: bottom;
  width: 100%;
  transition: transform .7s var(--ease-dycast);
  border-radius: .85rem;
  position: relative;
  overflow: hidden;
  transform: rotateX(7deg)rotateY(-5deg);
  box-shadow: 0 22px 48px -22px #0c0c0b6b, inset 0 0 0 1px #ffffff59;
}

.pile-etude__navigateur:after {
  content: "";
  pointer-events: none;
  transition: transform .85s var(--ease-dycast);
  background: linear-gradient(115deg, #0000 38%, #ffffff29 49%, #0000 60%);
  position: absolute;
  inset: 0;
  transform: translateX(-130%);
}

.pile-etude:hover .pile-etude__navigateur {
  transform: rotateX(0)rotateY(0)translateY(-.4rem);
}

.pile-etude:hover .pile-etude__navigateur:after {
  transform: translateX(130%);
}

.pile-etude__barre {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  align-items: center;
  gap: .35rem;
  height: 1.65rem;
  padding: 0 .7rem;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .pile-etude__barre {
    background: color-mix(in oklab, var(--surface) 82%, var(--ink));
  }
}

.pile-etude__barre span {
  background: var(--ink);
  border-radius: 50%;
  width: .48rem;
  height: .48rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .pile-etude__barre span {
    background: color-mix(in oklab, var(--ink) 18%, transparent);
  }
}

.pile-etude__barre span:first-child {
  background: #ff5f57;
}

.pile-etude__barre span:nth-child(2) {
  background: #febc2e;
}

.pile-etude__barre span:nth-child(3) {
  background: #28c840;
}

.pile-etude__img {
  object-fit: contain;
  object-position: top center;
  background: var(--canvas);
  width: 100%;
  height: auto;
  display: block;
}

.pile-etude__bascule {
  position: relative;
}

.pile-etude__img--sombre {
  object-fit: cover;
  object-position: top center;
  width: 100%;
  height: 100%;
  animation: 8s ease-in-out infinite pile-theme;
  position: absolute;
  inset: 0;
}

@media (hover: hover) {
  .pile-etude:hover .pile-etude__img--sombre {
    opacity: 1;
    animation-play-state: paused;
  }
}

.pile-etude--sombre .pile-etude__navigateur {
  background: #121212;
  border-color: #ffffff14;
  box-shadow: 0 22px 52px -18px #0000009e, inset 0 0 0 1px #ffffff0f;
}

.pile-etude--sombre .pile-etude__barre {
  background: #0c0c0c;
  border-color: #ffffff0f;
}

.pile-etude--sombre .pile-etude__img {
  background: #121212;
}

.pile-etude__scene--portrait .pile-etude__tel {
  z-index: 1;
  width: min(14rem, 62%);
  animation: 6.4s ease-in-out infinite pile-flotte;
  position: relative;
}

.pile-etude__tel-secondaire {
  z-index: 2;
  filter: drop-shadow(0 18px 28px #0c0c0b47);
  width: min(28%, 8.6rem);
  transition: transform .7s var(--ease-dycast);
  position: absolute;
  bottom: -6%;
  left: -2%;
}

.pile-etude__tel-secondaire--fort {
  width: min(34%, 10.5rem);
  bottom: -8%;
  left: -4%;
}

.pile-etude:hover .pile-etude__tel-secondaire {
  transform: translateY(-.55rem);
}

@keyframes pile-flotte {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-.45rem);
  }
}

@media (max-width: 900px) {
  .pile-etude__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .pile-etude__scene {
    order: -1;
    min-height: 0;
    padding: .5rem 0 1rem;
  }

  .pile-etude__navigateur {
    transform: none;
  }

  .pile-etude__tel-secondaire {
    display: none;
  }

  .pile-etude__scene--portrait .pile-etude__tel {
    width: min(13.5rem, 58vw);
  }
}

@media (max-width: 640px) {
  .pile-etude {
    top: calc(var(--header-h) + .5rem + var(--i) * 6px);
  }

  .pile-etude__inner {
    border-radius: 1.375rem;
    padding: 1.25rem;
  }
}

@keyframes pile-theme {
  0%, 38% {
    opacity: 0;
  }

  52%, 88% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pile-etude {
    position: relative;
    top: auto;
    transform: none !important;
  }

  .pile-etude__navigateur, .pile-etude:hover .pile-etude__navigateur, .pile-etude:hover .pile-etude__tel-secondaire {
    transform: none;
  }

  .pile-etude__navigateur:after, .pile-etude:hover .pile-etude__navigateur:after {
    opacity: 0;
    transform: none;
  }

  .pile-etude__scene--portrait .pile-etude__tel {
    animation: none;
  }

  .pile-etude__img--sombre {
    clip-path: inset(0 0 0 50%);
    opacity: 1;
    animation: none;
  }
}

.intro__grille {
  opacity: 0;
  background-color: #0000;
  background-image: linear-gradient(to right, #ffffff12 1px, #0000 1px), linear-gradient(#ffffff12 1px, #0000 1px);
  background-position: 0 0, 0 0;
  background-repeat: repeat, repeat;
  background-size: clamp(3.5rem, 8vw, 6rem) clamp(3.5rem, 8vw, 6rem);
  background-attachment: scroll, scroll;
  background-origin: padding-box, padding-box;
  background-clip: border-box, border-box;
  animation: 1s ease-out .15s forwards intro-grille-in;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000, #000c 75%, #0000);
  mask-image: linear-gradient(#000, #000c 75%, #0000);
}

.intro__cadre {
  pointer-events: none;
  opacity: 0;
  animation: .8s ease-out .45s forwards intro-grille-in;
  position: absolute;
  inset: clamp(1rem, 4vw, 3.5rem);
}

.intro__cadre span {
  border-color: #ff7540cc;
  width: 1.75rem;
  height: 1.75rem;
  position: absolute;
}

.intro__cadre span:first-child {
  border-top: 1px solid;
  border-left: 1px solid;
  top: 0;
  left: 0;
}

.intro__cadre span:nth-child(2) {
  border-top: 1px solid;
  border-right: 1px solid;
  top: 0;
  right: 0;
}

.intro__cadre span:nth-child(3) {
  border-bottom: 1px solid;
  border-right: 1px solid;
  bottom: 0;
  right: 0;
}

.intro__cadre span:nth-child(4) {
  border-bottom: 1px solid;
  border-left: 1px solid;
  bottom: 0;
  left: 0;
}

.intro__meta {
  z-index: 2;
  color: #f5f5f770;
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: 0;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  font-size: clamp(.52rem, .45rem + .2vw, .66rem);
  font-weight: 600;
  animation: .7s ease-out .65s forwards intro-meta-in;
  display: flex;
  position: absolute;
  left: clamp(1.5rem, 5vw, 4.5rem);
  right: clamp(1.5rem, 5vw, 4.5rem);
}

.intro__meta span:first-child {
  color: #ff7540;
}

.intro__meta--haut {
  top: clamp(1.7rem, 5vw, 4.7rem);
}

.intro__meta--bas {
  bottom: clamp(1.7rem, 5vw, 4.7rem);
}

.intro__scene:before, .intro__scene:after {
  z-index: -1;
  content: "";
  opacity: 0;
  border: 1px solid #ffffff1c;
  border-radius: 50%;
  width: clamp(12rem, 24vw, 22rem);
  height: clamp(12rem, 24vw, 22rem);
  animation: 1s ease-out .8s forwards intro-orbite-in;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.intro__scene:before {
  left: 4%;
}

.intro__scene:after {
  border-style: dashed;
  border-color: #8b5cf64d;
  right: 4%;
}

.intro__index {
  color: #f5f5f761;
  font-family: var(--font-mono);
  letter-spacing: .18em;
  opacity: 0;
  margin: 0 0 clamp(1rem, 2vw, 1.75rem);
  font-size: .62rem;
  font-weight: 600;
  animation: .6s ease-out .9s forwards intro-meta-in;
}

@keyframes intro-grille-in {
  to {
    opacity: .7;
  }
}

@keyframes intro-meta-in {
  from {
    opacity: 0;
    transform: translateY(.5rem);
  }

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

@keyframes intro-orbite-in {
  from {
    opacity: 0;
    transform: translateY(-50%)scale(.8)rotate(-8deg);
  }

  to {
    opacity: 1;
    transform: translateY(-50%)scale(1)rotate(0);
  }
}

@media (max-width: 47.99rem) {
  .intro__meta span:last-child {
    text-align: right;
  }

  .intro__scene:before {
    left: -18%;
  }

  .intro__scene:after {
    right: -18%;
  }

  .intro__logo {
    width: min(84vw, 1040px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro__grille, .intro__cadre, .intro__meta, .intro__index, .intro__scene:before, .intro__scene:after {
    opacity: 1;
    animation: none;
  }
}

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

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

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

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

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

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

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

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

@property --tw-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ping {
  75%, 100% {
    opacity: 0;
    transform: scale(2);
  }
}

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

/* [project]/src/app/jonction-header-hero.css [app-client] (css) */
[data-header-hero] {
  --hero-rayon: 2rem;
  margin-top: var(--header-h);
  border-radius: var(--hero-rayon) var(--hero-rayon) 0 0;
  background-color: var(--canvas);
  box-shadow: 0 calc(-1 * var(--header-h)) 0 var(--surface);
  overflow: clip;
}

.header--arrondi-bas {
  --hero-rayon: 2rem;
}

.header--arrondi-bas .header__fond {
  border-radius: 0 0 var(--hero-rayon) var(--hero-rayon);
}

@media (max-width: 47.99rem) {
  [data-header-hero], .header--arrondi-bas {
    --hero-rayon: 1.25rem;
  }
}

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