/* Generated by `python manage.py build_css`. Do not edit directly. */
@layer le.base, le.layout, le.components, le.utilities, le.modules;


:root {
    /* ==============================
        RAW BASE COLORS
       ============================== */
    --clr-white: #ffffff;
    --clr-black: #000000;
    --clr-transparent: transparent;

    /* ==============================
        RAW BRAND PALETTE
       ============================== */
    --clr-cyan-50: #ecfeff;
    --clr-cyan-100: #ccf8fd;
    --clr-cyan-200: #99f1fb;
    --clr-cyan-300: #66eaf8;
    --clr-cyan-400: #33e3f5;
    --clr-cyan-500: #00d5f6;
    --clr-cyan-600: #00aaca;
    --clr-cyan-700: #008097;
    --clr-cyan-800: #075f73;
    --clr-cyan-900: #0b4758;

    /* ==============================
        RAW PUBLIC-SITE BLUE PALETTE
       ============================== */
    --clr-blue-50: #eff7ff;
    --clr-blue-100: #dbeeff;
    --clr-blue-200: #b8dcff;
    --clr-blue-300: #85c2ff;
    --clr-blue-400: #42a1ff;
    --clr-blue-500: #0080ff;
    --clr-blue-600: #0066cc;
    --clr-blue-700: #0556aa;
    --clr-blue-800: #09488a;
    --clr-blue-900: #0b3b6e;

    /* ==============================
        RAW PUBLIC-SITE INDIGO PALETTE
       ============================== */
    --clr-indigo-50: #eef2ff;
    --clr-indigo-100: #e0e7ff;
    --clr-indigo-200: #c7d2fe;
    --clr-indigo-300: #a5b4fc;
    --clr-indigo-400: #818cf8;
    --clr-indigo-500: #6366f1;
    --clr-indigo-600: #4f46e5;
    --clr-indigo-700: #4338ca;
    --clr-indigo-800: #3730a3;
    --clr-indigo-900: #312e81;

    /* ==============================
        RAW LIGHT SURFACE PALETTE
       ============================== */
    --clr-platinum-50: #ffffff;
    --clr-platinum-100: #f7f7f5;
    --clr-platinum-200: #ededea;
    --clr-platinum-300: #e1e1de;
    --clr-platinum-400: #d1d1cd;
    --clr-platinum-500: #b3b3af;
    --clr-platinum-600: #a4a49e;
    --clr-platinum-700: #95958f;
    --clr-platinum-800: #666662;
    --clr-platinum-900: #2a2a28;

    /* ==============================
        RAW DARK SURFACE PALETTE
       ============================== */
    --clr-midnight-50: #f0f0f5;
    --clr-midnight-100: #d9d9e6;
    --clr-midnight-200: #a1a1ba;
    --clr-midnight-300: #8989a6;
    --clr-midnight-400: #75758f;
    --clr-midnight-500: #4a4a62;
    --clr-midnight-600: #3b3b4f;
    --clr-midnight-700: #2e2e3f;
    --clr-midnight-800: #242432;
    --clr-midnight-900: #1a1a24;
    --clr-midnight-950: #111118;

    /* ==============================
        RAW STATUS PALETTES
       ============================== */
    --clr-error-50: #fff1f2;
    --clr-error-100: #ffe4e6;
    --clr-error-300: #fda4af;
    --clr-error-400: #fb7185;
    --clr-error-500: #f43f5e;
    --clr-error-600: #e11d48;
    --clr-error-700: #9f1239;
    --clr-error-900: #4c0519;

    --clr-warning-50: #fffbeb;
    --clr-warning-100: #fef3c7;
    --clr-warning-300: #fcd34d;
    --clr-warning-500: #f59e0b;
    --clr-warning-600: #d97706;
    --clr-warning-700: #b45309;
    --clr-warning-900: #451a03;

    --clr-success-50: #ecfdf5;
    --clr-success-100: #d1fae5;
    --clr-success-300: #6ee7b7;
    --clr-success-500: #10b981;
    --clr-success-600: #059669;
    --clr-success-700: #065f46;
    --clr-success-900: #022c22;

}

:root,
:root[data-theme="dark"] {
    /* ==============================
        DARK THEME GLOBAL TOKENS
       ============================== */
    color-scheme: dark;

    /* Backgrounds and surfaces */
    --le-bg-clr-primary: var(--clr-midnight-950);
    --le-bg-clr-secondary: var(--clr-midnight-900);
    --le-bg-clr-surface-1: var(--clr-midnight-900);
    --le-bg-clr-surface-2: var(--clr-midnight-800);
    --le-bg-clr-surface-3: var(--clr-midnight-700);
    --le-bg-clr-surface-elevated: var(--clr-midnight-800);
    --le-bg-clr-surface-hover: var(--clr-midnight-700);
    --le-bg-clr-surface-active: var(--clr-midnight-600);
    --le-bg-clr-surface-selected: color-mix(in srgb, var(--le-accent-clr-primary) 16%, var(--clr-transparent));
    --le-bg-clr-surface-disabled: color-mix(in srgb, var(--clr-midnight-500) 32%, var(--clr-transparent));
    --le-bg-clr-surface-overlay: color-mix(in srgb, var(--le-bg-clr-primary) 88%, var(--clr-transparent));
    --le-bg-clr-backdrop: color-mix(in srgb, var(--clr-black) 68%, var(--clr-transparent));
    --le-bg-clr-inverse: var(--clr-platinum-50);

    /* Typography */
    --le-text-clr-primary: var(--clr-midnight-50);
    --le-text-clr-secondary: var(--clr-midnight-200);
    --le-text-clr-muted: var(--clr-midnight-300);
    --le-text-clr-subtle: var(--clr-midnight-400);
    --le-text-clr-disabled: color-mix(in srgb, var(--clr-midnight-200) 44%, var(--clr-transparent));
    --le-text-clr-inverse: var(--clr-midnight-950);
    --le-text-clr-on-accent: var(--clr-midnight-950);
    --le-text-clr-on-danger: var(--clr-white);
    --le-text-clr-link: var(--clr-cyan-300);
    --le-text-clr-link-hover: var(--clr-cyan-100);

    /* Borders and dividers */
    --le-border-clr-subtle: color-mix(in srgb, var(--clr-midnight-50) 12%, var(--clr-transparent));
    --le-border-clr-default: var(--clr-midnight-600);
    --le-border-clr-strong: var(--clr-midnight-500);
    --le-border-clr-hover: var(--clr-midnight-300);
    --le-border-clr-focus: var(--le-accent-clr-primary);
    --le-border-clr-accent: color-mix(in srgb, var(--le-accent-clr-primary) 55%, var(--clr-transparent));
    --le-border-clr-danger: var(--clr-error-500);

    /* Interactive accents */
    --le-accent-clr-primary: var(--clr-cyan-500);
    --le-accent-clr-hover: var(--clr-cyan-400);
    --le-accent-clr-active: var(--clr-cyan-300);
    --le-accent-clr-muted: color-mix(in srgb, var(--le-accent-clr-primary) 15%, var(--clr-transparent));
    --le-accent-clr-subtle: color-mix(in srgb, var(--le-accent-clr-primary) 8%, var(--clr-transparent));
    --le-accent-clr-border: color-mix(in srgb, var(--le-accent-clr-primary) 40%, var(--clr-transparent));
    --le-accent-clr-text: var(--clr-cyan-300);

    /* Status colors */
    --le-status-success-clr: var(--clr-success-500);
    --le-status-success-text-clr: var(--clr-success-300);
    --le-status-warning-clr: var(--clr-warning-500);
    --le-status-warning-text-clr: var(--clr-warning-300);
    --le-status-danger-clr: var(--clr-error-600);
    --le-status-danger-text-clr: var(--clr-error-300);
    --le-status-danger-bg-hover: var(--clr-error-700);
    --le-status-info-clr: var(--clr-indigo-500);
    --le-status-info-text-clr: var(--clr-indigo-300);
    --le-status-muted-clr: var(--le-text-clr-muted);
    --le-status-muted-text-clr: var(--le-text-clr-secondary);

    /* Public marketing surfaces and typography */
    --le-marketing-bg-deep: var(--clr-midnight-950);
    --le-marketing-bg-muted: var(--clr-midnight-900);
    --le-marketing-bg-indigo-deep: var(--clr-indigo-900);
    --le-marketing-bg-indigo: var(--clr-indigo-700);
    --le-marketing-bg-indigo-bright: var(--clr-indigo-500);
    --le-marketing-bg-indigo-control: var(--clr-indigo-600);
    --le-marketing-bg-cyan-deep: var(--clr-cyan-800);
    --le-marketing-text-primary: var(--clr-white);
    --le-marketing-text-secondary: var(--clr-midnight-50);
    --le-marketing-text-muted: var(--clr-midnight-100);
    --le-marketing-text-accent: var(--clr-cyan-200);
    --le-marketing-mask-clr: var(--clr-black);
    --le-marketing-surface-primary: color-mix(in srgb, var(--clr-midnight-950) 86%, var(--clr-indigo-900));
    --le-marketing-surface-elevated: color-mix(in srgb, var(--clr-midnight-950) 94%, var(--clr-indigo-900));
    --le-marketing-surface-accent: var(--clr-cyan-100);
    --le-marketing-process-marker: var(--clr-midnight-900);
    --le-marketing-process-marker-border: var(--clr-midnight-500);
    --le-marketing-border-muted: color-mix(in srgb, var(--clr-indigo-500) 44%, var(--clr-midnight-500));
    --le-marketing-border-strong: color-mix(in srgb, var(--clr-cyan-500) 52%, var(--clr-indigo-500));
    --le-marketing-border-accent: color-mix(in srgb, var(--clr-cyan-500) 74%, var(--clr-indigo-500));
}

:root[data-theme="light"] {
    /* ==============================
        LIGHT THEME GLOBAL TOKENS
       ============================== */
    color-scheme: light;

    /* Backgrounds and surfaces */
    --le-bg-clr-primary: var(--clr-platinum-200);
    --le-bg-clr-secondary: var(--clr-platinum-100);
    --le-bg-clr-surface-1: var(--clr-platinum-100);
    --le-bg-clr-surface-2: var(--clr-platinum-50);
    --le-bg-clr-surface-3: var(--clr-platinum-200);
    --le-bg-clr-surface-elevated: var(--clr-platinum-50);
    --le-bg-clr-surface-hover: var(--clr-platinum-300);
    --le-bg-clr-surface-active: var(--clr-platinum-400);
    --le-bg-clr-surface-selected: color-mix(in srgb, var(--le-accent-clr-primary) 12%, var(--clr-transparent));
    --le-bg-clr-surface-disabled: color-mix(in srgb, var(--clr-platinum-500) 28%, var(--clr-transparent));
    --le-bg-clr-surface-overlay: color-mix(in srgb, var(--clr-white) 88%, var(--clr-transparent));
    --le-bg-clr-backdrop: color-mix(in srgb, var(--clr-black) 46%, var(--clr-transparent));
    --le-bg-clr-inverse: var(--clr-midnight-950);

    /* Typography */
    --le-text-clr-primary: var(--clr-platinum-900);
    --le-text-clr-secondary: var(--clr-platinum-800);
    --le-text-clr-muted: var(--clr-platinum-800);
    --le-text-clr-subtle: var(--clr-platinum-700);
    --le-text-clr-disabled: color-mix(in srgb, var(--clr-platinum-800) 42%, var(--clr-transparent));
    --le-text-clr-inverse: var(--clr-platinum-50);
    --le-text-clr-link: var(--clr-cyan-900);
    --le-text-clr-link-hover: color-mix(in srgb, var(--clr-cyan-900) 86%, var(--clr-black));

    /* Borders and dividers */
    --le-border-clr-subtle: color-mix(in srgb, var(--clr-platinum-900) 10%, var(--clr-transparent));
    --le-border-clr-default: var(--clr-platinum-700);
    --le-border-clr-strong: var(--clr-platinum-800);
    --le-border-clr-hover: var(--clr-platinum-800);
    --le-border-clr-focus: var(--clr-cyan-800);
    --le-border-clr-accent: color-mix(in srgb, var(--clr-cyan-800) 64%, var(--clr-transparent));

    /* Interactive accents */
    --le-accent-clr-hover: var(--clr-cyan-600);
    --le-accent-clr-active: var(--clr-cyan-700);
    --le-accent-clr-muted: color-mix(in srgb, var(--le-accent-clr-primary) 12%, var(--clr-transparent));
    --le-accent-clr-subtle: color-mix(in srgb, var(--le-accent-clr-primary) 7%, var(--clr-transparent));
    --le-accent-clr-border: color-mix(in srgb, var(--clr-cyan-800) 72%, var(--clr-transparent));
    --le-accent-clr-text: var(--clr-cyan-900);

    /* Status colors */
    --le-status-success-clr: var(--clr-success-600);
    --le-status-success-text-clr: var(--clr-success-700);
    --le-status-warning-clr: var(--clr-warning-600);
    --le-status-warning-text-clr: var(--clr-warning-700);
    --le-status-danger-clr: var(--clr-error-600);
    --le-status-danger-text-clr: var(--clr-error-700);
    --le-status-danger-bg-hover: var(--clr-error-700);
    --le-status-info-clr: var(--clr-indigo-600);
    --le-status-info-text-clr: var(--clr-indigo-700);

    /* Public marketing surfaces and typography */
    --le-marketing-bg-deep: var(--clr-platinum-200);
    --le-marketing-bg-muted: var(--clr-platinum-100);
    --le-marketing-bg-indigo-deep: var(--clr-indigo-100);
    --le-marketing-bg-indigo: var(--clr-indigo-300);
    --le-marketing-bg-indigo-bright: var(--clr-indigo-300);
    --le-marketing-bg-indigo-control: var(--clr-indigo-100);
    --le-marketing-bg-cyan-deep: var(--clr-cyan-100);
    --le-marketing-text-primary: var(--clr-platinum-900);
    --le-marketing-text-secondary: var(--clr-midnight-600);
    --le-marketing-text-muted: var(--clr-midnight-500);
    --le-marketing-text-accent: var(--clr-cyan-900);
    --le-marketing-mask-clr: var(--clr-black);
    --le-marketing-surface-primary: color-mix(in srgb, var(--clr-white) 90%, var(--clr-indigo-50));
    --le-marketing-surface-elevated: var(--clr-platinum-50);
    --le-marketing-surface-accent: var(--clr-cyan-100);
    --le-marketing-process-marker: var(--clr-midnight-900);
    --le-marketing-process-marker-border: var(--clr-midnight-500);
    --le-marketing-border-muted: color-mix(in srgb, var(--clr-indigo-600) 45%, var(--clr-platinum-500));
    --le-marketing-border-strong: color-mix(in srgb, var(--clr-cyan-700) 58%, var(--clr-indigo-600));
    --le-marketing-border-accent: color-mix(in srgb, var(--clr-cyan-800) 70%, var(--clr-indigo-600));
}

