/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-border-style: solid;
            --tw-leading: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-font-weight: initial
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-red-50: oklch(97.1% .013 17.38);
        --color-red-100: oklch(93.6% .032 17.717);
        --color-red-200: oklch(88.5% .062 18.334);
        --color-red-300: oklch(80.8% .114 19.571);
        --color-red-400: oklch(70.4% .191 22.216);
        --color-red-500: oklch(63.7% .237 25.331);
        --color-red-600: oklch(57.7% .245 27.325);
        --color-red-700: oklch(50.5% .213 27.518);
        --color-red-800: oklch(44.4% .177 26.899);
        --color-red-900: oklch(39.6% .141 25.723);
        --color-red-950: oklch(25.8% .092 26.042);
        --color-orange-50: oklch(98% .016 73.684);
        --color-orange-100: oklch(95.4% .038 75.164);
        --color-orange-200: oklch(90.1% .076 70.697);
        --color-orange-300: oklch(83.7% .128 66.29);
        --color-orange-400: oklch(75% .183 55.934);
        --color-orange-500: oklch(70.5% .213 47.604);
        --color-orange-600: oklch(64.6% .222 41.116);
        --color-orange-700: oklch(55.3% .195 38.402);
        --color-orange-800: oklch(47% .157 37.304);
        --color-orange-900: oklch(40.8% .123 38.172);
        --color-orange-950: oklch(26.6% .079 36.259);
        --color-amber-50: oklch(98.7% .022 95.277);
        --color-amber-100: oklch(96.2% .059 95.617);
        --color-amber-200: oklch(92.4% .12 95.746);
        --color-amber-300: oklch(87.9% .169 91.605);
        --color-amber-400: oklch(82.8% .189 84.429);
        --color-amber-500: oklch(76.9% .188 70.08);
        --color-amber-600: oklch(66.6% .179 58.318);
        --color-amber-700: oklch(55.5% .163 48.998);
        --color-amber-800: oklch(47.3% .137 46.201);
        --color-amber-900: oklch(41.4% .112 45.904);
        --color-amber-950: oklch(27.9% .077 45.635);
        --color-yellow-50: oklch(98.7% .026 102.212);
        --color-yellow-100: oklch(97.3% .071 103.193);
        --color-yellow-200: oklch(94.5% .129 101.54);
        --color-yellow-300: oklch(90.5% .182 98.111);
        --color-yellow-400: oklch(85.2% .199 91.936);
        --color-yellow-500: oklch(79.5% .184 86.047);
        --color-yellow-600: oklch(68.1% .162 75.834);
        --color-yellow-700: oklch(55.4% .135 66.442);
        --color-yellow-800: oklch(47.6% .114 61.907);
        --color-yellow-900: oklch(42.1% .095 57.708);
        --color-yellow-950: oklch(28.6% .066 53.813);
        --color-lime-50: oklch(98.6% .031 120.757);
        --color-lime-100: oklch(96.7% .067 122.328);
        --color-lime-200: oklch(93.8% .127 124.321);
        --color-lime-300: oklch(89.7% .196 126.665);
        --color-lime-400: oklch(84.1% .238 128.85);
        --color-lime-500: oklch(76.8% .233 130.85);
        --color-lime-600: oklch(64.8% .2 131.684);
        --color-lime-700: oklch(53.2% .157 131.589);
        --color-lime-800: oklch(45.3% .124 130.933);
        --color-lime-900: oklch(40.5% .101 131.063);
        --color-lime-950: oklch(27.4% .072 132.109);
        --color-green-50: oklch(98.2% .018 155.826);
        --color-green-100: oklch(96.2% .044 156.743);
        --color-green-200: oklch(92.5% .084 155.995);
        --color-green-300: oklch(87.1% .15 154.449);
        --color-green-400: oklch(79.2% .209 151.711);
        --color-green-500: oklch(72.3% .219 149.579);
        --color-green-600: oklch(62.7% .194 149.214);
        --color-green-700: oklch(52.7% .154 150.069);
        --color-green-800: oklch(44.8% .119 151.328);
        --color-green-900: oklch(39.3% .095 152.535);
        --color-green-950: oklch(26.6% .065 152.934);
        --color-emerald-50: oklch(97.9% .021 166.113);
        --color-emerald-100: oklch(95% .052 163.051);
        --color-emerald-200: oklch(90.5% .093 164.15);
        --color-emerald-300: oklch(84.5% .143 164.978);
        --color-emerald-400: oklch(76.5% .177 163.223);
        --color-emerald-500: oklch(69.6% .17 162.48);
        --color-emerald-600: oklch(59.6% .145 163.225);
        --color-emerald-700: oklch(50.8% .118 165.612);
        --color-emerald-800: oklch(43.2% .095 166.913);
        --color-emerald-900: oklch(37.8% .077 168.94);
        --color-emerald-950: oklch(26.2% .051 172.552);
        --color-teal-50: oklch(98.4% .014 180.72);
        --color-teal-100: oklch(95.3% .051 180.801);
        --color-teal-200: oklch(91% .096 180.426);
        --color-teal-300: oklch(85.5% .138 181.071);
        --color-teal-400: oklch(77.7% .152 181.912);
        --color-teal-500: oklch(70.4% .14 182.503);
        --color-teal-600: oklch(60% .118 184.704);
        --color-teal-700: oklch(51.1% .096 186.391);
        --color-teal-800: oklch(43.7% .078 188.216);
        --color-teal-900: oklch(38.6% .063 188.416);
        --color-teal-950: oklch(27.7% .046 192.524);
        --color-cyan-50: oklch(98.4% .019 200.873);
        --color-cyan-100: oklch(95.6% .045 203.388);
        --color-cyan-200: oklch(91.7% .08 205.041);
        --color-cyan-300: oklch(86.5% .127 207.078);
        --color-cyan-400: oklch(78.9% .154 211.53);
        --color-cyan-500: oklch(71.5% .143 215.221);
        --color-cyan-600: oklch(60.9% .126 221.723);
        --color-cyan-700: oklch(52% .105 223.128);
        --color-cyan-800: oklch(45% .085 224.283);
        --color-cyan-900: oklch(39.8% .07 227.392);
        --color-cyan-950: oklch(30.2% .056 229.695);
        --color-sky-50: oklch(97.7% .013 236.62);
        --color-sky-100: oklch(95.1% .026 236.824);
        --color-sky-200: oklch(90.1% .058 230.902);
        --color-sky-300: oklch(82.8% .111 230.318);
        --color-sky-400: oklch(74.6% .16 232.661);
        --color-sky-500: oklch(68.5% .169 237.323);
        --color-sky-600: oklch(58.8% .158 241.966);
        --color-sky-700: oklch(50% .134 242.749);
        --color-sky-800: oklch(44.3% .11 240.79);
        --color-sky-900: oklch(39.1% .09 240.876);
        --color-sky-950: oklch(29.3% .066 243.157);
        --color-blue-50: oklch(97% .014 254.604);
        --color-blue-100: oklch(93.2% .032 255.585);
        --color-blue-200: oklch(88.2% .059 254.128);
        --color-blue-300: oklch(80.9% .105 251.813);
        --color-blue-400: oklch(70.7% .165 254.624);
        --color-blue-500: oklch(62.3% .214 259.815);
        --color-blue-600: oklch(54.6% .245 262.881);
        --color-blue-700: oklch(48.8% .243 264.376);
        --color-blue-800: oklch(42.4% .199 265.638);
        --color-blue-900: oklch(37.9% .146 265.522);
        --color-blue-950: oklch(28.2% .091 267.935);
        --color-indigo-50: oklch(96.2% .018 272.314);
        --color-indigo-100: oklch(93% .034 272.788);
        --color-indigo-200: oklch(87% .065 274.039);
        --color-indigo-300: oklch(78.5% .115 274.713);
        --color-indigo-400: oklch(67.3% .182 276.935);
        --color-indigo-500: oklch(58.5% .233 277.117);
        --color-indigo-600: oklch(51.1% .262 276.966);
        --color-indigo-700: oklch(45.7% .24 277.023);
        --color-indigo-800: oklch(39.8% .195 277.366);
        --color-indigo-900: oklch(35.9% .144 278.697);
        --color-indigo-950: oklch(25.7% .09 281.288);
        --color-violet-50: oklch(96.9% .016 293.756);
        --color-violet-100: oklch(94.3% .029 294.588);
        --color-violet-200: oklch(89.4% .057 293.283);
        --color-violet-300: oklch(81.1% .111 293.571);
        --color-violet-400: oklch(70.2% .183 293.541);
        --color-violet-500: oklch(60.6% .25 292.717);
        --color-violet-600: oklch(54.1% .281 293.009);
        --color-violet-700: oklch(49.1% .27 292.581);
        --color-violet-800: oklch(43.2% .232 292.759);
        --color-violet-900: oklch(38% .189 293.745);
        --color-violet-950: oklch(28.3% .141 291.089);
        --color-purple-50: oklch(97.7% .014 308.299);
        --color-purple-100: oklch(94.6% .033 307.174);
        --color-purple-200: oklch(90.2% .063 306.703);
        --color-purple-300: oklch(82.7% .119 306.383);
        --color-purple-400: oklch(71.4% .203 305.504);
        --color-purple-500: oklch(62.7% .265 303.9);
        --color-purple-600: oklch(55.8% .288 302.321);
        --color-purple-700: oklch(49.6% .265 301.924);
        --color-purple-800: oklch(43.8% .218 303.724);
        --color-purple-900: oklch(38.1% .176 304.987);
        --color-purple-950: oklch(29.1% .149 302.717);
        --color-fuchsia-50: oklch(97.7% .017 320.058);
        --color-fuchsia-100: oklch(95.2% .037 318.852);
        --color-fuchsia-200: oklch(90.3% .076 319.62);
        --color-fuchsia-300: oklch(83.3% .145 321.434);
        --color-fuchsia-400: oklch(74% .238 322.16);
        --color-fuchsia-500: oklch(66.7% .295 322.15);
        --color-fuchsia-600: oklch(59.1% .293 322.896);
        --color-fuchsia-700: oklch(51.8% .253 323.949);
        --color-fuchsia-800: oklch(45.2% .211 324.591);
        --color-fuchsia-900: oklch(40.1% .17 325.612);
        --color-fuchsia-950: oklch(29.3% .136 325.661);
        --color-pink-50: oklch(97.1% .014 343.198);
        --color-pink-100: oklch(94.8% .028 342.258);
        --color-pink-200: oklch(89.9% .061 343.231);
        --color-pink-300: oklch(82.3% .12 346.018);
        --color-pink-400: oklch(71.8% .202 349.761);
        --color-pink-500: oklch(65.6% .241 354.308);
        --color-pink-600: oklch(59.2% .249 .584);
        --color-pink-700: oklch(52.5% .223 3.958);
        --color-pink-800: oklch(45.9% .187 3.815);
        --color-pink-900: oklch(40.8% .153 2.432);
        --color-pink-950: oklch(28.4% .109 3.907);
        --color-rose-50: oklch(96.9% .015 12.422);
        --color-rose-100: oklch(94.1% .03 12.58);
        --color-rose-200: oklch(89.2% .058 10.001);
        --color-rose-300: oklch(81% .117 11.638);
        --color-rose-400: oklch(71.2% .194 13.428);
        --color-rose-500: oklch(64.5% .246 16.439);
        --color-rose-600: oklch(58.6% .253 17.585);
        --color-rose-700: oklch(51.4% .222 16.935);
        --color-rose-800: oklch(45.5% .188 13.697);
        --color-rose-900: oklch(41% .159 10.272);
        --color-rose-950: oklch(27.1% .105 12.094);
        --color-slate-50: oklch(98.4% .003 247.858);
        --color-slate-100: oklch(96.8% .007 247.896);
        --color-slate-200: oklch(92.9% .013 255.508);
        --color-slate-300: oklch(86.9% .022 252.894);
        --color-slate-400: oklch(70.4% .04 256.788);
        --color-slate-500: oklch(55.4% .046 257.417);
        --color-slate-600: oklch(44.6% .043 257.281);
        --color-slate-700: oklch(37.2% .044 257.287);
        --color-slate-800: oklch(27.9% .041 260.031);
        --color-slate-900: oklch(20.8% .042 265.755);
        --color-slate-950: oklch(12.9% .042 264.695);
        --color-gray-50: oklch(98.5% .002 247.839);
        --color-gray-100: oklch(96.7% .003 264.542);
        --color-gray-200: oklch(92.8% .006 264.531);
        --color-gray-300: oklch(87.2% .01 258.338);
        --color-gray-400: oklch(70.7% .022 261.325);
        --color-gray-500: oklch(55.1% .027 264.364);
        --color-gray-600: oklch(44.6% .03 256.802);
        --color-gray-700: oklch(37.3% .034 259.733);
        --color-gray-800: oklch(27.8% .033 256.848);
        --color-gray-900: oklch(21% .034 264.665);
        --color-gray-950: oklch(13% .028 261.692);
        --color-zinc-50: oklch(98.5% 0 0);
        --color-zinc-100: oklch(96.7% .001 286.375);
        --color-zinc-200: oklch(92% .004 286.32);
        --color-zinc-300: oklch(87.1% .006 286.286);
        --color-zinc-400: oklch(70.5% .015 286.067);
        --color-zinc-500: oklch(55.2% .016 285.938);
        --color-zinc-600: oklch(44.2% .017 285.786);
        --color-zinc-700: oklch(37% .013 285.805);
        --color-zinc-800: oklch(27.4% .006 286.033);
        --color-zinc-900: oklch(21% .006 285.885);
        --color-zinc-950: oklch(14.1% .005 285.823);
        --color-neutral-50: oklch(98.5% 0 0);
        --color-neutral-100: oklch(97% 0 0);
        --color-neutral-200: oklch(92.2% 0 0);
        --color-neutral-300: oklch(87% 0 0);
        --color-neutral-400: oklch(70.8% 0 0);
        --color-neutral-500: oklch(55.6% 0 0);
        --color-neutral-600: oklch(43.9% 0 0);
        --color-neutral-700: oklch(37.1% 0 0);
        --color-neutral-800: oklch(26.9% 0 0);
        --color-neutral-900: oklch(20.5% 0 0);
        --color-neutral-950: oklch(14.5% 0 0);
        --color-stone-50: oklch(98.5% .001 106.423);
        --color-stone-100: oklch(97% .001 106.424);
        --color-stone-200: oklch(92.3% .003 48.717);
        --color-stone-300: oklch(86.9% .005 56.366);
        --color-stone-400: oklch(70.9% .01 56.259);
        --color-stone-500: oklch(55.3% .013 58.071);
        --color-stone-600: oklch(44.4% .011 73.639);
        --color-stone-700: oklch(37.4% .01 67.558);
        --color-stone-800: oklch(26.8% .007 34.298);
        --color-stone-900: oklch(21.6% .006 56.043);
        --color-stone-950: oklch(14.7% .004 49.25);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .1rem;
        --breakpoint-sm: 40rem;
        --breakpoint-md: 48rem;
        --breakpoint-lg: 64rem;
        --breakpoint-xl: 80rem;
        --breakpoint-2xl: 96rem;
        --container-3xs: 16rem;
        --container-2xs: 18rem;
        --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-6xl: 72rem;
        --container-7xl: 80rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --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: 1.2;
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5/2.25);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --text-7xl: 4.5rem;
        --text-7xl--line-height: 1;
        --text-8xl: 6rem;
        --text-8xl--line-height: 1;
        --text-9xl: 8rem;
        --text-9xl--line-height: 1;
        --font-weight-thin: 100;
        --font-weight-extralight: 200;
        --font-weight-light: 300;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-extrabold: 800;
        --font-weight-black: 900;
        --tracking-tighter: -.05em;
        --tracking-tight: -.025em;
        --tracking-normal: 0em;
        --tracking-wide: .025em;
        --tracking-wider: .05em;
        --tracking-widest: .1em;
        --leading-tight: 1.25;
        --leading-snug: 1.375;
        --leading-normal: 1.5;
        --leading-relaxed: 1.625;
        --leading-loose: 2;
        --radius-xs: .125rem;
        --radius-sm: .25rem;
        --radius-md: .375rem;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --radius-2xl: 1rem;
        --radius-3xl: 1.5rem;
        --radius-4xl: 2rem;
        --shadow-2xs: 0 1px #0000000d;
        --shadow-xs: 0 1px 2px 0 #0000000d;
        --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
        --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
        --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
        --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
        --shadow-2xl: 0 25px 50px -12px #00000040;
        --inset-shadow-2xs: inset 0 1px #0000000d;
        --inset-shadow-xs: inset 0 1px 1px #0000000d;
        --inset-shadow-sm: inset 0 2px 4px #0000000d;
        --drop-shadow-xs: 0 1px 1px #0000000d;
        --drop-shadow-sm: 0 1px 2px #00000026;
        --drop-shadow-md: 0 3px 3px #0000001f;
        --drop-shadow-lg: 0 4px 4px #00000026;
        --drop-shadow-xl: 0 9px 7px #0000001a;
        --drop-shadow-2xl: 0 25px 25px #00000026;
        --text-shadow-2xs: 0px 1px 0px #00000026;
        --text-shadow-xs: 0px 1px 1px #0003;
        --text-shadow-sm: 0px 1px 0px #00000013, 0px 1px 1px #00000013, 0px 2px 2px #00000013;
        --text-shadow-md: 0px 1px 1px #0000001a, 0px 1px 2px #0000001a, 0px 2px 4px #0000001a;
        --text-shadow-lg: 0px 1px 2px #0000001a, 0px 3px 2px #0000001a, 0px 4px 8px #0000001a;
        --ease-in: cubic-bezier(.4, 0, 1, 1);
        --ease-out: cubic-bezier(.23, 1, .32, 1);
        --ease-in-out: cubic-bezier(.4, 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;
        --animate-bounce: bounce 1s infinite;
        --blur-xs: 4px;
        --blur-sm: 8px;
        --blur-md: 12px;
        --blur-lg: 16px;
        --blur-xl: 24px;
        --blur-2xl: 40px;
        --blur-3xl: 64px;
        --perspective-dramatic: 100px;
        --perspective-near: 300px;
        --perspective-normal: 500px;
        --perspective-midrange: 800px;
        --perspective-distant: 1200px;
        --aspect-video: 16/9;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --font-body: "Europa-Grotesk", sans-serif;
        --spacing-px: 1px;
        --spacing-margin: var(--margin);
        --spacing-gutter: var(--gutter);
        --spacing-header: var(--header-height);
        --spacing-screen: 100vh;
        --spacing-screen-mobile: var(--vh);
        --spacing-col-1: var(--column);
        --spacing-col-2: calc(var(--column)*2);
        --spacing-col-4: calc(var(--column)*4);
        --spacing-col-5: calc(var(--column)*5);
        --width-screen: var(--vw);
        --width-col-2: calc(var(--column)*2 - var(--gutter));
        --width-col-3: calc(var(--column)*3 - var(--gutter));
        --width-col-offset-3: calc(var(--column)*3);
        --width-col-4: calc(var(--column)*4 - var(--gutter));
        --flex-basis-col-2: calc(var(--column)*2 - var(--gutter));
        --flex-basis-col-3: calc(var(--column)*3 - var(--gutter)/2);
        --height-screen-mobile: var(--vh);
        --height-screen: 100vh;
        --height-header: var(--header-height);
        --text-12: 1.2rem;
        --text-14: 1.4rem;
        --text-16: 1.6rem;
        --text-20: 2rem;
        --text-24: 2.4rem;
        --text-32: 3.2rem;
        --text-36: 3.6rem;
        --text-48: 4.8rem;
        --text-60: 6rem;
        --text-72: 7.2rem;
        --text-100: 10rem;
        --color-mist: #cacfcb;
        --color-red: #952c16;
        --border-width-px: 1px;
        --radius-2: .2rem;
        --radius-4: .4rem;
        --transition-duration-fast: .35s;
        --transition-duration-normal: .45s;
        --transition-duration-smooth: .7s;
        --ease-alpha: cubic-bezier(.25, .46, .45, .9);
        --z-index-widget: 9;
        --z-index-header: 10;
        --z-index-transition: 15;
        --z-index-loader: 30
    }
}