:root {
    /* ==============================
        SHARED GLOBAL COLOR TOKENS
       ============================== */

    /* Brand gradients */
    --le-accent-gradient-primary: linear-gradient(
        180deg,
        var(--clr-cyan-500) 0%,
        var(--clr-blue-500) 100%
    );

    /* Focus */
    --le-focus-ring-clr: color-mix(in srgb, var(--le-border-clr-focus) 65%, var(--clr-transparent));
    --le-focus-ring-clr-danger: var(--le-status-danger-clr);

    /* Selection */
    --le-selection-bg: color-mix(in srgb, var(--le-accent-clr-primary) 32%, var(--clr-transparent));
    --le-selection-text-clr: var(--le-text-clr-primary);
}

:root {
    --ff-montserrat: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
    --ff-inter: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
    --ff-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

    --fs-100: 0.6875rem;
    --fs-200: 0.75rem;
    --fs-300: 0.875rem;
    --fs-400: 1rem;
    --fs-500: 1.125rem;
    --fs-600: 1.25rem;
    --fs-700: 1.5rem;
    --fs-800: 1.75rem;
    --fs-900: 2rem;
    --fs-950: 2.5rem;
    --fs-1000: 4rem;

    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semi-bold: 600;
    --fw-bold: 700;

    --lh-100: 1;
    --lh-200: 1.15;
    --lh-300: 1.3;
    --lh-400: 1.5;
    --lh-500: 1.65;

    --ls-tight: -0.025em;
    --ls-normal: 0;
    --ls-wide: 0.04em;
    --ls-widest: 0.08em;

    --le-ff-body: var(--ff-inter);
    --le-ff-heading: var(--ff-montserrat);
    --le-ff-mono: var(--ff-mono);

    --le-fs-display: var(--fs-950);
    --le-fs-display-xl: clamp(var(--le-fs-display), 6vw, var(--fs-1000));
    --le-fs-title: var(--fs-900);
    --le-fs-heading: var(--fs-800);
    --le-fs-subheading: var(--fs-700);
    --le-fs-body-lg: var(--fs-500);
    --le-fs-body: var(--fs-400);
    --le-fs-body-sm: var(--fs-300);
    --le-fs-caption: var(--fs-200);
    --le-fs-micro: var(--fs-100);

    --le-fw-body: var(--fw-regular);
    --le-fw-label: var(--fw-medium);
    --le-fw-heading: var(--fw-semi-bold);
    --le-fw-strong: var(--fw-bold);

    --le-lh-heading: var(--lh-200);
    --le-lh-body: var(--lh-400);
    --le-lh-compact: var(--lh-300);
    --le-lh-solid: var(--lh-100);

    --le-ls-heading: var(--ls-tight);
    --le-ls-body: var(--ls-normal);
    --le-ls-label: var(--ls-wide);
}

@media (min-width: 50em) {
    :root {
        --fs-600: 1.375rem;
        --fs-700: 1.625rem;
        --fs-800: 2rem;
        --fs-900: 2.5rem;
        --fs-950: 3rem;
    }
}

:root {
    --space-0: 0;
    --space-px: 1px;
    --space-50: 0.125rem;
    --space-100: 0.25rem;
    --space-150: 0.375rem;
    --space-200: 0.5rem;
    --space-250: 0.625rem;
    --space-300: 0.75rem;
    --space-350: 0.875rem;
    --space-400: 1rem;
    --space-500: 1.25rem;
    --space-600: 1.5rem;
    --space-700: 1.75rem;
    --space-800: 2rem;
    --space-900: 2.25rem;
    --space-1000: 2.5rem;
    --space-1100: 2.75rem;
    --space-1200: 3rem;
    --space-1300: 3.25rem;
    --space-1400: 3.5rem;
    --space-1500: 3.75rem;
    --space-1600: 4rem;
    --space-2000: 5rem;
    --space-2400: 6rem;
    --space-3200: 8rem;
}

:root {
    --size-0: 0;
    --size-px: 1px;
    --size-50: 0.125rem;
    --size-100: 0.25rem;
    --size-150: 0.375rem;
    --size-200: 0.5rem;
    --size-250: 0.625rem;
    --size-300: 0.75rem;
    --size-350: 0.875rem;
    --size-400: 1rem;
    --size-500: 1.25rem;
    --size-600: 1.5rem;
    --size-700: 1.75rem;
    --size-800: 2rem;
    --size-900: 2.25rem;
    --size-1000: 2.5rem;
    --size-1100: 2.75rem;
    --size-1200: 3rem;
    --size-1300: 3.25rem;
    --size-1400: 3.5rem;
    --size-1500: 3.75rem;
    --size-1600: 4rem;
}

:root {
    --radius-none: 0;
    --radius-xs: 0.125rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-pill: 9999px;
    --radius-circle: 50%;

    --shadow-none: none;
    --shadow-xs: 0 1px 2px color-mix(in srgb, var(--clr-black) 12%, transparent);
    --shadow-sm: 0 2px 6px color-mix(in srgb, var(--clr-black) 14%, transparent);
    --shadow-md: 0 8px 20px color-mix(in srgb, var(--clr-black) 18%, transparent);
    --shadow-lg: 0 16px 40px color-mix(in srgb, var(--clr-black) 22%, transparent);
    --shadow-xl: 0 24px 64px color-mix(in srgb, var(--clr-black) 26%, transparent);

    --border-width-0: 0;
    --border-width-1: 1px;
    --border-width-2: 2px;

    --focus-ring-width: 2px;
    --focus-ring-offset: 3px;

    --blur-none: 0;
    --blur-sm: 4px;
    --blur-md: 8px;
    --blur-lg: 16px;
    --blur-xl: 24px;

    --duration-100: 100ms;
    --duration-150: 150ms;
    --duration-200: 200ms;
    --duration-250: 250ms;
    --duration-300: 300ms;
    --duration-400: 400ms;

    --ease-standard: cubic-bezier(0.2, 0, 0, 1);
    --ease-emphasized: cubic-bezier(0.2, 0, 0, 1.2);
    --ease-decelerate: cubic-bezier(0, 0, 0.2, 1);
    --ease-accelerate: cubic-bezier(0.4, 0, 1, 1);
}

:root {
    --z-index-below: -1;
    --z-index-0: 0;
    --z-index-1: 1;
    --z-index-10: 10;
    --z-index-20: 20;
    --z-index-30: 30;
    --z-index-40: 40;
    --z-index-50: 50;
    --z-index-60: 60;
    --z-index-70: 70;
    --z-index-80: 80;
    --z-index-90: 90;
    --z-index-100: 100;

    --le-z-layer-below: var(--z-index-below);
    --le-z-layer-base: var(--z-index-0);
    --le-z-layer-raised: var(--z-index-1);
    --le-z-layer-sticky: var(--z-index-10);
    --le-z-layer-header: var(--z-index-20);
    --le-z-layer-dropdown: var(--z-index-40);
    --le-z-layer-backdrop: var(--z-index-50);
    --le-z-layer-modal: var(--z-index-70);
    --le-z-layer-tooltip: var(--z-index-90);
    --le-z-layer-toast: var(--z-index-100);
}


@layer le.base {
/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Prevent font size inflation */
html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

/* Remove default margin */
* {
    margin: 0;
    padding: 0;
    font: inherit;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
    list-style: none;
}

html:focus-within {
    scroll-behavior: smooth;
}

html,
body {
    height: 100%;
}

/* Set core body defaults */
body {
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture,
svg,
canvas,
video {
  max-width: 100%;
  display: block;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
}

@layer le.base {
html {
    background: var(--le-bg-clr-primary);
}

html[data-theme="light"] {color-scheme: light;}
html[data-theme="dark"] {color-scheme: dark;}

body {
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden;
    background: var(--le-bg-clr-primary);
    color: var(--le-text-clr-primary);
    font-family: var(--le-ff-body);
    font-size: var(--le-fs-body);
    font-weight: var(--le-fw-body);
    line-height: var(--le-lh-body);
    letter-spacing: var(--le-ls-body);
}

body:has(dialog[open]) {
    overflow: hidden;
}

a {
    color: inherit;
}

:where(h1, h2, h3, h4, h5, h6) {
    line-height: var(--le-lh-heading);
    letter-spacing: var(--le-ls-heading);
}
}


@layer le.layout {
.le-public-shell {
    --le-public-navbar-block-size: 4.5rem;

    block-size: auto;
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-rows: auto minmax(min-content, 1fr) auto;
}

.le-public-shell__header,
.le-public-shell__main,
.le-public-shell__footer {
    min-inline-size: 0;
}

.le-public-shell__header {
    position: sticky;
    inset-block-start: 0;
    z-index: var(--le-z-layer-header);
}

.le-public-shell__main {
    min-block-size: min-content;
}

html:not(.le-js) .le-public-shell__header {
    position: relative;
}
}

@layer le.layout {
.le-section {
    --le-section-padding-block: clamp(var(--space-1600), 8vw, var(--space-3200));

    min-inline-size: 0;
    padding-block: var(--le-section-padding-block);
}

.le-section--compact {
    --le-section-padding-block: clamp(var(--space-1200), 6vw, var(--space-2400));
}

.le-section--flush {
    --le-section-padding-block: var(--space-0);
}

.le-section__header {
    margin-block-end: clamp(var(--space-1000), 6vw, var(--space-2000));
}
}

@layer le.layout {
.le-split {
    --le-split-gap: clamp(var(--space-800), 5vw, var(--space-1600));
    --le-split-first: 1fr;
    --le-split-second: 1fr;
    --le-split-align: start;

    min-inline-size: 0;
    display: grid;
    align-items: var(--le-split-align);
    gap: var(--le-split-gap);
}

@media (min-width: 50em) {
    .le-split {
        grid-template-columns:
            minmax(0, var(--le-split-first))
            minmax(0, var(--le-split-second));
    }

    .le-split--reverse > :first-child {
        grid-column: 2;
    }

    .le-split--reverse > :last-child {
        grid-column: 1;
        grid-row: 1;
    }
}
}

@layer le.layout {
.le-grid {
    --le-grid-gap: var(--space-400);

    min-inline-size: 0;
    display: grid;
    gap: var(--le-grid-gap);
}

.le-grid--cards {
    --le-grid-card-min: 18rem;

    grid-template-columns: minmax(0, 1fr);
}

.le-grid--cards-lg {
    --le-grid-card-min: 20rem;
}

@media (min-width: 50em) {
    .le-grid--cards {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--le-grid-card-min)), 1fr));
    }
}
}