@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%;
        -moz-tab-size: 4;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

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

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

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

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

    b,
    strong {
        font-weight: bolder
    }

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

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

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

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

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

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

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

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

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

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

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

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

    ::placeholder {
        opacity: 1
    }

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

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

    textarea {
        resize: vertical
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@layer components;

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

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

    .invisible {
        visibility: hidden
    }

    .visible {
        visibility: visible
    }

    .absolute-full {
        top: calc(var(--spacing)*0);
        left: calc(var(--spacing)*0);
        width: 100%;
        height: 100%;
        position: absolute
    }

    .\!absolute-center {
        --tw-translate-x: -50% !important;
        --tw-translate-y: -50% !important;
        translate: var(--tw-translate-x)var(--tw-translate-y) !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important
    }

    .absolute-center {
        --tw-translate-x: -50%;
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y);
        position: absolute;
        top: 50%;
        left: 50%
    }

    .\!sticky {
        position: sticky !important
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .sticky {
        position: sticky
    }

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

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

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

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

    .top-\[25vh\] {
        top: 25vh
    }

    .top-\[calc\(100\%\+1rem\)\] {
        top: calc(100% + 1rem)
    }

    .top-full {
        top: 100%
    }

    .top-margin {
        top: var(--spacing-margin)
    }

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

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

    .right-margin {
        right: var(--spacing-margin)
    }

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

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

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

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

    .bottom-margin {
        bottom: var(--spacing-margin)
    }

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

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

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

    .left-margin {
        left: var(--spacing-margin)
    }

    .z-0 {
        z-index: 0
    }

    .z-1 {
        z-index: 1
    }

    .z-10 {
        z-index: 10
    }

    .z-\[99\] {
        z-index: 99
    }

    .z-\[999\] {
        z-index: 999
    }

    .z-header {
        z-index: var(--z-index-header)
    }

    .z-loader {
        z-index: var(--z-index-loader)
    }

    .z-widget {
        z-index: var(--z-index-widget)
    }

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

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

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

    .col-span-4 {
        grid-column: span 4/span 4
    }

    .col-span-7 {
        grid-column: span 7/span 7
    }

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

    .col-start-1 {
        grid-column-start: 1
    }

    .col-start-2 {
        grid-column-start: 2
    }

    .col-start-3 {
        grid-column-start: 3
    }

    .col-start-4 {
        grid-column-start: 4
    }

    .col-start-5 {
        grid-column-start: 5
    }

    .col-start-6 {
        grid-column-start: 6
    }

    .col-start-8 {
        grid-column-start: 8
    }

    .col-start-10 {
        grid-column-start: 10
    }

    .col-start-11 {
        grid-column-start: 11
    }

    .col-start-12 {
        grid-column-start: 12
    }

    .col-start-13 {
        grid-column-start: 13
    }

    .col-end-3 {
        grid-column-end: 3
    }

    .col-end-4 {
        grid-column-end: 4
    }

    .col-end-5 {
        grid-column-end: 5
    }

    .col-end-7 {
        grid-column-end: 7
    }

    .col-end-8 {
        grid-column-end: 8
    }

    .col-end-9 {
        grid-column-end: 9
    }

    .col-end-10 {
        grid-column-end: 10
    }

    .col-end-13 {
        grid-column-end: 13
    }

    .col-end-17 {
        grid-column-end: 17
    }

    .row-span-2 {
        grid-row: span 2/span 2
    }

    .container {
        width: 100%
    }

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

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

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

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

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

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

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

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

    .my-gutter {
        margin-block: var(--spacing-gutter)
    }

    .my-margin {
        margin-block: var(--spacing-margin)
    }

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

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

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

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

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

    .-mt-\[40vh\] {
        margin-top: -40vh
    }

    .-mt-\[calc\(var\(--vh\)\*1\.5\)\] {
        margin-top: calc(calc(var(--vh)*1.5)*-1)
    }

    .-mt-\[var\(--vh\)\] {
        margin-top: calc(var(--vh)*-1)
    }

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

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

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

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

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

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

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

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

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

    .mt-\[60vh\] {
        margin-top: 60vh
    }

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

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

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

    .-mb-\[calc\(4rem_\+_var\(--margin\)\)\] {
        margin-bottom: calc(calc(4rem + var(--margin))*-1)
    }

    .-mb-\[calc\(8rem_\+_var\(--margin\)\)\] {
        margin-bottom: calc(calc(8rem + var(--margin))*-1)
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

    .-ml-col-1 {
        margin-left: calc(var(--spacing-col-1)*-1)
    }

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

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

    .grid-w {
        column-gap: var(--spacing-gutter);
        padding-inline: var(--spacing-margin);
        grid-template-columns: repeat(6, minmax(0, 1fr));
        display: grid
    }

    @media (min-width:48rem) {
        .grid-w {
            grid-template-columns: repeat(12, minmax(0, 1fr))
        }
    }

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

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

    .no-br br {
        display: none
    }

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

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

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

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

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

    .h-\[130\%\] {
        height: 130%
    }

    .h-\[calc\(100\%_\+_25rem\)\] {
        height: calc(100% + 25rem)
    }

    .h-\[calc\(var\(--vh\)_\*_var\(--height-multiplier\)\)\] {
        height: calc(var(--vh)*var(--height-multiplier))
    }

    .h-\[calc\(var\(--vh\)_-_6rem\)\] {
        height: calc(var(--vh) - 6rem)
    }

    .h-full {
        height: 100%
    }

    .h-header {
        height: var(--height-header)
    }

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

    .h-screen {
        height: 100vh;
        height: var(--height-screen)
    }

    .h-screen-mobile {
        height: var(--height-screen-mobile)
    }

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

    .min-h-screen-mobile {
        min-height: var(--height-screen-mobile)
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .w-\[1rem\] {
        width: 1rem
    }

    .w-col-3 {
        width: var(--width-col-3)
    }

    .w-full {
        width: 100%
    }

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

    .w-screen {
        width: 100vw;
        width: var(--width-screen)
    }

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

    .flex-1 {
        flex: 1
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .basis-col-3 {
        flex-basis: var(--flex-basis-col-3)
    }

    .origin-left {
        transform-origin: 0
    }

    .origin-right {
        transform-origin: 100%
    }

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

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

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

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

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

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

    .scale-x-0 {
        --tw-scale-x: 0%;
        scale: var(--tw-scale-x)var(--tw-scale-y)
    }

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

    .cursor-default {
        cursor: default
    }

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

    .appearance-none {
        -webkit-appearance: none;
        -moz-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-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

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

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

    .flex-col {
        flex-direction: column
    }

    .flex-nowrap {
        flex-wrap: nowrap
    }

    .content-center {
        align-content: center
    }

    .content-end {
        align-content: flex-end
    }

    .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-gutter {
        gap: var(--spacing-gutter)
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .gap-x-gutter {
        column-gap: var(--spacing-gutter)
    }

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

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

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

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

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

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

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

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

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

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

    .gap-y-gutter {
        row-gap: var(--spacing-gutter)
    }

    .overflow-hidden {
        overflow: hidden
    }

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

    .rounded-4 {
        border-radius: var(--radius-4)
    }

    .rounded-none {
        border-radius: 0
    }

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

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

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

    .border-black {
        border-color: var(--color-black)
    }

    .border-mist {
        border-color: var(--color-mist)
    }

    .border-white {
        border-color: var(--color-white)
    }

    .bg-\[red\] {
        background-color: red
    }

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

    .bg-black\/24 {
        background-color: #0000003d
    }

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

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

    .bg-mist\/32 {
        background-color: #cacfcb52
    }

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

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

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

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

    .bg-white\/0 {
        background-color: #0000
    }

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

    .bg-white\/32 {
        background-color: #ffffff52
    }

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

    .object-contain {
        object-fit: contain
    }

    .object-cover {
        object-fit: cover
    }

    .object-center {
        object-position: center
    }

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

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

    .p-margin {
        padding: var(--spacing-margin)
    }

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

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

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

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

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

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

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

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

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

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

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

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

    .pt-\[20vh\] {
        padding-top: 20vh
    }

    .pt-\[60\%\] {
        padding-top: 60%
    }

    .pt-\[80\%\] {
        padding-top: 80%
    }

    .pt-\[100\%\] {
        padding-top: 100%
    }

    .pt-\[110\%\] {
        padding-top: 110%
    }

    .pt-\[115\%\] {
        padding-top: 115%
    }

    .pt-\[120\%\] {
        padding-top: 120%
    }

    .pt-\[121\%\] {
        padding-top: 121%
    }

    .pt-\[125\%\] {
        padding-top: 125%
    }

    .pt-\[130\%\] {
        padding-top: 130%
    }

    .pt-\[133\%\] {
        padding-top: 133%
    }

    .pt-\[calc\(var\(--vh\)_\*_0\.6\)\] {
        padding-top: calc(var(--vh)*.6)
    }

    .pt-\[var\(--ratio\)\] {
        padding-top: var(--ratio)
    }

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

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

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

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

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

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

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

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

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

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

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

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

    .pb-\[calc\(var\(--vh\)_\*_0\.5\)\] {
        padding-bottom: calc(var(--vh)*.5)
    }

    .pb-margin {
        padding-bottom: var(--spacing-margin)
    }

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

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

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

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

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .body-14 {
        font-size: var(--text-14);
        --tw-leading: 120%;
        line-height: 120%
    }

    .body-16 {
        font-size: var(--text-16);
        --tw-leading: 110%;
        line-height: 110%
    }

    .body-20 {
        font-size: var(--text-20);
        --tw-leading: 130%;
        line-height: 130%
    }

    .body-24 {
        font-size: var(--text-24);
        --tw-leading: 110%;
        line-height: 110%
    }

    .body-32 {
        font-size: var(--text-32);
        --tw-leading: 110%;
        line-height: 110%
    }

    .body-36 {
        font-size: var(--text-36);
        --tw-leading: 110%;
        line-height: 110%
    }

    .body-48 {
        font-size: var(--text-48);
        --tw-leading: 110%;
        line-height: 110%
    }

    .body-60 {
        font-size: var(--text-60);
        --tw-leading: 110%;
        line-height: 110%
    }

    .body-72 {
        font-size: var(--text-72);
        --tw-leading: 100%;
        line-height: 100%
    }

    .text-\[6rem\] {
        font-size: 6rem
    }

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

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

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-black {
        color: var(--color-black)
    }

    .text-black\/32 {
        color: #00000052
    }

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

    .text-mist {
        color: var(--color-mist)
    }

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

    .text-white\/52 {
        color: #ffffff85
    }

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

    .uppercase {
        text-transform: uppercase
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-20 {
        opacity: .2
    }

    .opacity-24 {
        opacity: .24
    }

    .opacity-32 {
        opacity: .32
    }

    .opacity-40 {
        opacity: .4
    }

    .opacity-50 {
        opacity: .5
    }

    .opacity-52 {
        opacity: .52
    }

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

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

    .delay-0 {
        transition-delay: 0s
    }

    .duration-fast {
        --tw-duration: var(--transition-duration-fast);
        transition-duration: var(--transition-duration-fast)
    }

    .duration-normal {
        --tw-duration: var(--transition-duration-normal);
        transition-duration: var(--transition-duration-normal)
    }

    .duration-smooth {
        --tw-duration: var(--transition-duration-smooth);
        transition-duration: var(--transition-duration-smooth)
    }

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

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

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

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

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

        .group-hover\:translate-x-full:is(:where(.group):hover *) {
            --tw-translate-x: 100%;
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }
    }

    .group-\[\.a\]\:opacity-100:is(:where(.group).a *) {
        opacity: 1
    }

    .placeholder\:text-black::placeholder {
        color: var(--color-black)
    }

    .placeholder\:opacity-20::placeholder {
        opacity: .2
    }

    @media not all and (min-width:80rem) {
        .max-xl\:absolute {
            position: absolute
        }

        .max-xl\:sticky {
            position: sticky
        }

        .max-xl\:top-0 {
            top: calc(var(--spacing)*0)
        }

        .max-xl\:top-60 {
            top: calc(var(--spacing)*60)
        }

        .max-xl\:right-margin {
            right: var(--spacing-margin)
        }

        .max-xl\:bottom-margin {
            bottom: var(--spacing-margin)
        }

        .max-xl\:left-0 {
            left: calc(var(--spacing)*0)
        }

        .max-xl\:order-last {
            order: 9999
        }

        .max-xl\:mt-52 {
            margin-top: calc(var(--spacing)*52)
        }

        .max-xl\:mt-65 {
            margin-top: calc(var(--spacing)*65)
        }

        .max-xl\:mt-150 {
            margin-top: calc(var(--spacing)*150)
        }

        .max-xl\:mt-180 {
            margin-top: calc(var(--spacing)*180)
        }

        .max-xl\:mb-32 {
            margin-bottom: calc(var(--spacing)*32)
        }

        .max-xl\:mb-52 {
            margin-bottom: calc(var(--spacing)*52)
        }

        .max-xl\:mb-100 {
            margin-bottom: calc(var(--spacing)*100)
        }

        .max-xl\:-ml-\[calc\(var\(--gutter\)_\/_2\)\] {
            margin-left: calc(calc(var(--gutter)/2)*-1)
        }

        .max-xl\:-ml-col-1 {
            margin-left: calc(var(--spacing-col-1)*-1)
        }

        .max-xl\:hidden {
            display: none
        }

        .max-xl\:h-screen-mobile {
            height: var(--height-screen-mobile)
        }

        .max-xl\:min-h-screen-mobile {
            min-height: var(--height-screen-mobile)
        }

        .max-xl\:w-full {
            width: 100%
        }

        .max-xl\:flex-1 {
            flex: 1
        }

        .max-xl\:-translate-x-1\/2 {
            --tw-translate-x: -50%;
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .max-xl\:translate-x-col-1 {
            --tw-translate-x: var(--spacing-col-1);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .max-xl\:translate-x-col-2 {
            --tw-translate-x: var(--spacing-col-2);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .max-xl\:-translate-y-1\/2 {
            --tw-translate-y: -50%;
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .max-xl\:translate-y-1\/2 {
            --tw-translate-y: 50%;
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .max-xl\:flex-col {
            flex-direction: column
        }

        .max-xl\:flex-row-reverse {
            flex-direction: row-reverse
        }

        .max-xl\:justify-between {
            justify-content: space-between
        }

        .max-xl\:gap-y-6 {
            row-gap: calc(var(--spacing)*6)
        }

        .max-xl\:gap-y-68 {
            row-gap: calc(var(--spacing)*68)
        }

        .max-xl\:px-margin {
            padding-inline: var(--spacing-margin)
        }

        .max-xl\:pt-\[66\%\] {
            padding-top: 66%
        }

        .max-xl\:pt-\[72\%\] {
            padding-top: 72%
        }

        .max-xl\:pt-margin {
            padding-top: var(--spacing-margin)
        }

        .max-xl\:pr-32 {
            padding-right: calc(var(--spacing)*32)
        }

        .max-xl\:body-36 {
            font-size: var(--text-36);
            --tw-leading: 110%;
            line-height: 110%
        }
    }

    @media not all and (min-width:64rem) {
        .max-lg\:my-32 {
            margin-block: calc(var(--spacing)*32)
        }

        .max-lg\:mb-52 {
            margin-bottom: calc(var(--spacing)*52)
        }

        .max-lg\:w-col-2 {
            width: var(--width-col-2)
        }

        .max-lg\:gap-y-36 {
            row-gap: calc(var(--spacing)*36)
        }
    }

    @media not all and (min-width:48rem) {
        .max-md\:order-first {
            order: -9999
        }

        .max-md\:order-last {
            order: 9999
        }

        .max-md\:row-span-2 {
            grid-row: span 2/span 2
        }

        .max-md\:my-6 {
            margin-block: calc(var(--spacing)*6)
        }

        .max-md\:my-32 {
            margin-block: calc(var(--spacing)*32)
        }

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

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

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

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

        .max-md\:mb-24 {
            margin-bottom: calc(var(--spacing)*24)
        }

        .max-md\:mb-32 {
            margin-bottom: calc(var(--spacing)*32)
        }

        .max-md\:mb-52 {
            margin-bottom: calc(var(--spacing)*52)
        }

        .max-md\:mb-gutter {
            margin-bottom: var(--spacing-gutter)
        }

        .max-md\:hidden,
        .max-md\:no-br br {
            display: none
        }

        .max-md\:min-h-\[calc\(100vw_-_var\(--margin\)_\*_2\)\] {
            min-height: calc(100vw - var(--margin)*2)
        }

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

        .max-md\:gap-y-36 {
            row-gap: calc(var(--spacing)*36)
        }

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

    @media (min-width:48rem) {
        .md\:sticky {
            position: sticky
        }

        .md\:top-62 {
            top: calc(var(--spacing)*62)
        }

        .md\:bottom-margin {
            bottom: var(--spacing-margin)
        }

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

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

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

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

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

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

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

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

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

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

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

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

        .md\:col-start-1 {
            grid-column-start: 1
        }

        .md\:col-start-3 {
            grid-column-start: 3
        }

        .md\:col-start-4 {
            grid-column-start: 4
        }

        .md\:col-start-5 {
            grid-column-start: 5
        }

        .md\:col-start-7 {
            grid-column-start: 7
        }

        .md\:col-start-8 {
            grid-column-start: 8
        }

        .md\:col-start-10 {
            grid-column-start: 10
        }

        .md\:col-start-15 {
            grid-column-start: 15
        }

        .md\:col-end-3 {
            grid-column-end: 3
        }

        .md\:col-end-4 {
            grid-column-end: 4
        }

        .md\:col-end-5 {
            grid-column-end: 5
        }

        .md\:col-end-9 {
            grid-column-end: 9
        }

        .md\:col-end-11 {
            grid-column-end: 11
        }

        .md\:col-end-13 {
            grid-column-end: 13
        }

        .md\:my-60 {
            margin-block: calc(var(--spacing)*60)
        }

        .md\:my-100 {
            margin-block: calc(var(--spacing)*100)
        }

        .md\:my-150 {
            margin-block: calc(var(--spacing)*150)
        }

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

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

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

        .md\:-mt-\[calc\(var\(--vh\)\*1\.8\)\] {
            margin-top: calc(calc(var(--vh)*1.8)*-1)
        }

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

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

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

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

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

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

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

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

        .md\:mt-margin {
            margin-top: var(--spacing-margin)
        }

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

        .md\:mb-24 {
            margin-bottom: calc(var(--spacing)*24)
        }

        .md\:mb-50 {
            margin-bottom: calc(var(--spacing)*50)
        }

        .md\:mb-52 {
            margin-bottom: calc(var(--spacing)*52)
        }

        .md\:mb-54 {
            margin-bottom: calc(var(--spacing)*54)
        }

        .md\:mb-100 {
            margin-bottom: calc(var(--spacing)*100)
        }

        .md\:mb-margin {
            margin-bottom: var(--spacing-margin)
        }

        .md\:grid-w {
            column-gap: var(--spacing-gutter);
            padding-inline: var(--spacing-margin);
            grid-template-columns: repeat(6, minmax(0, 1fr));
            display: grid
        }

        .md\:grid-w {
            grid-template-columns: repeat(12, minmax(0, 1fr))
        }

        .md\:hidden {
            display: none
        }

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

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

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

        .md\:w-6 {
            width: calc(var(--spacing)*6)
        }

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

        .md\:w-14 {
            width: calc(var(--spacing)*14)
        }

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

        .md\:w-\[calc\(var\(--column\)\*2\)\] {
            width: calc(var(--column)*2)
        }

        .md\:w-col-4 {
            width: var(--width-col-4)
        }

        .md\:basis-col-2 {
            flex-basis: var(--flex-basis-col-2)
        }

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

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

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

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

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

        .md\:items-end {
            align-items: flex-end
        }

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

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

        .md\:gap-y-12 {
            row-gap: calc(var(--spacing)*12)
        }

        .md\:gap-y-52 {
            row-gap: calc(var(--spacing)*52)
        }

        .md\:gap-y-68 {
            row-gap: calc(var(--spacing)*68)
        }

        .md\:gap-y-100 {
            row-gap: calc(var(--spacing)*100)
        }

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

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

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

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

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

        .md\:pt-\[54\.7\%\] {
            padding-top: 54.7%
        }

        .md\:pt-\[65\%\] {
            padding-top: 65%
        }

        .md\:pt-\[122\%\] {
            padding-top: 122%
        }

        .md\:pt-\[126\%\] {
            padding-top: 126%
        }

        .md\:pt-\[calc\(var\(--vh\)_\*_0\.8\)\] {
            padding-top: calc(var(--vh)*.8)
        }

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

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

        .md\:pb-margin {
            padding-bottom: var(--spacing-margin)
        }

        .md\:body-14 {
            font-size: var(--text-14);
            --tw-leading: 120%;
            line-height: 120%
        }

        .md\:body-16 {
            font-size: var(--text-16);
            --tw-leading: 110%;
            line-height: 110%
        }

        .md\:body-20 {
            font-size: var(--text-20);
            --tw-leading: 130%;
            line-height: 130%
        }

        .md\:body-24 {
            font-size: var(--text-24);
            --tw-leading: 110%;
            line-height: 110%
        }

        .md\:body-32 {
            font-size: var(--text-32);
            --tw-leading: 110%;
            line-height: 110%
        }

        .md\:body-36 {
            font-size: var(--text-36);
            --tw-leading: 110%;
            line-height: 110%
        }

        .md\:body-48 {
            font-size: var(--text-48);
            --tw-leading: 110%;
            line-height: 110%
        }

        .md\:body-60 {
            font-size: var(--text-60);
            --tw-leading: 110%;
            line-height: 110%
        }

        .md\:body-72 {
            font-size: var(--text-72);
            --tw-leading: 100%;
            line-height: 100%
        }

        .md\:text-\[11rem\] {
            font-size: 11rem
        }

        @media not all and (min-width:80rem) {
            .md\:max-xl\:col-start-1 {
                grid-column-start: 1
            }

            .md\:max-xl\:mt-52 {
                margin-top: calc(var(--spacing)*52)
            }

            .md\:max-xl\:w-\[83\%\] {
                width: 83%
            }
        }

        @media not all and (min-width:64rem) {
            .md\:max-lg\:col-end-10 {
                grid-column-end: 10
            }
        }
    }

    @media (min-width:64rem) {
        .lg\:col-span-2 {
            grid-column: span 2/span 2
        }

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

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

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

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

        .lg\:col-start-5 {
            grid-column-start: 5
        }

        .lg\:col-start-6 {
            grid-column-start: 6
        }

        .lg\:col-start-8 {
            grid-column-start: 8
        }

        .lg\:col-start-9 {
            grid-column-start: 9
        }

        .lg\:col-start-10 {
            grid-column-start: 10
        }

        .lg\:col-end-9 {
            grid-column-end: 9
        }

        .lg\:col-end-13 {
            grid-column-end: 13
        }

        .lg\:my-150 {
            margin-block: calc(var(--spacing)*150)
        }

        .lg\:-mt-50 {
            margin-top: calc(var(--spacing)*-50)
        }

        .lg\:mb-52 {
            margin-bottom: calc(var(--spacing)*52)
        }

        .lg\:mb-150 {
            margin-bottom: calc(var(--spacing)*150)
        }

        .lg\:flex {
            display: flex
        }

        .lg\:grid {
            display: grid
        }

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

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

        .lg\:justify-between {
            justify-content: space-between
        }

        .lg\:justify-end {
            justify-content: flex-end
        }

        .lg\:gap-x-gutter {
            column-gap: var(--spacing-gutter)
        }

        .lg\:gap-y-52 {
            row-gap: calc(var(--spacing)*52)
        }

        .lg\:pt-150 {
            padding-top: calc(var(--spacing)*150)
        }

        .lg\:pt-\[87\%\] {
            padding-top: 87%
        }

        .lg\:body-36 {
            font-size: var(--text-36);
            --tw-leading: 110%;
            line-height: 110%
        }

        .lg\:body-48 {
            font-size: var(--text-48);
            --tw-leading: 110%;
            line-height: 110%
        }

        .lg\:body-60 {
            font-size: var(--text-60);
            --tw-leading: 110%;
            line-height: 110%
        }

        .lg\:body-72 {
            font-size: var(--text-72);
            --tw-leading: 100%;
            line-height: 100%
        }

        .lg\:body-100 {
            font-size: var(--text-100);
            --tw-leading: 110%;
            line-height: 110%
        }

        @media not all and (min-width:80rem) {
            .lg\:max-xl\:col-end-8 {
                grid-column-end: 8
            }

            .lg\:max-xl\:mb-52 {
                margin-bottom: calc(var(--spacing)*52)
            }
        }
    }

    @media (min-width:80rem) {
        .xl\:absolute-full {
            top: calc(var(--spacing)*0);
            left: calc(var(--spacing)*0);
            width: 100%;
            height: 100%;
            position: absolute
        }

        .xl\:absolute-center {
            --tw-translate-x: -50%;
            --tw-translate-y: -50%;
            translate: var(--tw-translate-x)var(--tw-translate-y);
            position: absolute;
            top: 50%;
            left: 50%
        }

        .xl\:absolute {
            position: absolute
        }

        .xl\:sticky {
            position: sticky
        }

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

        .xl\:top-40 {
            top: calc(var(--spacing)*40)
        }

        .xl\:top-\[25vh\] {
            top: 25vh
        }

        .xl\:top-margin {
            top: var(--spacing-margin)
        }

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

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

        .xl\:z-transition {
            z-index: var(--z-index-transition)
        }

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

        .xl\:col-span-3 {
            grid-column: span 3/span 3
        }

        .xl\:col-span-4 {
            grid-column: span 4/span 4
        }

        .xl\:col-span-5 {
            grid-column: span 5/span 5
        }

        .xl\:col-span-6 {
            grid-column: span 6/span 6
        }

        .xl\:col-span-8 {
            grid-column: span 8/span 8
        }

        .xl\:col-span-9 {
            grid-column: span 9/span 9
        }

        .xl\:col-start-3 {
            grid-column-start: 3
        }

        .xl\:col-start-4 {
            grid-column-start: 4
        }

        .xl\:col-start-5 {
            grid-column-start: 5
        }

        .xl\:col-start-6 {
            grid-column-start: 6
        }

        .xl\:col-start-7 {
            grid-column-start: 7
        }

        .xl\:col-start-8 {
            grid-column-start: 8
        }

        .xl\:col-start-9 {
            grid-column-start: 9
        }

        .xl\:col-start-10 {
            grid-column-start: 10
        }

        .xl\:col-start-12 {
            grid-column-start: 12
        }

        .xl\:col-end-4 {
            grid-column-end: 4
        }

        .xl\:col-end-6 {
            grid-column-end: 6
        }

        .xl\:col-end-7 {
            grid-column-end: 7
        }

        .xl\:col-end-8 {
            grid-column-end: 8
        }

        .xl\:col-end-9 {
            grid-column-end: 9
        }

        .xl\:col-end-10 {
            grid-column-end: 10
        }

        .xl\:col-end-11 {
            grid-column-end: 11
        }

        .xl\:col-end-13 {
            grid-column-end: 13
        }

        .xl\:row-span-2 {
            grid-row: span 2/span 2
        }

        .xl\:-mt-57 {
            margin-top: calc(var(--spacing)*-57)
        }

        .xl\:-mt-\[100vh\] {
            margin-top: -100vh
        }

        .xl\:-mt-screen {
            margin-top: calc(var(--spacing-screen)*-1)
        }

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

        .xl\:mt-\[60vh\] {
            margin-top: 60vh
        }

        .xl\:-mb-\[55rem\] {
            margin-bottom: -55rem
        }

        .xl\:mb-0 {
            margin-bottom: calc(var(--spacing)*0)
        }

        .xl\:mb-100 {
            margin-bottom: calc(var(--spacing)*100)
        }

        .xl\:-ml-col-1 {
            margin-left: calc(var(--spacing-col-1)*-1)
        }

        .xl\:grid-w {
            column-gap: var(--spacing-gutter);
            padding-inline: var(--spacing-margin);
            grid-template-columns: repeat(6, minmax(0, 1fr));
            display: grid
        }

        @media (min-width:48rem) {
            .xl\:grid-w {
                grid-template-columns: repeat(12, minmax(0, 1fr))
            }
        }

        .xl\:hidden {
            display: none
        }

        .xl\:h-464 {
            height: calc(var(--spacing)*464)
        }

        .xl\:h-\[calc\(var\(--vh\)_-_4rem\)\] {
            height: calc(var(--vh) - 4rem)
        }

        .xl\:h-\[var\(--height\)\] {
            height: var(--height)
        }

        .xl\:h-full {
            height: 100%
        }

        .xl\:h-screen {
            height: 100vh;
            height: var(--height-screen)
        }

        .xl\:min-h-screen {
            min-height: 100vh;
            min-height: var(--height-screen)
        }

        .xl\:w-col-3 {
            width: var(--width-col-3)
        }

        .xl\:w-col-offset-3 {
            width: var(--width-col-offset-3)
        }

        .xl\:w-full {
            width: 100%
        }

        .xl\:flex-1 {
            flex: 1
        }

        .xl\:basis-col-4 {
            flex-basis: var(--spacing-col-4)
        }

        .xl\:basis-col-5 {
            flex-basis: var(--spacing-col-5)
        }

        .xl\:-translate-y-1\/2 {
            --tw-translate-y: -50%;
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .xl\:-translate-y-1\/4 {
            --tw-translate-y: -25%;
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .xl\:translate-y-1\/2 {
            --tw-translate-y: 50%;
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

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

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

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

        .xl\:items-center {
            align-items: center
        }

        .xl\:items-end {
            align-items: flex-end
        }

        .xl\:justify-between {
            justify-content: space-between
        }

        .xl\:justify-end {
            justify-content: flex-end
        }

        .xl\:gap-y-8 {
            row-gap: calc(var(--spacing)*8)
        }

        .xl\:gap-y-20 {
            row-gap: calc(var(--spacing)*20)
        }

        .xl\:gap-y-32 {
            row-gap: calc(var(--spacing)*32)
        }

        .xl\:gap-y-52 {
            row-gap: calc(var(--spacing)*52)
        }

        .xl\:gap-y-140 {
            row-gap: calc(var(--spacing)*140)
        }

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

        .xl\:py-margin {
            padding-block: var(--spacing-margin)
        }

        .xl\:pt-60 {
            padding-top: calc(var(--spacing)*60)
        }

        .xl\:pt-150 {
            padding-top: calc(var(--spacing)*150)
        }

        .xl\:pt-\[30vh\] {
            padding-top: 30vh
        }

        .xl\:pt-margin {
            padding-top: var(--spacing-margin)
        }

        .xl\:pb-130 {
            padding-bottom: calc(var(--spacing)*130)
        }

        .xl\:pb-150 {
            padding-bottom: calc(var(--spacing)*150)
        }

        .xl\:pb-margin {
            padding-bottom: var(--spacing-margin)
        }

        .xl\:text-center {
            text-align: center
        }

        .xl\:body-32 {
            font-size: var(--text-32);
            --tw-leading: 110%;
            line-height: 110%
        }

        .xl\:body-48 {
            font-size: var(--text-48);
            --tw-leading: 110%;
            line-height: 110%
        }

        .xl\:body-60 {
            font-size: var(--text-60);
            --tw-leading: 110%;
            line-height: 110%
        }

        .xl\:body-72 {
            font-size: var(--text-72);
            --tw-leading: 100%;
            line-height: 100%
        }

        .xl\:text-\[16rem\] {
            font-size: 16rem
        }

        .xl\:whitespace-nowrap {
            white-space: nowrap
        }

        .xl\:text-mist {
            color: var(--color-mist)
        }

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

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

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

            .xl\:group-hover\:rotate-45:is(:where(.group):hover *) {
                rotate: 45deg
            }

            .xl\:group-hover\:opacity-24:is(:where(.group):hover *) {
                opacity: .24
            }

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

            .xl\:group-hover\/card-work\:-translate-y-full:is(:where(.group\/card-work):hover *) {
                --tw-translate-y: -100%;
                translate: var(--tw-translate-x)var(--tw-translate-y)
            }

            .xl\:group-hover\/card-work\:delay-75:is(:where(.group\/card-work):hover *) {
                transition-delay: 75ms
            }

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

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

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

            .xl\:hover\:text-black:hover {
                color: var(--color-black)
            }

            .xl\:hover\:text-mist:hover {
                color: var(--color-mist)
            }

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

            .xl\:hover\:opacity-24:hover {
                opacity: .24
            }

            .xl\:hover\:opacity-100:hover {
                opacity: 1
            }
        }
    }

    .\[\&\.a\]\:text-black.a {
        color: var(--color-black)
    }

    .\[\&\.a\]\:text-mist.a {
        color: var(--color-mist)
    }

    .\[\&\.a\]\:opacity-100.a {
        opacity: 1
    }

    .\[\&\.disabled\]\:text-mist.disabled {
        color: var(--color-mist)
    }
}

:root {
    --size: 375;
    --margin: 1.6rem;
    --gutter: 1rem;
    --header-height: 3.8rem;
    --vw: 100vw;
    --vh: calc(var(--vh-initial, 1vh)*100);
    --vh-dynamic: calc(var(--vh-initial-dynamic, 1vh)*100);
    --v-ratio: 1;
    --column: calc((var(--vw) - var(--margin)*2)/6)
}

@media (min-width:48rem) {
    :root {
        --size: 768;
        --margin: 2rem;
        --header-height: 3.8rem;
        --column: calc((var(--vw) - var(--margin)*2)/12)
    }
}

@media (min-width:64rem) {
    :root {
        --size: 1024
    }
}

@media (min-width:80rem) {
    :root {
        --size: 1440
    }
}

@font-face {
    font-family: Europa-Grotesk;
    src: url(Europa-Grotesk-No2-Medium-B7a8PlH0.woff2)format("woff2"), url(Europa-Grotesk-No2-Medium-DmlPdpyd.woff)format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

.h-screen-mobile {
    height: var(--vh)
}

.min-h-screen-mobile {
    min-height: var(--vh)
}

@supports (height:100svh) {
    .h-screen-mobile {
        height: 100svh
    }

    .min-h-screen-mobile {
        min-height: 100svh
    }
}

.link-underline {
    cursor: pointer;
    position: relative
}

.link-underline:before {
    content: "";
    bottom: calc(var(--spacing)*1);
    left: calc(var(--spacing)*0);
    height: 1px;
    height: var(--spacing-px);
    transform-origin: 100%;
    --tw-scale-x: 0%;
    width: 100%;
    scale: var(--tw-scale-x)var(--tw-scale-y);
    background-color: var(--color-black);
    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));
    --tw-duration: var(--transition-duration-smooth);
    transition-duration: var(--transition-duration-smooth);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
    position: absolute
}

.link-underline:after {
    content: "";
    bottom: calc(var(--spacing)*1);
    left: calc(var(--spacing)*0);
    height: 1px;
    height: var(--spacing-px);
    transform-origin: 0;
    background-color: var(--color-black);
    width: 100%;
    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));
    --tw-duration: var(--transition-duration-smooth);
    transition-delay: .15s;
    transition-duration: var(--transition-duration-smooth);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
    position: absolute
}

@media (hover:hover) {
    .link-underline:hover:before {
        transform-origin: 0;
        --tw-scale-x: 100%;
        scale: var(--tw-scale-x)var(--tw-scale-y);
        transition-delay: .15s
    }

    .link-underline:hover:after {
        transform-origin: 100%;
        --tw-scale-x: 0%;
        scale: var(--tw-scale-x)var(--tw-scale-y);
        transition-delay: 0s
    }
}

.link-underline-mist {
    cursor: pointer;
    position: relative
}

.link-underline-mist:before {
    content: "";
    bottom: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    height: 1px;
    height: var(--spacing-px);
    background-color: var(--color-mist);
    width: 100%;
    position: absolute
}

.link-underline-footer {
    cursor: pointer;
    position: relative
}

.link-underline-footer:before {
    content: "";
    bottom: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    height: 1px;
    height: var(--spacing-px);
    transform-origin: 100%;
    --tw-scale-x: 0%;
    width: 100%;
    scale: var(--tw-scale-x)var(--tw-scale-y);
    background-color: var(--color-white);
    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));
    --tw-duration: var(--transition-duration-smooth);
    transition-duration: var(--transition-duration-smooth);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
    position: absolute
}

.link-underline-footer:after {
    content: "";
    bottom: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    height: 1px;
    height: var(--spacing-px);
    transform-origin: 0;
    background-color: var(--color-white);
    width: 100%;
    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));
    --tw-duration: var(--transition-duration-smooth);
    transition-delay: .15s;
    transition-duration: var(--transition-duration-smooth);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
    position: absolute
}

.link-underline-hover:before {
    content: "";
    pointer-events: none;
    bottom: calc(var(--spacing)*1);
    left: calc(var(--spacing)*0);
    height: 1px;
    height: var(--spacing-px);
    transform-origin: 100%;
    --tw-scale-x: 0%;
    width: 100%;
    scale: var(--tw-scale-x)var(--tw-scale-y);
    background-color: var(--color-black);
    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));
    --tw-duration: var(--transition-duration-smooth);
    transition-duration: var(--transition-duration-smooth);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
    position: absolute
}

@media (hover:hover) {
    .link-underline-hover:hover:before {
        transform-origin: 0;
        --tw-scale-x: 100%;
        scale: var(--tw-scale-x)var(--tw-scale-y)
    }
}

#newsletter-form.error {
    border-color: var(--color-red);
    color: var(--color-red)
}

#newsletter-form.error input,
#newsletter-form.error input::placeholder {
    color: var(--color-red)
}

.subtitle-text .char {
    position: relative
}

.subtitle-text .char:before {
    content: attr(data-char);
    top: -100%;
    left: calc(var(--spacing)*0);
    position: absolute
}

.offset-title .line-w {
    display: inline-block
}

.offset-title .line-w+.line-w {
    margin-top: calc(var(--spacing)*-15)
}

@media (min-width:48rem) {
    .offset-title .line-w+.line-w {
        margin-top: calc(var(--spacing)*-10)
    }
}

.widget,
.widget-simple {
    position: relative
}

@media (hover:hover) {
    :is(.widget, .widget-simple):not(.a):hover:before {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x)var(--tw-scale-y)
    }

    :is(.widget, .widget-simple):not(.a):hover .widget-title,
    :is(.widget, .widget-simple):not(.a):hover .widget-left {
        --tw-translate-x: -.5rem;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    :is(.widget, .widget-simple):not(.a):hover .widget-cta,
    :is(.widget, .widget-simple):not(.a):hover .widget-right {
        --tw-translate-x: .5rem;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    :is(.widget, .widget-simple):not(.a):hover .widget-icon svg {
        rotate: -90deg
    }
}

:is(.widget, .widget-simple):before {
    content: "";
    top: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    width: 100%;
    height: 100%;
    z-index: -1;
    border-radius: var(--radius-4);
    background-color: var(--color-black);
    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));
    --tw-duration: var(--transition-duration-smooth);
    transition-duration: var(--transition-duration-smooth);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
    position: absolute
}

:is(.widget, .widget-simple) .widget-title,
:is(.widget, .widget-simple) .widget-cta,
:is(.widget, .widget-simple) .widget-left,
:is(.widget, .widget-simple) .widget-right {
    transition: translate var(--transition-duration-smooth)var(--ease-out)
}

:is(.widget, .widget-simple) .widget-icon svg {
    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));
    --tw-duration: var(--transition-duration-smooth);
    transition-duration: var(--transition-duration-smooth);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out)
}