@layer le.components {
.le-brand {
    --le-brand-gap: var(--space-250);
    --le-brand-clr: var(--le-text-clr-primary);
    --le-brand-fs: var(--fs-400);
    --le-brand-icon-size: var(--size-800);

    min-inline-size: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--le-brand-gap);
    color: var(--le-brand-clr);
    font-family: var(--le-ff-heading);
    font-size: var(--le-brand-fs);
    font-weight: var(--fw-bold);
    line-height: var(--lh-100);
    letter-spacing: var(--ls-tight);
    text-decoration: none;
}

.le-brand__icon {
    inline-size: auto;
    block-size: var(--le-brand-icon-size);
    flex: 0 0 auto;
    object-fit: contain;
}

.le-brand__text {
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.le-brand:focus-visible {
    border-radius: var(--radius-md);
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}

@media (forced-colors: active) {
    .le-brand:focus-visible {
        outline-color: Highlight;
    }
}
}

@layer le.components {
.le-button {
    --le-button-bg: transparent;
    --le-button-text-clr: var(--le-text-clr-primary);
    --le-button-border-clr: transparent;
    --le-button-border-width: var(--border-width-1);
    --le-button-radius: var(--radius-pill);
    --le-button-padding-block: var(--space-300);
    --le-button-padding-inline: var(--space-500);
    --le-button-gap: var(--space-200);
    --le-button-min-block-size: var(--size-1100);
    --le-button-shadow: var(--shadow-none);

    position: relative;
    min-inline-size: 0;
    min-block-size: var(--le-button-min-block-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--le-button-gap);
    padding: var(--le-button-padding-block) var(--le-button-padding-inline);
    overflow: hidden;
    border: var(--le-button-border-width) solid var(--le-button-border-clr);
    border-radius: var(--le-button-radius);
    background: var(--le-button-bg);
    background-clip: border-box;
    background-origin: border-box;
    background-repeat: no-repeat;
    box-shadow: var(--le-button-shadow);
    color: var(--le-button-text-clr);
    font-family: var(--le-ff-body);
    font-size: var(--fs-300);
    font-weight: var(--fw-bold);
    line-height: var(--lh-100);
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    transition:
        background-color var(--duration-150) var(--ease-standard),
        border-color var(--duration-150) var(--ease-standard),
        box-shadow var(--duration-150) var(--ease-standard),
        color var(--duration-150) var(--ease-standard),
        filter var(--duration-150) var(--ease-standard),
        transform var(--duration-150) var(--ease-standard);
}

.le-button:hover {
    text-decoration: none;
}

.le-button:active {
    transform: translateY(1px);
}

.le-button:focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
    box-shadow: 0 0 0 calc(var(--focus-ring-width) + 2px) var(--le-focus-ring-clr);
}

.le-button--primary {
    --le-button-bg: var(--le-accent-gradient-primary);
    --le-button-text-clr: var(--le-text-clr-on-accent);
    --le-button-border-clr: transparent;
    --le-button-shadow: 0 10px 28px color-mix(in srgb, var(--le-accent-clr-primary) 24%, transparent);
}

.le-button--primary:hover {
    filter: brightness(1.06) saturate(1.08);
}

.le-button--primary:active {
    filter: brightness(0.95) saturate(1.02);
}

.le-button--secondary {
    --le-button-bg: var(--le-bg-clr-surface-2);
    --le-button-text-clr: var(--le-text-clr-secondary);
    --le-button-border-clr: var(--le-border-clr-default);
}

.le-button--secondary:hover {
    --le-button-bg: var(--le-bg-clr-surface-hover);
    --le-button-text-clr: var(--le-text-clr-primary);
    --le-button-border-clr: var(--le-border-clr-hover);
}

.le-button--ghost {
    --le-button-bg: transparent;
    --le-button-text-clr: var(--le-text-clr-secondary);
    --le-button-border-clr: transparent;
}

.le-button--ghost:hover {
    --le-button-bg: var(--le-bg-clr-surface-hover);
    --le-button-text-clr: var(--le-text-clr-primary);
}

.le-button--danger {
    --le-button-bg: var(--le-status-danger-clr);
    --le-button-text-clr: var(--le-text-clr-on-danger);
    --le-button-border-clr: transparent;
}

.le-button--danger:hover {
    --le-button-bg: var(--le-status-danger-bg-hover);
}

.le-button--sm {
    --le-button-padding-block: var(--space-200);
    --le-button-padding-inline: var(--space-400);
}

.le-button--lg {
    --le-button-min-block-size: var(--size-1300);
    --le-button-padding-block: var(--space-350);
    --le-button-padding-inline: var(--space-600);
    --le-button-gap: var(--space-250);

    font-size: var(--fs-400);
}

.le-button--block {
    inline-size: 100%;
}

.le-button--icon {
    --le-button-min-block-size: var(--size-1100);
    --le-button-padding-block: var(--space-200);
    --le-button-padding-inline: var(--space-200);
    --le-button-radius: var(--radius-lg);

    inline-size: var(--le-button-min-block-size);
    aspect-ratio: 1;
}

.le-button--circle {
    --le-button-min-block-size: var(--size-1400);
    --le-button-padding-block: var(--space-200);
    --le-button-padding-inline: var(--space-200);
    --le-button-radius: var(--radius-circle);

    inline-size: var(--le-button-min-block-size);
    aspect-ratio: 1;
}

.le-button__icon {
    inline-size: var(--size-400);
    block-size: var(--size-400);
    flex: 0 0 auto;
}

.le-button--lg .le-button__icon,
.le-button--circle .le-button__icon {
    inline-size: var(--size-500);
    block-size: var(--size-500);
}

.le-button:is(:disabled, [aria-disabled="true"], .le-button--disabled) {
    --le-button-bg: var(--le-bg-clr-surface-disabled);
    --le-button-text-clr: var(--le-text-clr-disabled);
    --le-button-border-clr: var(--le-border-clr-subtle);
    --le-button-shadow: none;

    cursor: not-allowed;
    filter: none;
    pointer-events: none;
    transform: none;
}

@media (forced-colors: active) {
    .le-button {
        border-color: ButtonText;
    }

    .le-button:focus-visible {
        outline-color: Highlight;
    }
}
}

@layer le.components {
.le-public-navbar {
    --le-public-navbar-height: var(--le-public-navbar-block-size);
    --le-public-navbar-z-index: var(--le-z-layer-header);

    position: relative;
    z-index: var(--le-public-navbar-z-index);
}

.le-public-navbar__bar {
    position: relative;
    z-index: calc(var(--le-public-navbar-z-index) + 2);
    min-block-size: var(--le-public-navbar-height);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-400);
    padding-block: var(--space-200);
    padding-inline: max(var(--space-400), env(safe-area-inset-left)) max(var(--space-400), env(safe-area-inset-right));
    border: var(--border-width-1) solid var(--le-border-clr-subtle);
    border-block-start: 0;
    border-radius: 0 0 var(--radius-2xl) var(--radius-2xl);
    background: color-mix(in srgb, var(--le-bg-clr-surface-1) 92%, transparent);
    box-shadow: var(--shadow-md);
}

.le-public-navbar__brand {
    --le-brand-icon-size: var(--size-1200);
    --le-brand-fs: clamp(var(--fs-400), 4vw, var(--fs-500));

    position: relative;
    z-index: calc(var(--le-public-navbar-z-index) + 2);
    justify-self: start;
}

.le-public-navbar__menu {
    position: fixed;
    inset: 0;
    z-index: calc(var(--le-public-navbar-z-index) + 1);
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-800);
    padding-block-start: calc(var(--le-public-navbar-height) + var(--space-1000) + env(safe-area-inset-top));
    padding-inline: max(var(--space-600), env(safe-area-inset-left)) max(var(--space-600), env(safe-area-inset-right));
    padding-block-end: max(var(--space-800), env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background:
        radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--le-marketing-bg-indigo-control) 24%, transparent), transparent 34rem),
        var(--le-bg-clr-primary);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-100%);
    transition:
        opacity var(--duration-300) var(--ease-standard),
        transform var(--duration-400) var(--ease-decelerate),
        visibility 0s linear var(--duration-400);
}

.le-public-navbar.is-open .le-public-navbar__menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
    transition-delay: 0s;
}

html.le-public-navbar-open,
body.le-public-navbar-open {
    overflow: hidden;
}

body.le-public-navbar-open {
    position: fixed;
    inset-block-start: var(--le-public-navbar-scroll-offset, 0);
    inset-inline: 0;
    inline-size: 100%;
    padding-inline-end: var(--le-public-navbar-scrollbar-gap, 0);
}

html.le-public-navbar-open .le-public-shell__header {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    inline-size: 100%;
}

.le-public-navbar__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: var(--space-900);
    list-style: none;
}

.le-public-navbar__item {
    min-inline-size: 0;
    opacity: 0;
    transform: translateX(calc(var(--space-1600) * -1));
    transition:
        opacity var(--duration-300) var(--ease-standard),
        transform var(--duration-400) var(--ease-decelerate);
}

.le-public-navbar.is-open .le-public-navbar__item {
    opacity: 1;
    transform: translateX(0);
}

.le-public-navbar.is-open .le-public-navbar__item:nth-child(1) { transition-delay: 80ms; }
.le-public-navbar.is-open .le-public-navbar__item:nth-child(2) { transition-delay: 140ms; }
.le-public-navbar.is-open .le-public-navbar__item:nth-child(3) { transition-delay: 200ms; }
.le-public-navbar.is-open .le-public-navbar__item:nth-child(4) { transition-delay: 260ms; }
.le-public-navbar.is-open .le-public-navbar__item:nth-child(5) { transition-delay: 320ms; }

.le-public-navbar__link {
    --le-public-navbar-link-icon-size: var(--size-800);
    --le-public-navbar-link-icon-slot: var(--size-1200);

    position: relative;
    min-block-size: var(--size-1400);
    display: inline-flex;
    align-items: center;
    padding-inline-start: var(--le-public-navbar-link-icon-slot);
    padding-inline-end: var(--space-200);
    color: var(--le-text-clr-muted);
    font-size: clamp(var(--fs-600), 7vw, var(--fs-900));
    font-weight: var(--fw-medium);
    line-height: var(--lh-100);
    text-decoration: none;
    white-space: nowrap;
    outline-offset: var(--focus-ring-offset);
    transition:
        color var(--duration-250) var(--ease-standard),
        opacity var(--duration-250) var(--ease-standard);
}

.le-public-navbar__link-icon {
    position: absolute;
    inset-inline-start: 0;
    inline-size: var(--le-public-navbar-link-icon-size);
    block-size: var(--le-public-navbar-link-icon-size);
    background: currentColor;
    -webkit-mask: url("../images/icons/butterfly_icon_white.33f48204d983.svg") center / contain no-repeat;
    mask: url("../images/icons/butterfly_icon_white.33f48204d983.svg") center / contain no-repeat;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(calc(var(--space-100) * -1)) scale(0.96);
    transition:
        opacity var(--duration-250) var(--ease-standard),
        visibility var(--duration-250) var(--ease-standard),
        transform var(--duration-250) var(--ease-standard);
}

.le-public-navbar__link-label {
    position: relative;
    display: inline-block;
    pointer-events: none;
    transform: translateX(calc(var(--le-public-navbar-link-icon-slot) * -1));
    transition: transform var(--duration-300) var(--ease-standard);
}

.le-public-navbar__link-label::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: calc(var(--space-200) * -1);
    inline-size: 100%;
    block-size: var(--size-px);
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--duration-300) var(--ease-decelerate);
}

.le-public-navbar__link:is(:hover, :focus-visible) {
    color: var(--le-text-clr-primary);
}