.widget-icon .widget-icon-plus,
.widget-icon .widget-icon-minus {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: var(--transition-duration-fast);
    transition-duration: var(--transition-duration-fast);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out)
}

.widget-icon .widget-icon-plus {
    transition-delay: .1s
}

.widget-icon .widget-icon-minus {
    transition-delay: 0s
}

.widget-icon.a .widget-icon-plus {
    opacity: 0;
    transition-delay: 0s
}

.widget-icon.a .widget-icon-minus {
    opacity: .52;
    transition-delay: .1s
}

.cover-manifesto h1 strong {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-black)
}

.header:not(.header-light) .list-o:hover .list-o-item,
.header:not(.header-light) .list-o.a .list-o-item {
    opacity: .24
}

.header:not(.header-light) .list-o.a .list-o-item.a,
.header:not(.header-light) .list-o .list-o-item.a {
    opacity: 1
}

@media (hover:hover) {
    .header:not(.header-light) .list-o .list-o-item:hover {
        opacity: 1
    }
}

.list-o:hover {
    pointer-events: none
}

.list-o:hover .list-o-item,
.list-o.a .list-o-item {
    opacity: .52
}

.list-o.a .list-o-item.a {
    opacity: 1
}

.list-o .list-o-item {
    pointer-events: auto
}