.le-public-navbar__link:is(:hover, :focus-visible, [aria-current="page"], .is-active) .le-public-navbar__link-icon {
    opacity: 1;
    visibility: visible;
    transform: translateX(0) scale(1);
}

.le-public-navbar__link:is(:hover, :focus-visible, [aria-current="page"], .is-active) .le-public-navbar__link-label {
    transform: translateX(0);
}

.le-public-navbar__link:is(:hover, :focus-visible, [aria-current="page"], .is-active) .le-public-navbar__link-label::after {
    transform: scaleX(1);
}

.le-public-navbar__list:has(.le-public-navbar__link:is(:hover, :focus-visible)) .le-public-navbar__link:not(:is(:hover, :focus-visible)) {
    opacity: 0.46;
}

.le-public-navbar__actions {
    min-inline-size: 0;
    display: grid;
    align-content: end;
    gap: var(--space-500);
    margin-block-start: auto;
}

.le-public-navbar__utilities {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-200);
}

.le-public-navbar__language {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.le-public-navbar__language-button {
    min-inline-size: var(--size-1100);
    min-block-size: var(--size-1100);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-150);
    padding: var(--space-100) var(--space-200);
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--le-text-clr-muted);
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    line-height: var(--lh-100);
    cursor: pointer;
    transition:
        background-color var(--duration-150) var(--ease-standard),
        color var(--duration-150) var(--ease-standard);
}

.le-public-navbar__language-button:is(:hover, :focus-visible) {
    background: var(--le-bg-clr-surface-hover);
    color: var(--le-text-clr-primary);
}

.le-public-navbar__language-button svg {
    inline-size: var(--size-500);
    block-size: var(--size-500);
    flex: 0 0 auto;
}

.le-public-navbar__language-menu {
    position: absolute;
    inset-block-end: calc(100% + var(--space-200));
    inset-inline-start: 0;
    z-index: var(--le-z-layer-dropdown);
    min-inline-size: min(11rem, calc(100vw - var(--space-800)));
    display: grid;
    gap: var(--space-100);
    padding: var(--space-150);
    border: var(--border-width-1) solid var(--le-border-clr-subtle);
    border-radius: var(--radius-xl);
    background: var(--le-bg-clr-surface-2);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(calc(var(--space-100) * -1));
    transition:
        opacity var(--duration-150) var(--ease-standard),
        visibility var(--duration-150) var(--ease-standard),
        transform var(--duration-150) var(--ease-standard);
}

.le-public-navbar__language.is-open .le-public-navbar__language-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.le-public-navbar__language-option {
    position: relative;
    inline-size: 100%;
    min-block-size: var(--size-1100);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-300);
    padding: var(--space-250) var(--space-300) var(--space-250) var(--space-500);
    border-radius: var(--radius-lg);
    background: transparent;
    color: var(--le-text-clr-secondary);
    font-size: var(--fs-300);
    font-weight: var(--fw-semi-bold);
    text-decoration: none;
}

.le-public-navbar__language-option:is(:hover, :focus-visible) {
    background: var(--le-bg-clr-surface-hover);
    color: var(--le-text-clr-primary);
}

.le-public-navbar__language-option:focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: calc(var(--focus-ring-width) * -1);
}

.le-public-navbar__language-option:is([aria-current="page"], .is-active) {
    color: var(--le-text-clr-primary);
}

.le-public-navbar__language-option:is([aria-current="page"], .is-active)::before {
    content: "";
    position: absolute;
    inset-inline-start: var(--space-200);
    inset-block-start: 50%;
    inline-size: var(--border-width-2);
    block-size: var(--size-400);
    border-radius: var(--radius-pill);
    background: var(--le-accent-clr-primary);
    transform: translateY(-50%);
}

.le-public-navbar__language-trigger-code,
.le-public-navbar__language-option-code {
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
    text-transform: uppercase;
}

.le-public-navbar__cta .le-button {
    --le-button-shadow: var(--shadow-none);

    inline-size: 100%;
}

.le-public-navbar__toggle {
    position: relative;
    z-index: calc(var(--le-public-navbar-z-index) + 2);
    inline-size: var(--size-1100);
    block-size: var(--size-1100);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--radius-lg);
    background: transparent;
    color: var(--le-text-clr-primary);
    cursor: pointer;
}

.le-public-navbar__toggle-bars {
    position: relative;
    inline-size: var(--size-600);
    block-size: var(--size-600);
}

.le-public-navbar__toggle-bar {
    position: absolute;
    inset-inline: 0;
    inset-block-start: 50%;
    block-size: var(--border-width-2);
    border-radius: var(--radius-pill);
    background: currentColor;
    transform: translateY(-50%);
    transform-origin: center;
    transition:
        opacity var(--duration-250) var(--ease-standard),
        transform var(--duration-250) var(--ease-standard);
}

.le-public-navbar__toggle-bar:nth-child(1) {
    transform: translateY(calc(-50% - var(--space-200)));
}

.le-public-navbar__toggle-bar:nth-child(3) {
    transform: translateY(calc(-50% + var(--space-200)));
}

.le-public-navbar.is-open .le-public-navbar__toggle-bar:nth-child(1) {
    transform: translateY(-50%) rotate(45deg);
}

.le-public-navbar.is-open .le-public-navbar__toggle-bar:nth-child(2) {
    opacity: 0;
    transform: translateY(-50%) scaleX(0);
}

.le-public-navbar.is-open .le-public-navbar__toggle-bar:nth-child(3) {
    transform: translateY(-50%) rotate(-45deg);
}

:is(.le-public-navbar__language-button, .le-public-navbar__toggle):focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}

@media (min-width: 50em) {
    html.le-public-navbar-open,
    body.le-public-navbar-open {
        overflow: visible;
    }

    .le-public-navbar__bar {
        grid-template-columns: auto minmax(0, 1fr) auto;
        justify-content: stretch;
        column-gap: clamp(var(--space-200), 1.4vw, var(--space-600));
        backdrop-filter: blur(var(--blur-lg));
    }

    .le-public-navbar__brand {
        --le-brand-icon-size: var(--size-1000);
        --le-brand-fs: var(--fs-400);

        grid-column: 1;
    }

    .le-public-navbar__menu {
        position: static;
        inset: auto;
        display: contents;
        padding: 0;
        overflow: visible;
        background: transparent;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    .le-public-navbar__list {
        grid-column: 2;
        justify-self: center;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: clamp(var(--space-100), 0.8vw, var(--space-300));
    }

    .le-public-navbar__item {
        opacity: 1;
        transform: none;
    }

    .le-public-navbar__link {
        --le-public-navbar-link-icon-size: var(--size-500);
        --le-public-navbar-link-icon-slot: clamp(var(--size-600), 2.8vw, var(--size-800));

        min-block-size: var(--size-1000);
        padding-inline-end: var(--space-100);
        font-size: var(--fs-200);
        font-weight: var(--fw-semi-bold);
    }

    .le-public-navbar__actions {
        grid-column: 3;
        justify-self: end;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: var(--space-100);
        margin-block-start: 0;
    }

    .le-public-navbar__utilities {
        flex-wrap: nowrap;
    }

    .le-public-navbar__language-menu {
        inset-block-start: calc(100% + var(--space-200));
        inset-block-end: auto;
        inset-inline-start: auto;
        inset-inline-end: 0;
    }

    .le-public-navbar__cta .le-button {
        --le-button-padding-inline: var(--space-300);

        inline-size: auto;
    }

    .le-public-navbar__toggle {
        display: none;
    }
}

html:not(.le-js) .le-public-navbar__language-button,
html:not(.le-js) .le-public-navbar__toggle,
html:not(.le-js) .le-theme-switch {
    display: none;
}

html:not(.le-js) .le-public-navbar__language-menu {
    position: static;
    inset: auto;
    min-inline-size: 0;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}

html:not(.le-js) .le-public-navbar__bar {
    grid-template-columns: minmax(0, 1fr);
}

html:not(.le-js) .le-public-navbar__menu {
    position: static;
    inset: auto;
    grid-column: 1;
    min-inline-size: 0;
    display: grid;
    gap: var(--space-600);
    padding: var(--space-500) 0 var(--space-300);
    overflow: visible;
    background: transparent;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}

html:not(.le-js) .le-public-navbar__list {
    gap: var(--space-300);
}

html:not(.le-js) .le-public-navbar__item {
    opacity: 1;
    transform: none;
}

html:not(.le-js) .le-public-navbar__link {
    min-block-size: var(--size-1100);
    font-size: var(--fs-500);
}

html:not(.le-js) .le-public-navbar__actions {
    margin-block-start: 0;
}

@media (forced-colors: active) {
    .le-public-navbar__bar,
    .le-public-navbar__language-menu {
        border-color: CanvasText;
        background: Canvas;
    }

    .le-public-navbar__link-icon {
        display: none;
    }

    .le-public-navbar__link-label {
        transform: none;
    }

    .le-public-navbar__language-option:focus-visible {
        outline: var(--border-width-2) solid Highlight;
        outline-offset: calc(var(--border-width-2) * -1);
    }

    :is(.le-public-navbar__language-button, .le-public-navbar__toggle):focus-visible {
        outline-color: Highlight;
    }
}
}

@layer le.components {
.le-theme-switch {
    inline-size: var(--size-1100);
    block-size: var(--size-1100);
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border: 0;
    border-radius: var(--radius-circle);
    background: transparent;
    color: var(--le-text-clr-muted);
    cursor: pointer;
    transition:
        background-color var(--duration-150) var(--ease-standard),
        color var(--duration-150) var(--ease-standard),
        transform var(--duration-150) var(--ease-standard);
}

.le-theme-switch:is(:hover, :focus-visible) {
    background: var(--le-bg-clr-surface-hover);
    color: var(--le-text-clr-primary);
}

.le-theme-switch:active {
    transform: scale(0.96);
}

.le-theme-switch:focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}

.le-theme-switch__icon {
    grid-area: 1 / 1;
    inline-size: var(--size-500);
    block-size: var(--size-500);
    transition:
        opacity var(--duration-200) var(--ease-standard),
        transform var(--duration-250) var(--ease-standard);
}

:root[data-theme="dark"] .le-theme-switch__icon--moon,
:root[data-theme="light"] .le-theme-switch__icon--sun {
    opacity: 1;
    transform: rotate(0) scale(1);
}

:root[data-theme="dark"] .le-theme-switch__icon--sun,
:root[data-theme="light"] .le-theme-switch__icon--moon {
    opacity: 0;
    transform: rotate(-24deg) scale(0.72);
}

@media (forced-colors: active) {
    .le-theme-switch {
        border: var(--border-width-1) solid ButtonText;
    }
}
}

@layer le.components {
.le-skip-link {
    position: fixed;
    inset-block-start: var(--space-300);
    inset-inline-start: var(--space-300);
    z-index: var(--le-z-layer-toast);
    padding: var(--space-300) var(--space-500);
    border-radius: var(--radius-lg);
    background: var(--le-bg-clr-surface-elevated);
    box-shadow: var(--shadow-lg);
    color: var(--le-text-clr-primary);
    font-weight: var(--fw-bold);
    text-decoration: none;
    transform: translateY(calc(-100% - var(--space-800)));
    transition: transform var(--duration-150) var(--ease-standard);
}

.le-skip-link:focus {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
    transform: translateY(0);
}
}

@layer le.components {
.le-marketing-page,
.le-marketing-canvas {
    --le-marketing-canvas-start: color-mix(in srgb, var(--le-marketing-bg-indigo-deep) 68%, var(--le-marketing-bg-deep));
    --le-marketing-canvas-middle: color-mix(in srgb, var(--le-marketing-bg-indigo) 58%, var(--le-marketing-bg-deep));
    --le-marketing-canvas-end: color-mix(in srgb, var(--le-marketing-bg-cyan-deep) 72%, var(--le-marketing-bg-deep));
}

.le-marketing-page {
    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    background:
        radial-gradient(circle at 10% 28%, color-mix(in srgb, var(--le-accent-clr-primary) 24%, transparent), transparent 34rem),
        radial-gradient(circle at 83% 9%, color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 28%, transparent), transparent 42rem),
        linear-gradient(145deg, var(--le-marketing-canvas-start) 0%, var(--le-marketing-canvas-middle) 48%, var(--le-marketing-canvas-end) 100%);
}

.le-marketing-page::before {
    content: "";
    position: fixed;
    inset: -12vh -10vw;
    z-index: var(--le-z-layer-base);
    background:
        radial-gradient(
            circle at 22% 38%,
            color-mix(in srgb, var(--le-accent-clr-primary) 26%, transparent),
            transparent 30%
        ),
        radial-gradient(
            circle at 78% 58%,
            color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 28%, transparent),
            transparent 34%
        );
    opacity: 0.3;
    pointer-events: none;
    transform: translate3d(-1.5%, -0.75%, 0) scale(1.02);
}

.le-marketing-page > .le-public-shell__main,
.le-marketing-page > .le-public-shell__footer {
    position: relative;
    z-index: var(--le-z-layer-raised);
}

.le-marketing-canvas {
    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    overflow-x: clip;
    background: transparent;
}

.le-marketing-canvas::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: var(--le-z-layer-base);
    background-image: radial-gradient(
        circle,
        color-mix(in srgb, var(--le-accent-clr-primary) 24%, transparent) 0 var(--size-px),
        transparent calc(var(--size-px) + 0.5px)
    );
    background-position: center;
    background-size: var(--size-1400) var(--size-1400);
    opacity: 0.13;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, var(--le-marketing-mask-clr), transparent 72%);
    mask-image: linear-gradient(to bottom, var(--le-marketing-mask-clr), transparent 72%);
}

.le-marketing-canvas > * {
    position: relative;
    z-index: var(--le-z-layer-raised);
}

@keyframes le-marketing-ambient-drift {
    from {
        transform: translate3d(-1.5%, -0.75%, 0) scale(1.02);
    }

    to {
        transform: translate3d(1.5%, 1%, 0) scale(1.06);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .le-marketing-page::before {
        animation: le-marketing-ambient-drift 24s ease-in-out infinite alternate;
    }
}

:root[data-theme="light"] .le-marketing-page::before {
    opacity: 0.18;
}

@media (forced-colors: active) {
    .le-marketing-page,
    .le-marketing-canvas {
        background: Canvas;
        color: CanvasText;
    }

    .le-marketing-page::before,
    .le-marketing-canvas::before {
        display: none;
    }
}
}

@layer le.components {
.le-marketing-region {
    position: relative;
    isolation: isolate;
    min-inline-size: 0;
}

.le-marketing-region::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: var(--le-z-layer-base);
    pointer-events: none;
}

.le-marketing-region > .le-section {
    position: relative;
    z-index: var(--le-z-layer-raised);
}

.le-marketing-region--contact-flow::before {
    background:
        radial-gradient(
            circle at 90% 68%,
            color-mix(in srgb, var(--le-accent-clr-primary) 24%, transparent),
            transparent 34rem
        ),
        linear-gradient(
            130deg,
            color-mix(in srgb, var(--le-marketing-bg-indigo) 46%, transparent),
            color-mix(in srgb, var(--le-marketing-bg-cyan-deep) 42%, transparent)
        );
    -webkit-mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        var(--le-marketing-mask-clr) 30%,
        var(--le-marketing-mask-clr) 86%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        var(--le-marketing-mask-clr) 30%,
        var(--le-marketing-mask-clr) 86%,
        transparent 100%
    );
}

@media (forced-colors: active) {
    .le-marketing-region::before {
        display: none;
    }
}
}

@layer le.components {
.le-hero {
    position: relative;
    isolation: isolate;
    min-block-size: clamp(42rem, calc(100svh - var(--le-public-navbar-block-size)), 58rem);
    display: grid;
    align-items: center;
    overflow: hidden;
    padding-block: clamp(var(--space-1200), 8vw, var(--space-2400));
}

.le-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 68% 62%, color-mix(in srgb, var(--le-accent-clr-primary) 18%, transparent), transparent 32rem),
        linear-gradient(90deg, color-mix(in srgb, var(--le-marketing-bg-indigo-deep) 34%, transparent), transparent 58%);
    pointer-events: none;
    -webkit-mask-image: linear-gradient(
        to bottom,
        transparent 0,
        var(--le-marketing-mask-clr) clamp(4rem, 8vw, 8rem),
        var(--le-marketing-mask-clr) 76%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to bottom,
        transparent 0,
        var(--le-marketing-mask-clr) clamp(4rem, 8vw, 8rem),
        var(--le-marketing-mask-clr) 76%,
        transparent 100%
    );
}

.le-hero__layout {
    --le-split-first: 44fr;
    --le-split-second: 56fr;
    --le-split-align: center;

    position: relative;
    z-index: var(--le-z-layer-raised);
}

.le-hero__content {
    position: relative;
    z-index: var(--le-z-layer-raised);
    min-inline-size: 0;
    display: grid;
    gap: var(--space-500);
    justify-self: start;
}

.le-hero__eyebrow {
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-300);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-widest);
    text-transform: uppercase;
}

.le-hero__title {
    max-inline-size: 12ch;
    color: var(--le-marketing-text-primary);
    font-size: var(--le-fs-display-xl);
    font-weight: var(--fw-bold);
}

.le-hero__title-accent {
    display: block;
    color: var(--le-accent-clr-text);
}

.le-hero__lead {
    max-inline-size: 38rem;
    color: var(--le-marketing-text-secondary);
    font-size: var(--le-fs-body-lg);
    font-weight: var(--fw-medium);
}

.le-hero__copy {
    max-inline-size: 36rem;
    color: var(--le-marketing-text-muted);
    font-size: var(--le-fs-body);
}

.le-hero__actions {
    inline-size: 100%;
    padding-block-start: var(--space-300);
}

.le-hero__actions .le-button {
    inline-size: 100%;
}

.le-hero__media.le-media-frame--background {
    --le-media-min-block-size: 0;

    z-index: var(--le-z-layer-base);
    inset-inline-start: 12%;
    padding-inline: var(--space-400);
    pointer-events: none;
}

.le-hero__media::before {
    content: "";
    position: absolute;
    inset: 18% 12%;
    border-radius: var(--radius-circle);
    background: color-mix(in srgb, var(--le-accent-clr-primary) 24%, var(--le-marketing-bg-indigo-bright));
    filter: blur(80px);
    opacity: 0.28;
}

.le-hero__media-image.le-media-frame__image {
    position: relative;
    inline-size: min(112%, 46rem);
    block-size: auto;
    max-block-size: 92%;
    justify-self: end;
    opacity: 0.18;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, var(--le-marketing-mask-clr) 36%);
    mask-image: linear-gradient(90deg, transparent 0%, var(--le-marketing-mask-clr) 36%);
}

@keyframes le-hero-background-drift {
    from {
        transform: translate3d(0, -0.25rem, 0) scale(0.995);
    }

    to {
        transform: translate3d(0, 0.35rem, 0) scale(1.01);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .le-hero__media-image.le-media-frame__image {
        animation: le-hero-background-drift 14s ease-in-out infinite alternate;
    }
}

@media (min-width: 50em) {
    .le-hero__actions,
    .le-hero__actions .le-button {
        inline-size: auto;
    }

    .le-hero__media.le-media-frame--background {
        inset-inline-start: 43%;
        padding-inline-start: 0;
        padding-inline-end: max(var(--space-400), calc((100vw - 100rem) / 2));
    }

    .le-hero__media-image.le-media-frame__image {
        inline-size: min(118%, 60rem);
        max-inline-size: none;
        opacity: 0.82;
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, var(--le-marketing-mask-clr) 20%);
        mask-image: linear-gradient(90deg, transparent 0%, var(--le-marketing-mask-clr) 20%);
    }
}

@media (forced-colors: active) {
    .le-hero::before,
    .le-hero__media::before {
        display: none;
    }

    .le-hero__title,
    .le-hero__lead,
    .le-hero__copy {
        color: CanvasText;
    }
}
}

@layer le.components {
.le-section-heading {
    --le-section-heading-max-width: 60rem;
    --le-section-heading-gap: var(--space-400);

    max-inline-size: var(--le-section-heading-max-width);
    display: grid;
    gap: var(--le-section-heading-gap);
}

.le-section-heading--center {
    margin-inline: auto;
    text-align: center;
}

.le-eyebrow,
.le-section-heading__eyebrow {
    color: var(--le-accent-clr-text);
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    line-height: var(--lh-300);
    letter-spacing: var(--ls-widest);
    text-transform: uppercase;
}

.le-section-heading__title {
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-800), 4vw, var(--fs-950));
    font-weight: var(--fw-bold);
}

.le-section-heading__accent {
    color: var(--le-accent-clr-text);
}

.le-section-heading__copy {
    max-inline-size: 46rem;
    color: var(--le-marketing-text-muted);
    font-size: var(--le-fs-body-lg);
}

.le-section-heading--center .le-section-heading__copy {
    margin-inline: auto;
}
}

@layer le.components {
.le-chip-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-200) var(--space-300);
    list-style: none;
}

.le-chip {
    --le-chip-bg: color-mix(in srgb, var(--le-marketing-bg-deep) 74%, transparent);

    min-block-size: var(--size-800);
    display: inline-flex;
    align-items: center;
    gap: var(--space-200);
    padding: var(--space-150) var(--space-300);
    border: var(--border-width-1) solid var(--le-border-clr-subtle);
    border-radius: var(--radius-pill);
    background: var(--le-chip-bg);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    line-height: var(--lh-300);
}

.le-chip::before {
    content: "\2713";
    inline-size: var(--size-400);
    block-size: var(--size-400);
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: var(--radius-circle);
    background: var(--le-accent-clr-primary);
    color: var(--le-text-clr-on-accent);
    font-size: var(--fs-100);
    font-weight: var(--fw-bold);
    line-height: var(--lh-100);
}

@media (forced-colors: active) {
    .le-chip {
        border-color: CanvasText;
    }
}
}

@layer le.components {
.le-media-frame {
    --le-media-min-block-size: 18rem;

    position: relative;
    min-inline-size: 0;
    min-block-size: var(--le-media-min-block-size);
    overflow: hidden;
}

.le-media-frame--contain {
    display: grid;
    place-items: center;
}

.le-media-frame__image {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
}

.le-media-frame--cover .le-media-frame__image {
    object-fit: cover;
}

.le-media-frame--background {
    position: absolute;
    inset: 0;
    pointer-events: none;
    user-select: none;
}

.le-media-frame--background .le-media-frame__image {
    user-select: none;
    -webkit-user-drag: none;
}

.le-media-frame__placeholder {
    inline-size: 100%;
    min-block-size: inherit;
    display: block;
}
}

@layer le.components {
.le-decorated {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.le-decorated--allow-sticky {
    overflow: visible;
    overflow: clip;
}

.le-decorated--bleed {
    overflow: visible;
}

.le-decorated__content {
    position: relative;
    z-index: var(--le-z-layer-raised);
}

.le-decoration {
    position: absolute;
    z-index: var(--le-z-layer-base);
    pointer-events: none;
    user-select: none;
}

.le-decoration--glow {
    inline-size: clamp(28rem, 45vw, 44rem);
    aspect-ratio: 1;
    border-radius: var(--radius-circle);
    background: var(--le-decoration-clr, var(--le-accent-clr-primary));
    filter: blur(120px);
    opacity: var(--le-decoration-opacity, 0.14);
}

.le-decoration--image {
    inline-size: clamp(11rem, 24vw, 28rem);
    object-fit: contain;
    opacity: var(--le-decoration-opacity, 0.32);
    -webkit-user-drag: none;
}

.le-decoration--top-end {
    display: none;
    inset-block-start: -4rem;
    inset-inline-end: 6%;
    transform: rotate(16deg);
}

.le-decoration--bottom-start {
    inset-block-end: -6rem;
    inset-inline-start: -5rem;
}

.le-decoration--start {
    inset-block-start: 8%;
    inset-inline-start: -20rem;
}

.le-decoration--end {
    inset-block-start: 4%;
    inset-inline-end: -18rem;
    --le-decoration-clr: var(--le-marketing-bg-indigo-bright);
    --le-decoration-opacity: 0.16;
}

@media (min-width: 50em) {
    .le-decoration--top-end {
        display: block;
    }
}

@media (forced-colors: active) {
    .le-decoration {
        display: none;
    }
}
}

@layer le.components {
.le-stage-list {
    display: grid;
    gap: clamp(var(--space-800), 5vw, var(--space-1600));
    list-style: none;
}

.le-stage-card {
    --le-stage-card-bg-start: color-mix(in srgb, var(--le-marketing-bg-indigo-control) 64%, var(--le-marketing-bg-muted));
    --le-stage-card-bg-end: var(--le-marketing-surface-elevated);

    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    display: grid;
    overflow: hidden;
    border: var(--border-width-1) solid var(--le-marketing-border-strong);
    border-radius: var(--radius-2xl);
    background:
        radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 44%, transparent), transparent 24rem),
        linear-gradient(110deg, var(--le-stage-card-bg-start), var(--le-stage-card-bg-end) 70%);
    box-shadow: var(--shadow-xl);
    transition:
        border-color var(--duration-250) var(--ease-standard),
        box-shadow var(--duration-250) var(--ease-standard),
        transform var(--duration-250) var(--ease-standard);
}