.list-o .list-o-item.a {
    opacity: 1
}

@media (hover:hover) {
    .list-o .list-o-item:hover {
        opacity: 1
    }
}

.contact-title .line-w:last-child {
    display: inline-flex
}

#semicolon {
    animation: 1s step-start infinite blink
}

@keyframes blink {
    50% {
        opacity: 0
    }
}

#tarteaucitronRoot {
    --bg-color: white;
    --text-color: black;
    --hover-color: var(--color-black);
    --font: var(--font-body);
    --font-size: 1.2rem;
    --letter-spacing: 1px;
    --border: none;
    --text-transform: initial;
    --alert-width: calc(100vw - var(--margin)*2);
    --alert-height: auto;
    --alert-padding: 2rem;
    --panel-title-size: 2rem;
    --panel-border: 1px solid var(--color-black);
    --button-text-transform: uppercase
}

@screen md {
    --alert-width: 35rem;
}

body.isMobile #tarteaucitronRoot {
    overflow: hidden
}

#tarteaucitronRoot #tarteaucitronAlertBig {
    flex-wrap: wrap;
    align-items: center;
    left: var(--margin) !important;
    bottom: var(--margin) !important;
    width: var(--alert-width) !important;
    min-height: var(--alert-height) !important;
    box-sizing: border-box !important;
    background-color: var(--bg-color) !important;
    border: var(--border) !important;
    text-align: left !important;
    padding: var(--alert-padding) !important;
    z-index: 9 !important
}