.le-stage-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: var(--le-z-layer-base);
    background: linear-gradient(90deg, color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 20%, transparent), transparent 56%);
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .le-stage-card:hover {
        border-color: var(--le-marketing-border-accent);
        box-shadow:
            var(--shadow-xl),
            0 0 42px color-mix(in srgb, var(--le-accent-clr-primary) 12%, transparent);
        transform: translateY(calc(var(--space-100) * -1));
    }
}

.le-stage-card__content {
    position: relative;
    z-index: var(--le-z-layer-raised);
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-400);
    padding: clamp(var(--space-600), 5vw, var(--space-1200));
}

.le-stage-card__index {
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    line-height: var(--lh-300);
    letter-spacing: var(--ls-widest);
    text-transform: uppercase;
}

.le-stage-card__title {
    max-inline-size: 30rem;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-700), 3vw, var(--fs-900));
    font-weight: var(--fw-semi-bold);
}

.le-stage-card__copy {
    max-inline-size: 34rem;
    color: var(--le-marketing-text-muted);
    font-size: var(--le-fs-body);
}

.le-stage-card__features {
    margin-block-start: auto;
    padding-block-start: var(--space-400);
}

.le-stage-card__media {
    position: relative;
    z-index: var(--le-z-layer-raised);
    min-inline-size: 0;
    min-block-size: clamp(17rem, 68vw, 28rem);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

.le-stage-card__media::before {
    content: "";
    position: absolute;
    inset: 12% 8%;
    border-radius: var(--radius-circle);
    background: var(--le-accent-clr-primary);
    filter: blur(72px);
    opacity: 0.16;
    pointer-events: none;
}

.le-stage-card__media img {
    position: relative;
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.le-stage-card__cta {
    position: absolute;
    inset-inline-end: clamp(var(--space-400), 3vw, var(--space-700));
    inset-block-end: clamp(var(--space-400), 3vw, var(--space-700));
    z-index: calc(var(--le-z-layer-raised) + 1);
}

@media (min-width: 50em) {
    .le-stage-card {
        grid-template-columns: minmax(0, 46%) minmax(0, 54%);
        min-block-size: clamp(28rem, 42vw, 35rem);
    }

    .le-stage-card--media-start {
        grid-template-columns: minmax(0, 54%) minmax(0, 46%);
    }

    .le-stage-card--media-start .le-stage-card__content {
        grid-column: 2;
    }

    .le-stage-card--media-start .le-stage-card__media {
        grid-column: 1;
        grid-row: 1;
    }

    .le-stage-card__media {
        min-block-size: 100%;
    }
}

@media (forced-colors: active) {
    .le-stage-card {
        border-color: CanvasText;
        background: Canvas;
    }

    .le-stage-card__index,
    .le-stage-card__title,
    .le-stage-card__copy {
        color: CanvasText;
    }
}
}

@layer le.components {
.le-stage-turner {
    --le-stage-turner-navbar-clearance: var(--space-400);

    min-inline-size: 0;
}

@media (min-width: 50em) {
    .le-stage-turner.is-enhanced .le-stage-turner__list {
        position: relative;
        display: block;
        perspective: 80rem;
    }

    .le-stage-turner.is-enhanced .le-stage-turner__list::after {
        content: "";
        display: block;
        block-size: clamp(var(--space-3200), 45svh, 32rem);
    }

    .le-stage-turner.is-enhanced .le-stage-turner__item {
        position: sticky;
        inset-block-start: var(
            --le-stage-turner-sticky-start,
            calc(var(--le-public-navbar-block-size) + var(--le-stage-turner-navbar-clearance))
        );
        z-index: var(--le-stage-turn-z, 1);
        transform:
            translate3d(0, var(--le-stage-turn-y, 0px), 0)
            rotateX(var(--le-stage-turn-rotate, 0deg))
            scale(var(--le-stage-turn-scale, 1));
        transform-origin: 50% 12%;
        opacity: var(--le-stage-turn-opacity, 1);
        backface-visibility: hidden;
        will-change: transform, opacity;
    }

    .le-stage-turner.is-enhanced .le-stage-turner__item:not(:last-child) {
        margin-block-end: clamp(var(--space-3200), 24svh, 24rem);
    }

    .le-stage-turner.is-enhanced .le-stage-turner__item.is-covered {
        pointer-events: none;
    }

    .le-stage-turner.is-enhanced .le-stage-card.le-anchor-target {
        scroll-margin-block-start: var(
            --le-stage-turner-sticky-start,
            calc(var(--le-public-navbar-block-size) + var(--le-stage-turner-navbar-clearance))
        );
    }
}

@media (prefers-reduced-motion: reduce) {
    .le-stage-turner__item {
        transform: none !important;
        opacity: 1 !important;
    }
}
}

@layer le.components {
.le-process {
    min-inline-size: 0;
    border-radius: var(--radius-lg);
}

.le-process:focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}

.le-process__list {
    position: relative;
    display: grid;
    gap: var(--space-600);
    list-style: none;
}

.le-process__step {
    position: relative;
    min-inline-size: 0;
    display: grid;
    grid-template-columns: var(--size-1600) minmax(0, 1fr);
    column-gap: var(--space-400);
    row-gap: var(--space-200);
    padding-block-end: var(--space-600);
}

.le-process__step:not(:last-child)::after {
    content: "";
    position: absolute;
    inset-inline-start: calc(var(--size-1600) / 2);
    inset-block-start: var(--size-1600);
    inline-size: var(--border-width-1);
    block-size: calc(100% - var(--size-1000));
    background: color-mix(in srgb, var(--le-accent-clr-primary) 42%, var(--le-border-clr-default));
    transform: translateX(-50%);
}

.le-process__marker {
    position: relative;
    z-index: var(--le-z-layer-raised);
    grid-row: 1 / span 2;
    inline-size: var(--size-1600);
    block-size: var(--size-1600);
    display: grid;
    place-items: center;
    border: var(--border-width-2) solid var(--le-marketing-process-marker-border);
    border-radius: var(--radius-circle);
    background: var(--le-marketing-process-marker);
    color: var(--le-text-clr-muted);
    box-shadow: var(--shadow-sm);
}

.le-process__icon {
    max-inline-size: var(--size-700);
    max-block-size: var(--size-700);
    object-fit: contain;
}

.le-process__number {
    position: absolute;
    inset-block-start: calc(var(--space-100) * -1);
    inset-inline-end: calc(var(--space-100) * -1);
    min-inline-size: var(--size-500);
    block-size: var(--size-500);
    display: grid;
    place-items: center;
    padding-inline: var(--space-100);
    border-radius: var(--radius-pill);
    background: var(--le-bg-clr-surface-3);
    color: var(--le-text-clr-secondary);
    font-size: var(--fs-100);
    font-weight: var(--fw-bold);
    line-height: var(--lh-100);
}

.le-process__title {
    align-self: end;
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-400);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
    text-transform: uppercase;
}

.le-process__copy {
    max-inline-size: 34rem;
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    line-height: var(--lh-400);
}

.le-process__step.is-emphasized .le-process__marker {
    border-color: var(--le-accent-clr-primary);
    background: var(--le-accent-gradient-primary);
    color: var(--le-text-clr-on-accent);
    box-shadow: 0 0 28px color-mix(in srgb, var(--le-accent-clr-primary) 28%, transparent);
}

.le-process__step.is-endpoint .le-process__marker {
    border-color: var(--le-accent-clr-primary);
    box-shadow: 0 0 20px color-mix(in srgb, var(--le-accent-clr-primary) 16%, transparent);
}

.le-process__step.is-emphasized {
    --le-process-badge-bg: var(--le-marketing-surface-accent);
    --le-process-badge-text: var(--le-text-clr-on-accent);
}

.le-process__step.is-emphasized .le-process__number {
    background: var(--le-process-badge-bg);
    color: var(--le-process-badge-text);
}

.le-process__step.is-endpoint .le-process__number {
    background: var(--le-accent-clr-primary);
    color: var(--le-text-clr-on-accent);
}

.le-process__step.is-emphasized .le-process__title {
    color: var(--le-accent-clr-text);
}

@media (min-width: 50em) {
    .le-process {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: var(--space-600);
        scroll-snap-type: inline proximity;
        scrollbar-color: var(--le-accent-clr-primary) var(--le-bg-clr-surface-2);
        scrollbar-gutter: stable both-edges;
    }

    .le-process__list {
        min-inline-size: 70rem;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        gap: var(--space-400);
        padding-block-end: var(--space-300);
    }

    .le-process__list::before {
        content: "";
        position: absolute;
        inset-inline: calc((100% - (6 * var(--space-400))) / 14);
        inset-block-start: calc(var(--size-1600) / 2);
        block-size: var(--border-width-1);
        background: color-mix(in srgb, var(--le-accent-clr-primary) 42%, var(--le-border-clr-default));
    }

    .le-process__step {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--space-300);
        padding-block-end: 0;
        scroll-snap-align: center;
        text-align: center;
    }

    .le-process__step::after {
        display: none;
    }

    .le-process__marker {
        flex: 0 0 auto;
    }

    .le-process__title {
        align-self: stretch;
        min-block-size: 2.3em;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        margin-block-start: var(--space-200);
        font-size: var(--fs-300);
    }

    .le-process__copy {
        font-size: var(--fs-200);
    }
}

@media (forced-colors: active) {
    .le-process__marker,
    .le-process__step.is-endpoint .le-process__marker,
    .le-process__step.is-emphasized .le-process__marker {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
        box-shadow: none;
    }
}
}

@layer le.components {
.le-benefit-card {
    --le-benefit-card-bg: var(--le-marketing-surface-primary);
    --le-benefit-card-border: var(--le-marketing-border-muted);

    min-inline-size: 0;
    min-block-size: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-content: start;
    align-items: center;
    gap: var(--space-400);
    padding: var(--space-500);
    border: var(--border-width-1) solid var(--le-benefit-card-border);
    border-radius: var(--radius-xl);
    background: var(--le-benefit-card-bg);
    box-shadow: var(--shadow-sm);
    transition:
        border-color var(--duration-200) var(--ease-standard),
        box-shadow var(--duration-200) var(--ease-standard),
        transform var(--duration-200) var(--ease-standard);
}

@media (hover: hover) and (pointer: fine) {
    .le-benefit-card:hover {
        border-color: var(--le-border-clr-accent);
        box-shadow: var(--shadow-md);
        transform: translateY(calc(var(--space-100) * -1));
    }
}

.le-benefit-card__icon-wrap {
    inline-size: var(--size-1100);
    block-size: var(--size-1100);
    display: grid;
    place-items: center;
    border: var(--border-width-1) solid var(--le-accent-clr-border);
    border-radius: var(--radius-lg);
    background: var(--le-accent-clr-subtle);
}

.le-benefit-card__icon {
    max-inline-size: var(--size-700);
    max-block-size: var(--size-700);
    object-fit: contain;
}

.le-benefit-card__title {
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-400);
    font-weight: var(--fw-bold);
    line-height: var(--lh-300);
}

.le-benefit-card__copy {
    grid-column: 1 / -1;
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
}

@media (forced-colors: active) {
    .le-benefit-card,
    .le-benefit-card__icon-wrap {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
    }

    .le-benefit-card__title,
    .le-benefit-card__copy {
        color: CanvasText;
    }
}
}