#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
    width: 100%;
    text-transform: var(--text-transform);
    order: 1;
    margin-bottom: 20px;
    font-family: var(--font) !important;
    font-size: var(--font-size) !important;
    color: var(--text-color) !important;
    letter-spacing: var(--letter-spacing) !important;
    padding: 0 !important;
    line-height: 1.3 !important
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
    text-transform: var(--button-text-transform);
    transition: color .5s var(--ease-out);
    order: 2;
    font-family: var(--font) !important;
    font-size: var(--font-size) !important;
    letter-spacing: var(--letter-spacing) !important;
    color: var(--text-color) !important;
    background-color: #0000 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 span {
    display: none
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
    color: var(--hover-color) !important
}

#tarteaucitronRoot button#tarteaucitronCloseAlert {
    text-transform: var(--button-text-transform);
    opacity: .3;
    transition: opacity .5s var(--ease-out);
    order: 3;
    margin-bottom: 0;
    position: relative;
    font-family: var(--font) !important;
    font-size: var(--font-size) !important;
    letter-spacing: var(--letter-spacing) !important;
    margin-left: 10px !important;
    padding: 0 !important;
    line-height: 1.3 !important
}

#tarteaucitronRoot button#tarteaucitronCloseAlert:hover {
    opacity: 1
}

#tarteaucitronRoot div#tarteaucitron {
    background-color: var(--bg-color);
    opacity: 1;
    outline: none;
    position: relative;
    overflow: hidden;
    top: var(--margin) !important;
    left: var(--margin) !important;
    width: calc(100vw - var(--margin)*2) !important;
    height: calc(100vh - var(--margin)*2) !important;
    margin: 0 !important
}

@screen xl {
    left: 0 !important;
    top: 10vh !important;
    width: 50vw !important;
    height: 80vh !important;
    margin: 0 auto !important;
}

@media (min-width:1600px) {
    #tarteaucitronRoot div#tarteaucitron {
        width: 40vw !important;
        height: 70vh !important;
        top: 15vh !important
    }
}

#tarteaucitronRoot div#tarteaucitron>button {
    justify-content: flex-end;
    align-items: flex-end;
    height: 45px;
    display: flex
}

#tarteaucitronRoot div#tarteaucitron>div {
    overflow-y: auto;
    box-sizing: border-box !important;
    width: 100% !important;
    height: calc(100% - 45px) !important
}

#tarteaucitronRoot button#tarteaucitronBack {
    background-color: #000000f2 !important
}

#tarteaucitronRoot #tarteaucitronClosePanel {
    z-index: 1;
    width: 100% !important;
    font-family: var(--font) !important;
    font-size: var(--size-14) !important;
    text-transform: uppercase !important;
    text-align: right !important;
    color: var(--text-color) !important;
    box-sizing: border-box !important;
    background-color: #0000 !important;
    outline: none !important;
    padding: 20px 20px 0 0 !important;
    position: relative !important
}