@layer le.components {
.le-benefit-rail {
    --le-benefit-rail-gap: var(--space-400);
    --le-benefit-rail-card-size: clamp(17rem, 23vw, 20rem);
    --le-benefit-rail-edge-fade: clamp(var(--space-500), 7vw, var(--space-1600));
    --le-benefit-rail-distance: 0px;
    --le-benefit-rail-duration: 48s;

    position: relative;
    min-inline-size: 0;
}

.le-benefit-rail__viewport {
    min-inline-size: 0;
}

.le-benefit-rail.is-enhanced .le-benefit-rail__viewport {
    overflow: hidden;
    padding-block: var(--space-200);
    margin-block: calc(var(--space-200) * -1);
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent,
        var(--le-marketing-mask-clr) var(--le-benefit-rail-edge-fade),
        var(--le-marketing-mask-clr) calc(100% - var(--le-benefit-rail-edge-fade)),
        transparent
    );
    mask-image: linear-gradient(
        90deg,
        transparent,
        var(--le-marketing-mask-clr) var(--le-benefit-rail-edge-fade),
        var(--le-marketing-mask-clr) calc(100% - var(--le-benefit-rail-edge-fade)),
        transparent
    );
    touch-action: pan-y pinch-zoom;
}

.le-benefit-rail.is-touch-armed .le-benefit-rail__viewport {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

.le-benefit-rail.is-enhanced .le-benefit-rail__viewport:focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}

.le-benefit-rail__track {
    min-inline-size: 0;
}

.le-benefit-rail.is-enhanced .le-benefit-rail__track {
    inline-size: max-content;
    display: flex;
    gap: var(--le-benefit-rail-gap);
    animation: le-benefit-rail-scroll var(--le-benefit-rail-duration) linear infinite;
    will-change: transform;
}

.le-benefit-rail.is-enhanced .le-benefit-rail__group {
    inline-size: max-content;
    display: flex;
    align-items: stretch;
    gap: var(--le-benefit-rail-gap);
}

.le-benefit-rail.is-enhanced .le-benefit-card {
    inline-size: var(--le-benefit-rail-card-size);
    min-block-size: auto;
    flex: 0 0 var(--le-benefit-rail-card-size);
}

.le-benefit-rail:is(.is-idle, .is-press-paused) .le-benefit-rail__track,
.le-benefit-rail.is-enhanced .le-benefit-rail__viewport:focus-visible .le-benefit-rail__track {
    animation-play-state: paused;
}

@media (hover: hover) and (pointer: fine) {
    .le-benefit-rail__track:has(.le-benefit-card:hover) {
        animation-play-state: paused;
    }
}

@keyframes le-benefit-rail-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(calc(var(--le-benefit-rail-distance) * -1), 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .le-benefit-rail__track {
        animation: none !important;
        transform: none !important;
    }
}

@media (forced-colors: active) {
    .le-benefit-rail.is-enhanced .le-benefit-rail__viewport {
        -webkit-mask-image: none;
        mask-image: none;
    }

}
}

@layer le.components {
.le-form {
    display: grid;
    gap: var(--space-500);
}

.le-form__fieldset {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-500);
    padding: 0;
    border: 0;
}

.le-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-500);
}

.le-field {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-200);
}

.le-field--full {
    grid-column: 1 / -1;
}

.le-label {
    color: var(--le-text-clr-secondary);
    font-size: var(--fs-300);
    font-weight: var(--fw-semi-bold);
    line-height: var(--lh-300);
}

.le-label__required {
    color: var(--le-status-danger-text-clr);
}

.le-control {
    --le-control-border-clr: var(--le-text-clr-muted);

    inline-size: 100%;
    min-block-size: var(--size-1200);
    padding: var(--space-300) var(--space-400);
    border: var(--border-width-1) solid var(--le-control-border-clr);
    border-radius: var(--radius-lg);
    background: var(--le-bg-clr-surface-2);
    color: var(--le-text-clr-primary);
    font-size: var(--fs-400);
    line-height: var(--lh-300);
    transition:
        background-color var(--duration-150) var(--ease-standard),
        border-color var(--duration-150) var(--ease-standard),
        box-shadow var(--duration-150) var(--ease-standard);
}

.le-control:hover {
    border-color: var(--le-border-clr-hover);
}

.le-control:focus {
    border-color: var(--le-border-clr-focus);
    outline: none;
    box-shadow: 0 0 0 calc(var(--focus-ring-width) + 1px) var(--le-focus-ring-clr);
}

.le-control::placeholder {
    color: var(--le-text-clr-muted);
    opacity: 1;
}

.le-control:disabled {
    background: var(--le-bg-clr-surface-disabled);
    color: var(--le-text-clr-disabled);
    cursor: not-allowed;
}

.le-control[aria-invalid="true"] {
    border-color: var(--le-border-clr-danger);
}

.le-control[aria-invalid="true"]:focus {
    box-shadow: 0 0 0 calc(var(--focus-ring-width) + 1px) var(--le-focus-ring-clr-danger);
}

textarea.le-control {
    min-block-size: 9rem;
    resize: vertical;
}

select.le-control {
    cursor: pointer;
}

.le-control:-webkit-autofill,
.le-control:-webkit-autofill:hover {
    -webkit-text-fill-color: var(--le-text-clr-primary);
    caret-color: var(--le-text-clr-primary);
    box-shadow: 0 0 0 1000px var(--le-bg-clr-surface-2) inset;
}

.le-control:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--le-text-clr-primary);
    caret-color: var(--le-text-clr-primary);
    box-shadow:
        0 0 0 1000px var(--le-bg-clr-surface-2) inset,
        0 0 0 calc(var(--focus-ring-width) + 1px) var(--le-focus-ring-clr);
}

.le-control[aria-invalid="true"]:-webkit-autofill:focus {
    box-shadow:
        0 0 0 1000px var(--le-bg-clr-surface-2) inset,
        0 0 0 calc(var(--focus-ring-width) + 1px) var(--le-focus-ring-clr-danger);
}

.le-field__help,
.le-field__error {
    font-size: var(--fs-300);
    line-height: var(--lh-300);
}

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

.le-field__error {
    color: var(--le-status-danger-text-clr);
}

.le-consent-list {
    display: grid;
    gap: var(--space-300);
    list-style: none;
}

.le-consent {
    min-block-size: var(--size-1100);
    display: flex;
    align-items: flex-start;
    gap: var(--space-300);
    padding: var(--space-300) var(--space-350);
    border: var(--border-width-1) solid var(--le-text-clr-muted);
    border-radius: var(--radius-lg);
    background: var(--le-bg-clr-surface-2);
    color: var(--le-text-clr-secondary);
    font-size: var(--fs-300);
    line-height: var(--lh-400);
    cursor: pointer;
    transition:
        background-color var(--duration-150) var(--ease-standard),
        border-color var(--duration-150) var(--ease-standard),
        box-shadow var(--duration-150) var(--ease-standard);
}

.le-consent:hover {
    border-color: var(--le-border-clr-hover);
    background: var(--le-bg-clr-surface-hover);
}

.le-consent:has(.le-consent__input:disabled) {
    border-color: var(--le-border-clr-subtle);
    background: var(--le-bg-clr-surface-disabled);
    color: var(--le-text-clr-disabled);
    cursor: not-allowed;
}

.le-consent:has(.le-consent__input:disabled):hover {
    border-color: var(--le-border-clr-subtle);
    background: var(--le-bg-clr-surface-disabled);
}

.le-consent:has(.le-consent__input:focus-visible) {
    border-color: var(--le-border-clr-focus);
    box-shadow: 0 0 0 calc(var(--focus-ring-width) + 1px) var(--le-focus-ring-clr);
}

.le-consent__input {
    inline-size: var(--size-500);
    block-size: var(--size-500);
    flex: 0 0 auto;
    margin-block-start: var(--space-50);
    accent-color: var(--le-accent-clr-primary);
}

.le-form__legal {
    color: var(--le-text-clr-muted);
    font-size: var(--fs-200);
    line-height: var(--lh-400);
}

.le-form__legal a {
    color: var(--le-text-clr-link);
}

.le-form__legal a:hover {
    color: var(--le-text-clr-link-hover);
}

.le-form__status {
    padding: var(--space-300) var(--space-400);
    border: var(--border-width-1) solid var(--le-border-clr-subtle);
    border-radius: var(--radius-lg);
    font-size: var(--fs-300);
}

.le-form__status--success {
    border-color: color-mix(in srgb, var(--le-status-success-clr) 54%, transparent);
    background: color-mix(in srgb, var(--le-status-success-clr) 12%, transparent);
    color: var(--le-status-success-text-clr);
}

.le-form__status--error {
    border-color: color-mix(in srgb, var(--le-status-danger-clr) 54%, transparent);
    background: color-mix(in srgb, var(--le-status-danger-clr) 12%, transparent);
    color: var(--le-status-danger-text-clr);
}

@media (min-width: 50em) {
    .le-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (forced-colors: active) {
    .le-control,
    .le-consent,
    .le-form__status {
        border-color: CanvasText;
        background: Field;
        color: FieldText;
    }

    .le-control:focus,
    .le-control:-webkit-autofill:focus,
    .le-control[aria-invalid="true"]:-webkit-autofill:focus,
    .le-consent:has(.le-consent__input:focus-visible) {
        outline: var(--border-width-2) solid Highlight;
        outline-offset: var(--focus-ring-offset);
        box-shadow: none;
    }
}
}

@layer le.components {
.le-contact-details {
    min-inline-size: 0;
    display: grid;
    align-content: start;
    gap: var(--space-800);
}

.le-contact-list {
    display: grid;
    gap: var(--space-500);
    list-style: none;
}

.le-contact-item {
    min-inline-size: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--space-400);
}

.le-contact-item__icon-wrap {
    inline-size: var(--size-1100);
    block-size: var(--size-1100);
    display: grid;
    place-items: center;
    border: var(--border-width-1) solid var(--le-accent-clr-border);
    border-radius: var(--radius-lg);
    background: var(--le-accent-clr-subtle);
}

.le-contact-item__icon {
    max-inline-size: var(--size-600);
    max-block-size: var(--size-600);
    object-fit: contain;
}

.le-contact-item__body {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-50);
}

.le-contact-item__label {
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-widest);
    text-transform: uppercase;
}

.le-contact-item__value {
    overflow-wrap: anywhere;
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-400);
    font-weight: var(--fw-semi-bold);
    text-decoration: none;
}

a.le-contact-item__value:is(:hover, :focus-visible) {
    color: var(--le-text-clr-link);
    text-decoration: underline;
    text-underline-offset: var(--space-100);
}

.le-contact-panel {
    --le-contact-panel-bg: var(--le-marketing-surface-elevated);

    min-inline-size: 0;
    padding: clamp(var(--space-500), 5vw, var(--space-1000));
    border: var(--border-width-1) solid var(--le-border-clr-subtle);
    border-radius: var(--radius-2xl);
    background: var(--le-contact-panel-bg);
    box-shadow: var(--shadow-xl);
}

@media (forced-colors: active) {
    .le-contact-item__icon-wrap,
    .le-contact-panel {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
    }
}
}

@layer le.components {
.le-contact-section {
    background: transparent;
}

.le-contact-section__layout {
    --le-split-first: 41fr;
    --le-split-second: 59fr;
    --le-split-align: center;
}

.le-contact-section__intro {
    max-inline-size: 34rem;
    display: grid;
    gap: var(--space-500);
}

.le-contact-section__title {
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-800), 4.5vw, var(--fs-950));
    font-weight: var(--fw-bold);
}

.le-contact-section__copy {
    color: var(--le-marketing-text-muted);
    font-size: var(--le-fs-body-lg);
}

@media (forced-colors: active) {
    .le-contact-section {
        background: Canvas;
    }

    .le-contact-section__title,
    .le-contact-section__copy {
        color: CanvasText;
    }
}
}

@layer le.components {
.le-site-footer {
    --le-site-footer-bg: var(--le-marketing-surface-elevated);

    position: relative;
    padding-block: clamp(var(--space-1200), 6vw, var(--space-2400));
    border-block-start: var(--border-width-1) solid var(--le-border-clr-subtle);
    background: var(--le-site-footer-bg);
}

.le-site-footer__layout {
    display: grid;
    gap: var(--space-1000);
}

.le-site-footer__brand-block {
    max-inline-size: 22rem;
    display: grid;
    align-content: start;
    gap: var(--space-400);
}

.le-site-footer__description {
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
}

.le-site-footer__nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-700) var(--space-1000);
}

.le-site-footer__group {
    min-inline-size: 0;
    display: grid;
    align-content: start;
    gap: var(--space-300);
}

.le-site-footer__heading {
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-widest);
    text-transform: uppercase;
}