#tarteaucitronRoot #tarteaucitronServices {
    box-shadow: none !important;
    padding: var(--margin) !important;
    background: 0 0 !important;
    margin-top: 0 !important
}

@media (min-width:768px) {
    #tarteaucitronRoot #tarteaucitronServices {
        padding: 40px !important
    }
}

#tarteaucitronRoot #tarteaucitronServices * {
    letter-spacing: var(--letter-spacing);
    font-family: var(--font) !important
}

#tarteaucitronRoot #tarteaucitronMainLineOffset {
    border: unset !important;
    background-color: #0000 !important
}

#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronInfo {
    max-width: 100% !important;
    color: var(--text-color) !important;
    text-align: left !important;
    border: unset !important;
    background: 0 0 !important;
    margin: 0 0 16px !important;
    padding: 16px 0 !important
}

#tarteaucitronRoot .tarteaucitronH1 {
    font-size: var(--panel-title-size) !important;
    color: var(--text-color) !important;
    text-align: left !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    line-height: 1.3 !important
}

#tarteaucitronRoot .tarteaucitronName {
    width: auto !important;
    margin: 0 !important
}

#tarteaucitronRoot .tarteaucitronName .tarteaucitronH2 {
    font-size: var(--text-36) !important;
    color: var(--text-color) !important;
    text-transform: uppercase !important;
    background-color: #0000 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    line-height: 100% !important
}