.le-site-footer__links {
    display: grid;
    gap: var(--space-200);
    list-style: none;
}

.le-site-footer__link {
    min-block-size: var(--size-800);
    display: inline-flex;
    align-items: center;
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    text-decoration: none;
    transition: color var(--duration-150) var(--ease-standard);
}

.le-site-footer__link:is(:hover, :focus-visible) {
    color: var(--le-text-clr-primary);
    text-decoration: underline;
    text-underline-offset: var(--space-100);
}

.le-site-footer__contact {
    display: grid;
    gap: var(--space-400);
    padding-block-start: var(--space-600);
    border-block-start: var(--border-width-1) solid var(--le-border-clr-subtle);
}

.le-site-footer__contact-list {
    display: grid;
    gap: var(--space-300);
    list-style: none;
}

.le-site-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-250);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
}

.le-site-footer__contact-icon {
    inline-size: var(--size-400);
    block-size: var(--size-400);
    flex: 0 0 auto;
    margin-block-start: var(--space-50);
    color: var(--le-accent-clr-primary);
    object-fit: contain;
}

.le-site-footer__contact-copy {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-100);
}

.le-site-footer__contact-label {
    color: var(--le-marketing-text-secondary);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
    text-transform: uppercase;
}

.le-site-footer__contact-value {
    overflow-wrap: anywhere;
    color: var(--le-marketing-text-muted);
    text-decoration: none;
}

.le-site-footer__contact-value:is(a):is(:hover, :focus-visible) {
    color: var(--le-text-clr-primary);
    text-decoration: underline;
}

.le-site-footer__language {
    display: inline-flex;
    align-items: center;
    align-self: start;
    justify-self: start;
    gap: var(--space-200);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
}

.le-site-footer__language-link {
    min-inline-size: var(--size-800);
    min-block-size: var(--size-800);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--le-marketing-text-muted);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
    text-decoration: none;
    text-transform: uppercase;
}

.le-site-footer__language-link:is(:hover, :focus-visible, [aria-current="page"]) {
    color: var(--le-accent-clr-text);
}

.le-site-footer__language-link:focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}

.le-site-footer__language-link[aria-current="page"] {
    text-decoration: underline;
    text-decoration-thickness: var(--border-width-1);
    text-underline-offset: var(--space-150);
}

@media (min-width: 50em) {
    .le-site-footer__layout {
        grid-template-columns: minmax(11rem, 0.7fr) minmax(0, 2fr) auto;
        column-gap: clamp(var(--space-700), 4vw, var(--space-1800));
    }

    .le-site-footer__nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .le-site-footer__contact-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .le-site-footer__language {
        justify-self: end;
    }

    .le-site-footer__contact {
        grid-column: 2 / -1;
    }
}

@media (forced-colors: active) {
    .le-site-footer {
        border-color: CanvasText;
        background: Canvas;
    }
}
}


@layer le.utilities {
.le-bg-primary { background: var(--le-bg-clr-primary); }
.le-bg-secondary { background: var(--le-bg-clr-secondary); }
.le-bg-surface-1 { background: var(--le-bg-clr-surface-1); }
.le-bg-surface-2 { background: var(--le-bg-clr-surface-2); }
.le-bg-surface-3 { background: var(--le-bg-clr-surface-3); }
.le-bg-surface-elevated { background: var(--le-bg-clr-surface-elevated); }
.le-bg-surface-selected { background: var(--le-bg-clr-surface-selected); }
.le-bg-accent-muted { background: var(--le-accent-clr-muted); }
.le-bg-accent-subtle { background: var(--le-accent-clr-subtle); }
.le-bg-transparent { background: transparent; }

.le-border { border: var(--border-width-1) solid var(--le-border-clr-subtle); }
.le-border-0 { border: var(--border-width-0); }
.le-border-subtle { border-color: var(--le-border-clr-subtle); }
.le-border-default { border-color: var(--le-border-clr-default); }
.le-border-strong { border-color: var(--le-border-clr-strong); }
.le-border-accent { border-color: var(--le-border-clr-accent); }
.le-border-danger { border-color: var(--le-border-clr-danger); }
}

@layer le.utilities {
.le-text-primary { color: var(--le-text-clr-primary); }
.le-text-secondary { color: var(--le-text-clr-secondary); }
.le-text-muted { color: var(--le-text-clr-muted); }
.le-text-subtle { color: var(--le-text-clr-subtle); }
.le-text-accent { color: var(--le-accent-clr-text); }
.le-text-success { color: var(--le-status-success-text-clr); }
.le-text-warning { color: var(--le-status-warning-text-clr); }
.le-text-danger { color: var(--le-status-danger-text-clr); }
.le-text-info { color: var(--le-status-info-text-clr); }

.le-text-start { text-align: start; }
.le-text-center { text-align: center; }
.le-text-end { text-align: end; }

.le-text-nowrap { white-space: nowrap; }

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

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

.le-line-clamp-2 {
    -webkit-line-clamp: 2;
}

.le-line-clamp-3 {
    -webkit-line-clamp: 3;
}

.le-font-heading { font-family: var(--le-ff-heading); }
.le-font-body { font-family: var(--le-ff-body); }
.le-font-mono { font-family: var(--le-ff-mono); }

.le-fw-regular { font-weight: var(--fw-regular); }
.le-fw-medium { font-weight: var(--fw-medium); }
.le-fw-semibold { font-weight: var(--fw-semi-bold); }
.le-fw-bold { font-weight: var(--fw-bold); }
}

@layer le.utilities {
.le-fs-display-xl { font-size: var(--le-fs-display-xl); }
.le-fs-display { font-size: var(--le-fs-display); }
.le-fs-title { font-size: var(--le-fs-title); }
.le-fs-heading { font-size: var(--le-fs-heading); }
.le-fs-subheading { font-size: var(--le-fs-subheading); }
.le-fs-body-lg { font-size: var(--le-fs-body-lg); }
.le-fs-body { font-size: var(--le-fs-body); }
.le-fs-body-sm { font-size: var(--le-fs-body-sm); }
.le-fs-caption { font-size: var(--le-fs-caption); }
.le-fs-micro { font-size: var(--le-fs-micro); }
}

@layer le.utilities {
.le-gap-0 { gap: var(--space-0); }
.le-gap-xs { gap: var(--space-200); }
.le-gap-sm { gap: var(--space-300); }
.le-gap-md { gap: var(--space-400); }
.le-gap-lg { gap: var(--space-600); }
.le-gap-xl { gap: var(--space-800); }

.le-p-0 { padding: var(--space-0); }
.le-p-sm { padding: var(--space-300); }
.le-p-md { padding: var(--space-400); }
.le-p-lg { padding: var(--space-600); }
.le-p-xl { padding: var(--space-800); }

.le-px-0 { padding-inline: var(--space-0); }
.le-px-md { padding-inline: var(--space-400); }
.le-px-lg { padding-inline: var(--space-600); }

.le-py-0 { padding-block: var(--space-0); }
.le-py-md { padding-block: var(--space-400); }
.le-py-lg { padding-block: var(--space-600); }

.le-m-0 { margin: var(--space-0); }
.le-mx-auto { margin-inline: auto; }
.le-mt-auto { margin-block-start: auto; }
.le-mb-auto { margin-block-end: auto; }
}

@layer le.utilities {
.le-w-full {
    inline-size: 100%;
}

.le-h-full {
    block-size: 100%;
}

.le-min-w-0 {
    min-inline-size: 0;
}

.le-min-h-0 {
    min-block-size: 0;
}

.le-max-w-readable {
    max-inline-size: 65ch;
}

.le-max-w-none {
    max-inline-size: none;
}

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

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

.le-grow {
    flex-grow: 1;
}
}

@layer le.utilities {
.le-rounded-none { border-radius: var(--radius-none); }
.le-rounded-xs { border-radius: var(--radius-xs); }
.le-rounded-sm { border-radius: var(--radius-sm); }
.le-rounded-md { border-radius: var(--radius-md); }
.le-rounded-lg { border-radius: var(--radius-lg); }
.le-rounded-xl { border-radius: var(--radius-xl); }
.le-rounded-2xl { border-radius: var(--radius-2xl); }
.le-rounded-pill { border-radius: var(--radius-pill); }
.le-rounded-circle { border-radius: var(--radius-circle); }
}

@layer le.utilities {
.le-shadow-none { box-shadow: var(--shadow-none); }
.le-shadow-xs { box-shadow: var(--shadow-xs); }
.le-shadow-sm { box-shadow: var(--shadow-sm); }
.le-shadow-md { box-shadow: var(--shadow-md); }
.le-shadow-lg { box-shadow: var(--shadow-lg); }
.le-shadow-xl { box-shadow: var(--shadow-xl); }
}

@layer le.utilities {
.le-container {
    --le-container-max-width: 90rem;
    --le-container-padding: var(--space-400);

    width: min(var(--le-container-max-width), 100% - (var(--le-container-padding) * 2));
    margin-inline: auto;
}

.le-container--xs{
    --le-container-max-width: 32rem;
}

.le-container--sm{
    --le-container-max-width: 50rem;
}

.le-container--md{
    --le-container-max-width: 67.5rem;
}

.le-container--lg{
    --le-container-max-width: 80rem;
}

.le-container--wide{
    --le-container-max-width: 100rem;
}

.le-container--full{
    --le-container-max-width: 100%;
}

.le-container--flush{
    --le-container-padding: var(--space-0);
}

@media (min-width: 50em) {
    .le-container {
        --le-container-padding: clamp(var(--space-600), 3vw, var(--space-800));
    }

    .le-container--flush {
        --le-container-padding: var(--space-0);
    }
}
}

@layer le.utilities {
:where(.le-block-flow :not(:first-child)) {
    --le-block-flow-spacer: 1em;

    margin-top: var(--le-block-flow-spacer, 1em);
}

.le-block-flow--sm {
    --le-block-flow-spacer: 0.5em;
}

.le-block-flow--lg {
    --le-block-flow-spacer: 1.5em;
}

.le-block-flow--xl {
    --le-block-flow-spacer: 2em;
}

.le-block-flow--2xl {
    --le-block-flow-spacer: 2.5em;
}

.le-block-flow--3xl {
    --le-block-flow-spacer: 3em;
}

.le-block-flow--4xl {
    --le-block-flow-spacer: 4em;
}
}

@layer le.utilities {
.le-flex-group {
    --le-flex-group-gap: var(--space-300);

    min-inline-size: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--le-flex-group-gap);
}

.le-flex-group > * {
    margin-block-start: 0;
}

.le-flex-group--sm { --le-flex-group-gap: var(--space-200); }
.le-flex-group--lg { --le-flex-group-gap: var(--space-500); }
.le-flex-group--xl { --le-flex-group-gap: var(--space-600); }
.le-flex-group--nowrap { flex-wrap: nowrap; }
.le-flex-group--start { justify-content: flex-start; }
.le-flex-group--center { justify-content: center; }
.le-flex-group--end { justify-content: flex-end; }
.le-flex-group--between { justify-content: space-between; }
.le-flex-group--stretch { align-items: stretch; }
}

@layer le.utilities {
.le-full-height-image {
    inline-size: 100%;
    block-size: 100%;
    min-block-size: 0;
    overflow: hidden;
}

.le-full-height-image > img,
img.le-full-height-image {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}
}

@layer le.utilities {
.le-justify-self-start {
    justify-self: start;
}
}

@layer le.utilities {
.le-uppercase { text-transform: uppercase; }
.le-uppercase-label {
    text-transform: uppercase;
    letter-spacing: var(--le-ls-label);
}
}

@layer le.utilities {
.le-vertically-centered {
    display: flex;
    align-items: center;
}

.le-place-centered {
    display: grid;
    place-items: center;
}
}

@layer le.utilities {
.le-icon {
    inline-size: var(--size-500);
    block-size: var(--size-500);
    display: inline-block;
    flex: 0 0 auto;
    object-fit: contain;
}

.le-icon--sm {
    inline-size: var(--size-400);
    block-size: var(--size-400);
}

.le-icon--lg {
    inline-size: var(--size-600);
    block-size: var(--size-600);
}
}

@layer le.utilities {
.le-anchor-target {
    scroll-margin-block-start: calc(var(--le-public-navbar-block-size, 4.5rem) + var(--space-400));
}

.le-anchor-target:focus-visible {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}
}

@layer le.utilities {
.le-visually-hidden:not(:focus):not(:active) {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}
}