#tarteaucitronRoot .tarteaucitronName .tarteaucitronH3 {
    font-size: var(--size-14) !important;
    color: var(--text-color) !important;
    margin-top: 0 !important
}

#tarteaucitronRoot .tarteaucitronBorder {
    border: unset !important;
    background-color: #0000 !important
}

body.isMobile :is(#tarteaucitronRoot .tarteaucitronBorder) {
    padding-bottom: 50px
}

#tarteaucitronRoot #tarteaucitronServices_mandatory,
#tarteaucitronRoot .tarteaucitronHidden {
    border-bottom: var(--panel-border) !important;
    background-color: #0000 !important;
    padding: 16px 0 !important
}

:is(#tarteaucitronRoot #tarteaucitronServices_mandatory, #tarteaucitronRoot .tarteaucitronHidden) br {
    display: none !important
}

:is(#tarteaucitronRoot #tarteaucitronServices_mandatory, #tarteaucitronRoot .tarteaucitronHidden) li {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

#tarteaucitronRoot .tarteaucitronLine {
    background-color: #0000 !important;
    padding-left: 0 !important
}

#tarteaucitronRoot .tarteaucitronListCookies {
    font-size: var(--size-14) !important;
    color: var(--text-color) !important;
    line-height: 1.3 !important
}

#tarteaucitronRoot .tarteaucitronListCookies:empty {
    display: none
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button {
    font-size: var(--panel-title-size) !important;
    color: var(--text-color) !important;
    text-transform: uppercase !important;
    background-color: #0000 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    line-height: 1 !important
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button span {
    display: none
}

#tarteaucitronRoot .tarteaucitronInfoBox {
    max-width: 100% !important;
    font-size: var(--size-14) !important;
    color: var(--text-color) !important;
    background-color: #0000 !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important
}

#tarteaucitronRoot .tacCurrentStatus,
#tarteaucitronRoot .tarteaucitronReadmoreSeparator {
    display: none !important
}

#tarteaucitronRoot #tarteaucitronServicesTitle_mandatory {
    border-top: var(--panel-border);
    padding-top: 16px !important
}

#tarteaucitronRoot #tarteaucitronServicesTitle_mandatory .tarteaucitronAsk {
    display: none !important
}

#tarteaucitronRoot .tarteaucitronAsk {
    margin-top: 0 !important
}

#tarteaucitronRoot .tarteaucitronAsk button {
    transition: background-color .5s var(--ease-out), opacity .5s var(--ease-out);
    font-size: var(--text-12) !important;
    text-transform: uppercase !important;
    padding: 6px 10px 4px !important
}

#tarteaucitronRoot .tarteaucitronAsk button span {
    display: none !important
}

#tarteaucitronRoot .tarteaucitronAsk button:hover {
    opacity: 1 !important;
    background: #000 !important
}

.image .lazy.loaded {
    opacity: 1;
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: var(--transition-duration-smooth);
    transition-duration: var(--transition-duration-smooth)
}

-ratio.image {
    height: calc(var(--spacing)*0);
    padding-top: var(--ratio);
    position: relative
}

-ratio.image>figure {
    top: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    width: 100%;
    height: 100%;
    position: absolute
}

.image-wrapper {
    position: relative
}

.image-wrapper>div {
    height: calc(var(--spacing)*0);
    width: 100%
}

.image-wrapper .image {
    top: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    position: absolute
}

.follow-mouse-img .lazy.loaded {
    opacity: 1;
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 0s;
    transition-duration: 0s
}

.widget-block-title {
    top: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    padding-right: calc(var(--spacing)*8);
    padding-left: calc(var(--spacing)*12);
    white-space: nowrap;
    display: inline-block;
    position: absolute
}

.widget-block-title:first-child {
    position: relative
}

c-stack-cards .stack-cards-wrapper {
    --negative-offset: 0;
    --scroll-progress: 0;
    --final-offset: 0px
}

@media (min-width:80rem) {
    c-stack-cards .stack-cards-wrapper {
        height: var(--container-height)
    }

    c-stack-cards .stack-cards-card {
        bottom: calc(var(--spacing)*0);
        left: calc(var(--spacing)*0);
        height: var(--card-height);
        width: 100%;
        position: absolute
    }

    c-stack-cards .stack-cards-card .stack-cards-card-inner {
        top: calc(var(--top-offset) + var(--scroll-offset, 0px)*var(--scroll-progress, 0) - var(--final-offset, 0px));
        position: sticky
    }
}

.header {
    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));
    --tw-duration: var(--transition-duration-normal);
    transition-duration: var(--transition-duration-normal);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out)
}

.header-light {
    color: var(--color-white)
}

.header-link+.header-link {
    padding-left: calc(var(--spacing)*6)
}

.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4 {
    margin-bottom: calc(var(--spacing)*10);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold)
}

.wysiwyg p+p {
    margin-top: calc(var(--spacing)*20)
}

.single-work section:last-child {
    margin-bottom: calc(var(--spacing)*0)
}

.single-work section:last-child.content,
.single-work section:last-child.three-images-content {
    margin-bottom: calc(var(--spacing)*80)
}

html {
    font-size: calc(10*(100vw/var(--size)));
    line-height: normal
}

html.html {
    margin-top: calc(var(--spacing)*0) !important
}

html.lenis {
    height: auto
}

body:not(.wp-admin) {
    margin: calc(var(--spacing)*0);
    background-color: var(--color-black);
    padding: calc(var(--spacing)*0);
    font-family: var(--font-body);
    font-size: var(--text-16);
    --tw-leading: 110%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 110%;
    overflow-x: hidden
}

body:not(.wp-admin).no-scroll {
    touch-action: none;
    overflow: hidden
}

body:not(.wp-admin) ::selection {
    background-color: var(--color-black);
    color: var(--color-white)
}

html,
body {
    height: 100%;
    overflow: hidden
}

[data-taxi-view] {
    margin-top: calc(var(--spacing-header)*-1);
    background-color: var(--color-white);
    width: 100%
}

#app {
    scrollbar-width: none;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    position: relative
}

#app::-webkit-scrollbar {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 0;
    height: 0;
    display: none
}

#app {
    height: 100%;
    overflow-y: scroll
}

#wrapper {
    position: relative
}

.lenis {
    overscroll-behavior: none
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

#gl {
    pointer-events: none;
    top: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    width: 100%;
    height: 100%;
    position: fixed
}

.svg-wrapper svg {
    width: 100%;
    height: 100%
}

.iframe-wrapper iframe {
    top: calc(var(--spacing)*0);
    left: calc(var(--spacing)*0);
    width: 100%;
    height: 100%;
    position: absolute
}

.word,
.char,
.char-w {
    display: inline-block
}

.line-w,
.char-w {
    overflow: hidden
}

c-content p+p {
    margin-top: calc(var(--spacing)*16)
}

.tinymce h2,
.tinymce h3 {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal)
}

.tinymce h2 {
    margin-bottom: calc(var(--spacing)*32);
    font-size: var(--text-36);
    --tw-leading: 110%;
    line-height: 110%
}

.tinymce h3 {
    margin-bottom: calc(var(--spacing)*16);
    font-size: var(--text-24);
    --tw-leading: 110%;
    line-height: 110%
}

.tinymce *+h2 {
    margin-top: calc(var(--spacing)*68)
}

.tinymce *+h3 {
    margin-top: calc(var(--spacing)*32)
}

.tinymce *+p,
.tinymce *+ul {
    margin-top: calc(var(--spacing)*24)
}

.tinymce h3+p {
    margin-top: calc(var(--spacing)*16)
}

.tinymce ul {
    padding-left: calc(var(--spacing)*24)
}

.tinymce ul li {
    list-style-type: disc
}

.tinymce a {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: var(--transition-duration-normal);
    transition-duration: var(--transition-duration-normal);
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
    text-decoration-line: underline
}

@media (min-width:80rem) {
    @media (hover:hover) {
        .tinymce a:hover {
            opacity: .32
        }
    }
}

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

@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-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

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

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

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

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

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes ping {

    75%,
    to {
        opacity: 0;
        transform: scale(2)
    }
}

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

@keyframes bounce {

    0%,
    to {
        animation-timing-function: cubic-bezier(.8, 0, 1, 1);
        transform: translateY(-25%)
    }

    50% {
        animation-timing-function: cubic-bezier(0, 0, .2, 1);
        transform: none
    }
}