/* 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-canvas-progression:
        linear-gradient(
            to bottom,
            var(--le-marketing-canvas-start) 0%,
            var(--le-marketing-canvas-middle) 48%,
            var(--le-marketing-canvas-end) 100%
        );
    --le-marketing-canvas-background:
        radial-gradient(
            circle at 83% 10rem,
            color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 28%, transparent),
            transparent 42rem
        ),
        var(--le-marketing-canvas-progression);
    --le-marketing-canvas-lights:
        radial-gradient(
            circle at 24% 34%,
            color-mix(in srgb, var(--le-accent-clr-primary) 38%, transparent) 0,
            color-mix(in srgb, var(--le-accent-clr-primary) 14%, transparent) 16%,
            transparent 31%
        ),
        radial-gradient(
            circle at 74% 41%,
            color-mix(in srgb, var(--le-accent-clr-primary) 32%, transparent) 0,
            color-mix(in srgb, var(--le-accent-clr-primary) 12%, transparent) 14%,
            transparent 28%
        ),
        radial-gradient(
            circle at 57% 76%,
            color-mix(in srgb, var(--le-accent-clr-primary) 28%, transparent) 0,
            color-mix(in srgb, var(--le-accent-clr-primary) 10%, transparent) 13%,
            transparent 26%
        );
}

.le-marketing-page {
    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    background: var(--le-marketing-canvas-start);
}

.le-marketing-page::before,
.le-marketing-page::after {
    content: "";
    z-index: var(--le-z-layer-base);
    pointer-events: none;
}

/* Stretch one shared palette over the full document for normalized scroll-depth color progression. */
.le-marketing-page::before {
    position: absolute;
    inset: 0;
    background: var(--le-marketing-canvas-background);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

/* Animate only the light map so page artwork and the document gradient remain spatially stable. */
.le-marketing-page::after {
    position: fixed;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    inline-size: 120vmax;
    block-size: 120vmax;
    background: var(--le-marketing-canvas-lights);
    background-size: 100% 100%;
    transform: translate3d(-50%, -50%, 0) rotate(0turn);
    transform-origin: center;
}

.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-cyan-lights-orbit {
    to {
        transform: translate3d(-50%, -50%, 0) rotate(1turn);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .le-marketing-page::after {
        animation: le-marketing-cyan-lights-orbit 48s linear infinite;
        will-change: transform;
    }
}

@media (prefers-reduced-motion: reduce) {
    .le-marketing-page::after {
        animation: none;
        transform: translate3d(-50%, -50%, 0) rotate(0turn);
    }
}

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

    .le-marketing-page::before,
    .le-marketing-page::after,
    .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--compact {
    min-block-size: clamp(28rem, calc(66svh - var(--le-public-navbar-block-size)), 40rem);
    padding-block: clamp(var(--space-800), 5vw, var(--space-1600));
}

.le-hero--editorial .le-hero__layout {
    --le-split-first: 60fr;
    --le-split-second: 40fr;
}

.le-hero--editorial .le-hero__title {
    max-inline-size: 24ch;
    font-size: clamp(var(--fs-900), 4.3vw, 3.5rem);
}

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

@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 {
        --le-hero-media-offset-block: -5.7%;

        inline-size: min(118%, 60rem);
        max-inline-size: none;
        align-self: start;
        opacity: 0.82;
        transform: translate3d(0, var(--le-hero-media-offset-block), 0);
        -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;
}

/* Reusable heading treatments for dense, content-led sections. */
.le-section-heading--compact {
    --le-section-heading-gap: var(--space-300);
    --le-section-heading-max-width: 68rem;
}

.le-section-heading--compact.le-section__header {
    margin-block-end: clamp(var(--space-700), 3vw, var(--space-1200));
}

.le-section-heading--compact .le-section-heading__title {
    font-size: clamp(var(--fs-800), 3vw, var(--fs-950));
}

@media (min-width: 50em) {
    .le-section-heading--split {
        --le-section-heading-max-width: none;

        grid-template-columns: minmax(9rem, 0.34fr) minmax(0, 1fr);
        column-gap: clamp(var(--space-800), 4vw, var(--space-1600));
        text-align: start;
    }

    .le-section-heading--split .le-section-heading__eyebrow {
        grid-column: 1;
        grid-row: 1 / span 2;
        padding-block-start: var(--space-200);
    }

    .le-section-heading--split .le-section-heading__title,
    .le-section-heading--split .le-section-heading__copy {
        grid-column: 2;
    }

    .le-section-heading--split .le-section-heading__copy {
        margin-inline: 0;
    }
}
}

@layer le.components {
.le-solution-journey {
    --le-solution-journey-accent: var(--le-accent-clr-primary);
    --le-solution-journey-progress: 0;

    position: relative;
    isolation: isolate;
}

.le-solution-journey::before {
    content: "";
    position: absolute;
    inset: 4% 0 auto;
    z-index: var(--le-z-layer-base);
    block-size: min(72rem, 42%);
    background:
        radial-gradient(
            ellipse at 72% 30%,
            color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 18%, transparent),
            transparent 58%
        );
    pointer-events: none;
}

.le-solution-journey__layout {
    position: relative;
    z-index: var(--le-z-layer-raised);
    min-inline-size: 0;
    display: grid;
    gap: clamp(var(--space-1200), 7vw, var(--space-2400));
}

.le-solution-journey__navigation {
    min-inline-size: 0;
}

.le-solution-journey__navigation-list {
    position: relative;
    display: grid;
    gap: var(--space-300);
    margin: 0;
    padding: 0;
}

.le-solution-journey__navigation-list::before {
    content: "";
    position: absolute;
    inset-block: var(--space-700);
    inset-inline-start: calc(var(--size-900) / 2);
    inline-size: var(--border-width-1);
    background: linear-gradient(
        to bottom,
        transparent,
        var(--le-marketing-border-muted) 12%,
        var(--le-marketing-border-muted) 88%,
        transparent
    );
    pointer-events: none;
}

.le-solution-journey__navigation-list::after {
    content: "";
    position: absolute;
    inset-block: var(--space-700);
    inset-inline-start: calc(var(--size-900) / 2);
    inline-size: var(--border-width-2);
    background: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--le-solution-journey-accent) 72%, transparent),
        var(--le-solution-journey-accent)
    );
    box-shadow: 0 0 var(--space-300) color-mix(in srgb, var(--le-solution-journey-accent) 24%, transparent);
    transform: scaleY(var(--le-solution-journey-progress));
    transform-origin: top;
    transition: transform var(--duration-200) linear;
    pointer-events: none;
}

.le-solution-journey__navigation-item {
    min-inline-size: 0;
}

.le-solution-journey__navigation-link {
    position: relative;
    min-inline-size: 0;
    display: grid;
    grid-template-columns: var(--size-900) minmax(0, 1fr);
    align-items: center;
    gap: var(--space-400);
    padding-block: var(--space-400);
    color: var(--le-marketing-text-muted);
    text-decoration: none;
    transition: color var(--duration-200) var(--ease-standard);
}

.le-solution-journey__navigation-link::after {
    content: "";
    position: absolute;
    inset-block: var(--space-300);
    inset-inline-start: calc(var(--size-900) / 2);
    inline-size: var(--border-width-2);
    background: var(--le-solution-journey-accent);
    opacity: 0;
    transform: scaleY(0.3);
    transform-origin: center;
    transition:
        opacity var(--duration-200) var(--ease-standard),
        transform var(--duration-300) var(--ease-standard);
}

.le-solution-journey__navigation-code {
    position: relative;
    z-index: 1;
    display: inline-grid;
    place-items: center;
    min-block-size: var(--size-900);
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-circle);
    background: var(--le-marketing-bg-deep);
    color: var(--le-marketing-text-accent);
    font-family: var(--le-ff-mono);
    font-size: var(--fs-200);
    font-weight: var(--fw-semi-bold);
    line-height: var(--lh-100);
    transition:
        color var(--duration-200) var(--ease-standard),
        text-shadow var(--duration-200) var(--ease-standard);
}

.le-solution-journey__navigation-title {
    min-inline-size: 0;
    font-size: var(--fs-300);
    font-weight: var(--fw-semi-bold);
    line-height: var(--lh-300);
    overflow-wrap: anywhere;
}

.le-solution-journey__navigation-link:is(:hover, :focus-visible),
.le-solution-journey__navigation-link[aria-current="location"] {
    color: var(--le-marketing-text-primary);
}

.le-solution-journey__navigation-link[aria-current="location"]::after {
    opacity: 1;
    transform: scaleY(1);
}

.le-solution-journey__navigation-link[aria-current="location"] .le-solution-journey__navigation-code {
    border-color: var(--le-solution-journey-accent);
    background: var(--le-solution-journey-accent);
    color: var(--le-text-clr-on-accent);
    text-shadow: none;
    box-shadow: 0 0 var(--space-500) color-mix(in srgb, var(--le-solution-journey-accent) 36%, transparent);
}

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

.le-solution-journey__stage-progress {
    display: flex;
    align-items: baseline;
    gap: var(--space-150);
    inline-size: fit-content;
    margin-block-start: var(--space-600);
    margin-inline-start: calc(var(--size-900) + var(--space-400));
    color: var(--le-marketing-text-muted);
    font-family: var(--le-ff-mono);
    font-size: var(--fs-200);
    font-weight: var(--fw-semi-bold);
    letter-spacing: var(--ls-wide);
    line-height: var(--lh-100);
}

.le-solution-journey__stage-progress-current {
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-400);
}

.le-solution-journey__stage-progress-separator {
    color: var(--le-marketing-border-muted);
}

.le-solution-journey__mobile-navigation {
    display: none;
}

.le-solution-journey__chapters,
.le-solution-journey__chapter,
.le-solution-journey__stages {
    min-inline-size: 0;
}

.le-solution-journey__chapter {
    --le-solution-chapter-accent: var(--le-accent-clr-primary);

    position: relative;
    isolation: isolate;
    scroll-margin-block-start: calc(var(--le-public-navbar-block-size, 5rem) + var(--space-600));
}

.le-solution-journey__chapter:nth-child(2) {
    --le-solution-chapter-accent: color-mix(in srgb, var(--le-accent-clr-primary) 58%, var(--clr-indigo-400));
}

.le-solution-journey__chapter:nth-child(3) {
    --le-solution-chapter-accent: color-mix(in srgb, var(--le-accent-clr-primary) 34%, var(--clr-indigo-300));
}

.le-solution-journey__chapter:not(:last-child) {
    margin-block-end: clamp(var(--space-2400), 12vw, calc(var(--space-3200) * 2));
}

.le-solution-journey__chapter::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block-start: clamp(var(--space-3200), 10vw, calc(var(--space-3200) * 2));
    inset-inline: -16vw -8vw;
    block-size: min(70rem, 70%);
    background: radial-gradient(
        ellipse at center,
        color-mix(in srgb, var(--le-solution-chapter-accent) 11%, transparent),
        transparent 68%
    );
    pointer-events: none;
}

.le-solution-journey__chapter-header {
    position: relative;
    min-inline-size: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin-block-end: clamp(var(--space-1200), 8vw, var(--space-2400));
}

.le-solution-journey__chapter-copy {
    min-inline-size: 0;
}

.le-solution-journey__chapter-title {
    max-inline-size: 20ch;
    margin: 0;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-800), 4vw, var(--fs-950));
    line-height: var(--lh-200);
    overflow-wrap: anywhere;
}

.le-solution-journey__chapter-description {
    max-inline-size: 48rem;
    margin-block-start: var(--space-400);
    color: var(--le-marketing-text-muted);
    font-size: var(--le-fs-body-lg);
    line-height: var(--le-lh-body);
}

.le-solution-journey__stages {
    display: grid;
    margin: 0;
    padding: 0;
}

.le-solution-journey__stage-item {
    min-inline-size: 0;
}

.le-solution-journey__stage {
    position: relative;
    min-inline-size: 0;
    display: grid;
    gap: clamp(var(--space-800), 5vw, var(--space-1600));
    padding-block: clamp(var(--space-1200), 7vw, var(--space-2400));
    border-block-start: var(--border-width-1) solid color-mix(in srgb, var(--le-marketing-border-muted) 68%, transparent);
    scroll-margin-block-start: calc(var(--le-public-navbar-block-size, 5rem) + var(--space-600));
}

.le-solution-journey__stage-copy {
    position: relative;
    z-index: 1;
    min-inline-size: 0;
    align-self: center;
}

.le-solution-journey__label {
    color: var(--le-solution-chapter-accent);
    font-size: var(--fs-200);
    font-weight: var(--fw-semi-bold);
    letter-spacing: var(--ls-wide);
}

.le-solution-journey__stage-title {
    max-inline-size: 19ch;
    margin: 0;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-800), 3vw, var(--fs-950));
    line-height: var(--lh-200);
    overflow-wrap: anywhere;
}

.le-solution-journey__problem {
    position: relative;
    max-inline-size: 38rem;
    margin-block-start: clamp(var(--space-700), 3vw, var(--space-1000));
    padding-inline-start: var(--space-500);
}

.le-solution-journey__problem::before {
    content: "";
    position: absolute;
    inset-block: var(--space-50);
    inset-inline-start: 0;
    inline-size: var(--border-width-2);
    background: linear-gradient(to bottom, var(--le-solution-chapter-accent), transparent);
}

.le-solution-journey__problem-copy {
    margin-block-start: var(--space-200);
    color: var(--le-marketing-text-secondary);
    font-size: var(--fs-500);
    line-height: var(--lh-400);
}

.le-solution-journey__actions {
    margin-block-start: clamp(var(--space-700), 3vw, var(--space-1000));
}

.le-solution-journey__action-list {
    display: grid;
    gap: var(--space-400) clamp(var(--space-600), 3vw, var(--space-1000));
    margin-block-start: var(--space-400);
    padding: 0;
}

.le-solution-journey__action {
    min-inline-size: 0;
    display: grid;
    grid-template-columns: var(--size-400) minmax(0, 1fr);
    align-items: start;
    gap: var(--space-300);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    line-height: var(--lh-400);
}

.le-solution-journey__action-marker {
    position: relative;
    display: block;
    inline-size: var(--size-400);
    block-size: var(--border-width-1);
    margin-block-start: 0.68em;
    background: var(--le-solution-chapter-accent);
}

.le-solution-journey__action-marker::after {
    content: "";
    position: absolute;
    inset-block-start: calc(var(--size-100) * -0.5);
    inset-inline-end: 0;
    inline-size: var(--size-100);
    block-size: var(--size-100);
    border-radius: var(--radius-circle);
    background: inherit;
}

.le-solution-journey__stage-visual {
    position: relative;
    min-inline-size: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, transparent, var(--le-marketing-mask-clr) 12%, var(--le-marketing-mask-clr) 88%, transparent);
    mask-image: linear-gradient(to bottom, transparent, var(--le-marketing-mask-clr) 12%, var(--le-marketing-mask-clr) 88%, transparent);
}

.le-solution-journey__stage-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, color-mix(in srgb, var(--le-marketing-bg-indigo-deep) 14%, transparent), transparent 42%),
        linear-gradient(to top, color-mix(in srgb, var(--le-marketing-bg-deep) 16%, transparent), transparent 36%);
    pointer-events: none;
}

.le-solution-journey__stage-image {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    object-position: center;
}

.le-solution-journey__chapter-action {
    display: flex;
    align-items: center;
    gap: var(--space-600);
    margin-block-start: clamp(var(--space-800), 5vw, var(--space-1600));
}

.le-solution-journey__chapter-rule {
    block-size: var(--border-width-1);
    flex: 1 1 auto;
    background: linear-gradient(to right, var(--le-solution-chapter-accent), transparent);
}

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

@media (min-width: 64em) {
    .le-solution-journey__layout {
        grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
        align-items: start;
    }

    .le-solution-journey__navigation {
        position: sticky;
        inset-block-start: calc(var(--le-public-navbar-block-size, 5rem) + var(--space-800));
        align-self: start;
    }

    .le-solution-journey__stage {
        min-block-size: clamp(28rem, 52svh, 38rem);
        grid-template-columns: minmax(18rem, 0.84fr) minmax(24rem, 1.16fr);
        grid-template-areas: "copy visual";
        align-items: stretch;
    }

    .le-solution-journey__stage-item:nth-child(even) .le-solution-journey__stage {
        grid-template-columns: minmax(24rem, 1.16fr) minmax(18rem, 0.84fr);
        grid-template-areas: "visual copy";
    }

    .le-solution-journey__stage-copy {
        grid-area: copy;
    }

    .le-solution-journey__stage-visual {
        grid-area: visual;
        aspect-ratio: auto;
        min-block-size: 100%;
        -webkit-mask-image: linear-gradient(to right, transparent, var(--le-marketing-mask-clr) 18%, var(--le-marketing-mask-clr));
        mask-image: linear-gradient(to right, transparent, var(--le-marketing-mask-clr) 18%, var(--le-marketing-mask-clr));
    }

    .le-solution-journey__stage-item:nth-child(even) .le-solution-journey__stage-visual {
        -webkit-mask-image: linear-gradient(to left, transparent, var(--le-marketing-mask-clr) 18%, var(--le-marketing-mask-clr));
        mask-image: linear-gradient(to left, transparent, var(--le-marketing-mask-clr) 18%, var(--le-marketing-mask-clr));
    }
}

@media (max-width: 63.999em) {
    .le-solution-journey__chapter,
    .le-solution-journey__stage {
        scroll-margin-block-start: calc(
            var(--le-public-navbar-block-size, 5rem)
            + var(--size-1200)
            + var(--space-600)
        );
    }

    .le-solution-journey.is-enhanced .le-solution-journey__mobile-navigation {
        position: sticky;
        inset-block-start: calc(var(--le-public-navbar-block-size, 5rem) + var(--space-200));
        z-index: var(--le-z-layer-sticky);
        display: block;
        margin-block: 0 clamp(var(--space-1000), 8vw, var(--space-1800));
        color: var(--le-marketing-text-primary);
    }

    .le-solution-journey__mobile-summary {
        min-inline-size: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto var(--size-500);
        align-items: center;
        gap: var(--space-300);
        min-block-size: var(--size-1200);
        padding: var(--space-300) var(--space-400);
        border-block: var(--border-width-1) solid color-mix(in srgb, var(--le-marketing-border-muted) 68%, transparent);
        background: color-mix(in srgb, var(--le-marketing-bg-deep) 88%, transparent);
        box-shadow: 0 var(--space-300) var(--space-900) color-mix(in srgb, var(--le-marketing-bg-deep) 34%, transparent);
        -webkit-backdrop-filter: blur(1rem);
        backdrop-filter: blur(1rem);
        cursor: pointer;
        list-style: none;
    }

    .le-solution-journey__mobile-summary::-webkit-details-marker {
        display: none;
    }

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

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

    .le-solution-journey__mobile-code,
    .le-solution-journey__mobile-link-code {
        color: var(--le-marketing-text-accent);
        font-family: var(--le-ff-mono);
        font-size: var(--fs-200);
        font-weight: var(--fw-semi-bold);
        letter-spacing: var(--ls-wide);
    }

    .le-solution-journey__mobile-title {
        min-inline-size: 0;
        font-size: var(--fs-300);
        font-weight: var(--fw-semi-bold);
        line-height: var(--lh-300);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .le-solution-journey__mobile-stage {
        color: var(--le-marketing-text-muted);
        font-family: var(--le-ff-mono);
        font-size: var(--fs-200);
        letter-spacing: var(--ls-wide);
        white-space: nowrap;
    }

    .le-solution-journey__mobile-chevron {
        position: relative;
        inline-size: var(--size-400);
        block-size: var(--size-400);
        justify-self: end;
    }

    .le-solution-journey__mobile-chevron::before,
    .le-solution-journey__mobile-chevron::after {
        content: "";
        position: absolute;
        inset-block-start: 50%;
        inline-size: 58%;
        block-size: var(--border-width-1);
        background: var(--le-marketing-text-muted);
        transition: transform var(--duration-200) var(--ease-standard);
    }

    .le-solution-journey__mobile-chevron::before {
        inset-inline-start: 0;
        transform: rotate(42deg);
    }

    .le-solution-journey__mobile-chevron::after {
        inset-inline-end: 0;
        transform: rotate(-42deg);
    }

    .le-solution-journey__mobile-navigation[open] .le-solution-journey__mobile-chevron::before {
        transform: rotate(-42deg);
    }

    .le-solution-journey__mobile-navigation[open] .le-solution-journey__mobile-chevron::after {
        transform: rotate(42deg);
    }

    .le-solution-journey__mobile-menu {
        position: absolute;
        inset-block-start: 100%;
        inset-inline: 0;
        padding: var(--space-300) var(--space-400) var(--space-400);
        border-block-end: var(--border-width-1) solid var(--le-marketing-border-muted);
        background: color-mix(in srgb, var(--le-marketing-bg-deep) 96%, transparent);
        box-shadow: 0 var(--space-500) var(--space-1000) color-mix(in srgb, var(--le-marketing-bg-deep) 48%, transparent);
        -webkit-backdrop-filter: blur(1rem);
        backdrop-filter: blur(1rem);
    }

    .le-solution-journey__mobile-list {
        display: grid;
        gap: var(--space-100);
        margin: 0;
        padding: 0;
    }

    .le-solution-journey__mobile-link {
        min-inline-size: 0;
        display: grid;
        grid-template-columns: var(--size-700) minmax(0, 1fr);
        align-items: center;
        gap: var(--space-300);
        padding: var(--space-350) var(--space-200);
        color: var(--le-marketing-text-muted);
        font-size: var(--fs-300);
        font-weight: var(--fw-medium);
        line-height: var(--lh-300);
        text-decoration: none;
    }

    .le-solution-journey__mobile-link:is(:hover, :focus-visible),
    .le-solution-journey__mobile-link[aria-current="location"] {
        color: var(--le-marketing-text-primary);
    }

    .le-solution-journey__mobile-link[aria-current="location"] .le-solution-journey__mobile-link-code {
        color: var(--le-solution-journey-accent);
    }

    .le-solution-journey__mobile-link:focus-visible {
        outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
        outline-offset: calc(var(--focus-ring-offset) * -1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .le-solution-journey__navigation-list::after,
    .le-solution-journey__navigation-link,
    .le-solution-journey__navigation-link::after,
    .le-solution-journey__navigation-code,
    .le-solution-journey__mobile-chevron::before,
    .le-solution-journey__mobile-chevron::after {
        transition: none;
    }
}

@media (forced-colors: active) {
    .le-solution-journey::before,
    .le-solution-journey__chapter::before,
    .le-solution-journey__stage-visual::after {
        display: none;
    }

    .le-solution-journey__navigation-list::before,
    .le-solution-journey__navigation-list::after,
    .le-solution-journey__navigation-link::after,
    .le-solution-journey__problem::before,
    .le-solution-journey__action-marker,
    .le-solution-journey__chapter-rule {
        background: CanvasText;
    }

    .le-solution-journey__navigation-code {
        background: Canvas;
        color: CanvasText;
    }

    .le-solution-journey__mobile-summary,
    .le-solution-journey__mobile-menu {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
    }

    .le-solution-journey__stage {
        border-color: CanvasText;
    }

    .le-solution-journey__stage-visual {
        -webkit-mask-image: none;
        mask-image: none;
    }
}
}

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

.le-chip--icon::before {
    display: none;
}

.le-chip__icon {
    inline-size: var(--size-400);
    block-size: var(--size-400);
    flex: 0 0 auto;
    object-fit: contain;
}

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

@layer le.components {
.le-check-list {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-200);
    list-style: none;
}

.le-check-list__item {
    min-inline-size: 0;
    display: flex;
    align-items: flex-start;
    gap: var(--space-200);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    line-height: var(--lh-300);
}

.le-check-list__item--muted {
    color: color-mix(in srgb, var(--le-marketing-text-muted) 72%, transparent);
}

.le-check-list__icon {
    inline-size: auto;
    block-size: auto;
    max-inline-size: var(--size-350);
    max-block-size: var(--size-350);
    flex: 0 0 auto;
    margin-block-start: 0.18em;
    object-fit: contain;
}

@media (forced-colors: active) {
    .le-check-list__item,
    .le-check-list__item--muted {
        color: CanvasText;
    }

    .le-check-list__icon {
        display: none;
    }
}
}

@layer le.components {
.le-media-card {
    --le-media-card-min-block-size: clamp(18rem, 32vw, 27rem);

    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    min-block-size: var(--le-media-card-min-block-size);
    display: grid;
    align-items: end;
    overflow: hidden;
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-xl);
    background: var(--le-marketing-surface-primary);
    box-shadow: var(--shadow-md);
    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-media-card__media,
.le-media-card__media.le-media-frame {
    position: absolute;
    inset: 0;
    z-index: var(--le-z-layer-base);
    min-block-size: 0;
}

.le-media-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 28%, color-mix(in srgb, var(--clr-black) 78%, transparent) 100%),
        linear-gradient(90deg, color-mix(in srgb, var(--le-marketing-bg-indigo-deep) 28%, transparent), transparent 70%);
    pointer-events: none;
}

.le-media-card__content {
    position: relative;
    z-index: var(--le-z-layer-raised);
    display: grid;
    gap: var(--space-250);
    padding: clamp(var(--space-500), 4vw, var(--space-800));
}

.le-media-card__title {
    color: var(--clr-white);
    font-size: var(--fs-500);
    font-weight: var(--fw-bold);
}

.le-media-card__copy {
    max-inline-size: 28rem;
    color: color-mix(in srgb, var(--clr-white) 76%, transparent);
    font-size: var(--fs-300);
}

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

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

    .le-media-card__media {
        display: none;
    }

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

@layer le.components {
.le-feature-card {
    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    min-block-size: 100%;
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-2xl);
    background:
        radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 70%, transparent), transparent 55%),
        var(--le-marketing-surface-primary);
    box-shadow: var(--shadow-md);
    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-feature-card__media,
.le-feature-card__media.le-media-frame {
    --le-media-min-block-size: clamp(8.5rem, 16vw, 12rem);

    border-block-end: var(--border-width-1) solid color-mix(in srgb, var(--le-marketing-border-muted) 62%, transparent);
}

.le-feature-card__body {
    min-inline-size: 0;
    display: grid;
    align-content: start;
    gap: var(--space-400);
    padding: clamp(var(--space-400), 2.4vw, var(--space-600));
}

.le-feature-card__heading {
    min-inline-size: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-200);
}

.le-feature-card__title {
    min-inline-size: 0;
    color: var(--le-accent-clr-text);
    font-size: var(--fs-500);
    font-weight: var(--fw-bold);
}

.le-feature-card__badge {
    display: inline-flex;
    align-items: center;
    min-block-size: var(--size-500);
    padding: var(--space-50) var(--space-200);
    border: var(--border-width-1) solid var(--le-border-clr-subtle);
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--le-marketing-text-muted) 12%, transparent);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-100);
    font-weight: var(--fw-medium);
    line-height: var(--lh-100);
    white-space: nowrap;
}

.le-feature-card .le-check-list__item {
    align-items: center;
}

.le-feature-card .le-check-list__item .le-feature-card__badge {
    margin-inline-start: auto;
}

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

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

    .le-feature-card__media {
        display: none;
    }

    .le-feature-card__title,
    .le-feature-card__badge {
        color: CanvasText;
    }
}
}

@layer le.components {
.le-plan-note {
    max-inline-size: 39rem;
    display: inline-flex;
    align-items: center;
    gap: var(--space-300);
    justify-self: start;
    padding: var(--space-300) var(--space-500);
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--le-marketing-bg-deep) 82%, transparent);
    box-shadow: var(--shadow-sm);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    line-height: var(--lh-300);
}

.le-plan-note__icon {
    inline-size: var(--size-500);
    block-size: var(--size-500);
    flex: 0 0 auto;
    object-fit: contain;
}

.le-plan-grid {
    display: grid;
    align-items: stretch;
    gap: clamp(var(--space-500), 2vw, var(--space-700));
}

.le-plan-card {
    position: relative;
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-500);
    padding: clamp(var(--space-500), 2.5vw, var(--space-700));
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-xl);
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 12%, transparent), transparent 18rem),
        var(--le-marketing-surface-elevated);
    box-shadow: var(--shadow-md);
}

.le-plan-card--recommended {
    border-color: var(--le-marketing-border-accent);
    box-shadow:
        0 0 0 var(--border-width-1) color-mix(in srgb, var(--le-accent-clr-primary) 22%, transparent),
        0 20px 48px color-mix(in srgb, var(--le-accent-clr-primary) 14%, transparent);
}

.le-plan-card--custom {
    background:
        radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--le-marketing-bg-cyan-deep) 18%, transparent), transparent 18rem),
        var(--le-marketing-surface-elevated);
}

.le-plan-card__header {
    display: grid;
    align-content: start;
    gap: var(--space-250);
}

.le-plan-card__badge {
    inline-size: fit-content;
    min-block-size: var(--size-600);
    display: inline-flex;
    align-items: center;
    padding: var(--space-100) var(--space-300);
    border-radius: var(--radius-pill);
    background: var(--le-accent-clr-muted);
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-100);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
    line-height: var(--lh-100);
    text-transform: uppercase;
}

.le-plan-card--recommended .le-plan-card__badge {
    background: var(--le-accent-clr-primary);
    color: var(--le-text-clr-on-accent);
}

.le-plan-card__title {
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-700), 2.2vw, var(--fs-900));
    font-weight: var(--fw-bold);
}

.le-plan-card__subtitle {
    color: var(--le-marketing-text-secondary);
    font-size: var(--fs-400);
    font-weight: var(--fw-medium);
}

.le-plan-card__description {
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    line-height: var(--lh-400);
}

.le-plan-card__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-100) var(--space-200);
    padding-block: var(--space-100) var(--space-400);
    border-block-end: var(--border-width-1) solid var(--le-marketing-border-muted);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
}

.le-plan-card__price-amount {
    color: var(--le-accent-clr-text);
    font-size: clamp(var(--fs-800), 3vw, var(--fs-950));
    font-weight: var(--fw-bold);
    line-height: var(--lh-100);
}

.le-plan-card--custom .le-plan-card__price-amount {
    max-inline-size: 14ch;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-700), 2.4vw, var(--fs-900));
}

.le-plan-card__price-note {
    inline-size: 100%;
    color: var(--le-marketing-text-muted);
    line-height: var(--lh-300);
}

.le-plan-card__includes {
    display: flex;
    align-items: flex-start;
    gap: var(--space-200);
    color: var(--le-marketing-text-secondary);
    font-size: var(--fs-300);
    font-weight: var(--fw-bold);
}

.le-plan-card__includes-icon {
    inline-size: var(--size-400);
    block-size: var(--size-400);
    flex: 0 0 auto;
    margin-block-start: 0.12em;
    object-fit: contain;
}

.le-plan-card__features {
    align-content: start;
    gap: var(--space-250);
}

.le-plan-card__agent {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--space-100) var(--space-250);
    padding: var(--space-300);
    border: var(--border-width-1) solid var(--le-marketing-border-strong);
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--le-marketing-bg-indigo-deep) 54%, transparent);
}

.le-plan-card__agent-icon {
    grid-row: 1 / span 2;
    inline-size: var(--size-500);
    block-size: var(--size-500);
    object-fit: contain;
}

.le-plan-card__agent strong {
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-300);
}

.le-plan-card__agent span {
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
}

.le-plan-card__lower {
    display: grid;
    gap: var(--space-500);
    margin-block-start: auto;
}

.le-plan-card__footer {
    display: grid;
    gap: var(--space-500);
    padding-block-start: var(--space-100);
}

.le-plan-card__users {
    display: flex;
    align-items: center;
    gap: var(--space-250);
    padding-block-start: var(--space-400);
    border-block-start: var(--border-width-1) solid var(--le-marketing-border-muted);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
}

.le-plan-card__users-icon {
    inline-size: 1.375rem;
    block-size: 1rem;
    flex: 0 0 auto;
    object-fit: contain;
}

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

.le-agent-formula__label {
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-100);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
    text-transform: uppercase;
}

.le-agent-formula__arrow {
    inline-size: var(--size-300);
    block-size: auto;
    opacity: 0.7;
}

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

    .le-plan-grid > :last-child:nth-child(odd) {
        inline-size: calc(50% - (clamp(var(--space-500), 2vw, var(--space-700)) / 2));
        grid-column: 1 / -1;
        justify-self: center;
    }
}

@media (min-width: 75em) {
    .le-plan-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .le-plan-grid > :last-child:nth-child(odd) {
        inline-size: auto;
        grid-column: auto;
        justify-self: stretch;
    }

    .le-plan-card {
        gap: var(--space-300);
        padding: var(--space-500);
    }

    .le-plan-card__header {
        gap: var(--space-200);
    }

    .le-plan-card__price {
        padding-block: 0 var(--space-300);
    }

    .le-plan-card__features {
        gap: var(--space-200);
    }

    .le-plan-card__agent {
        padding: var(--space-250) var(--space-300);
    }

    .le-plan-card__lower,
    .le-plan-card__footer {
        gap: var(--space-300);
    }

    .le-plan-card__footer {
        padding-block-start: 0;
    }

    .le-plan-card__users {
        padding-block-start: var(--space-300);
    }
}

@media (max-width: 49.99em) {
    .le-plan-note {
        align-items: flex-start;
        border-radius: var(--radius-xl);
    }

    .le-agent-formula__arrow {
        display: none;
    }
}

@media (forced-colors: active) {
    .le-plan-note,
    .le-plan-card,
    .le-plan-card--recommended,
    .le-plan-card--custom,
    .le-plan-card__agent {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
        color: CanvasText;
    }

    .le-plan-card__badge,
    .le-plan-card--recommended .le-plan-card__badge {
        border: var(--border-width-1) solid CanvasText;
        background: Canvas;
        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--focus-end .le-media-frame__image {
    object-position: right center;
}

.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: radial-gradient(
        circle,
        var(--le-decoration-clr, var(--le-accent-clr-primary)) 0%,
        color-mix(in srgb, var(--le-decoration-clr, var(--le-accent-clr-primary)) 78%, transparent) 24%,
        color-mix(in srgb, var(--le-decoration-clr, var(--le-accent-clr-primary)) 34%, transparent) 48%,
        transparent 74%
    );
    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: var(--space-0);
    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);
    --le-stage-card-media-bg: color-mix(in srgb, var(--clr-blue-900) 20%, var(--clr-black));
    --le-stage-card-media-fade-clr: var(--le-stage-card-bg-end);
    --le-stage-card-media-fade-size: clamp(var(--space-800), 10vw, var(--space-1600));
    --le-stage-card-media-blend-direction: to right;
    --le-stage-card-shadow: var(--shadow-xl);
    --le-stage-card-hover-shadow: var(--shadow-xl);

    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(--le-stage-card-shadow);
    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(--le-stage-card-hover-shadow),
            0 0 42px color-mix(in srgb, var(--le-accent-clr-primary) 12%, transparent);
        transform: translateY(calc(var(--space-100) * -1));
    }
}

.le-stage-card--static {
    --le-stage-card-shadow: var(--shadow-md);
    --le-stage-card-hover-shadow: var(--shadow-md);
}

@media (hover: hover) and (pointer: fine) {
    .le-stage-card--static:hover {
        border-color: var(--le-marketing-border-strong);
        box-shadow: var(--le-stage-card-shadow);
        transform: none;
    }
}

.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;
    background: var(--le-stage-card-media-bg);
}

.le-stage-card__media::after {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: var(--le-z-layer-raised);
    block-size: var(--le-stage-card-media-fade-size);
    background: linear-gradient(
        180deg,
        var(--le-stage-card-media-fade-clr) 0%,
        color-mix(in srgb, var(--le-stage-card-media-fade-clr) 84%, var(--clr-transparent)) 26%,
        color-mix(in srgb, var(--le-stage-card-media-fade-clr) 46%, var(--clr-transparent)) 62%,
        color-mix(in srgb, var(--le-stage-card-media-fade-clr) 16%, var(--clr-transparent)) 82%,
        var(--clr-transparent) 100%
    );
    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 {
        --le-stage-card-media-blend-direction: to left;

        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 {
        position: absolute;
        inset: 0;
        z-index: var(--le-z-layer-base);
        min-block-size: 0;
        align-items: center;
        justify-content: flex-end;
        pointer-events: none;
        user-select: none;
        -webkit-mask-image: linear-gradient(
            var(--le-stage-card-media-blend-direction),
            var(--clr-transparent) 0%,
            var(--clr-transparent) 34%,
            color-mix(in srgb, var(--le-marketing-mask-clr) 22%, var(--clr-transparent)) 40%,
            color-mix(in srgb, var(--le-marketing-mask-clr) 58%, var(--clr-transparent)) 47%,
            color-mix(in srgb, var(--le-marketing-mask-clr) 86%, var(--clr-transparent)) 52%,
            var(--le-marketing-mask-clr) 56%,
            var(--le-marketing-mask-clr) 100%
        );
        mask-image: linear-gradient(
            var(--le-stage-card-media-blend-direction),
            var(--clr-transparent) 0%,
            var(--clr-transparent) 34%,
            color-mix(in srgb, var(--le-marketing-mask-clr) 22%, var(--clr-transparent)) 40%,
            color-mix(in srgb, var(--le-marketing-mask-clr) 58%, var(--clr-transparent)) 47%,
            color-mix(in srgb, var(--le-marketing-mask-clr) 86%, var(--clr-transparent)) 52%,
            var(--le-marketing-mask-clr) 56%,
            var(--le-marketing-mask-clr) 100%
        );
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
    }

    .le-stage-card__media::after {
        content: none;
    }

    .le-stage-card__media .le-media-frame__image {
        inline-size: auto;
        max-inline-size: none;
        block-size: 100%;
        object-fit: contain;
        object-position: right center;
    }

    .le-stage-card--media-start .le-stage-card__media {
        justify-content: flex-start;
    }

    .le-stage-card--media-start .le-stage-card__media .le-media-frame__image {
        object-position: left center;
    }
}

/* Reusable split and compact variants for content-led stage cards. */
.le-stage-card__detail {
    display: grid;
    gap: var(--space-150);
}

.le-stage-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-300);
    margin-block-start: auto;
    padding-block-start: var(--space-300);
}

.le-stage-card--compact .le-stage-card__content {
    gap: var(--space-300);
    padding: clamp(var(--space-500), 4vw, var(--space-900));
}

.le-stage-card--compact .le-stage-card__title {
    font-size: clamp(var(--fs-700), 2.4vw, var(--fs-900));
}

.le-stage-card--compact .le-stage-card__detail {
    padding: var(--space-300) var(--space-400);
    border-inline-start: var(--border-width-2) solid var(--le-marketing-border-accent);
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
    background: color-mix(in srgb, var(--le-marketing-surface-primary) 64%, transparent);
}

.le-stage-card--compact .le-stage-card__features {
    margin-block-start: 0;
    padding-block-start: var(--space-100);
}

.le-stage-card--split .le-stage-card__cta {
    position: static;
    inset: auto;
}

.le-stage-card--split .le-stage-card__media {
    min-block-size: 0;
    aspect-ratio: 16 / 10;
}

@media (max-width: 49.999em) {
    .le-stage-card--split .le-stage-card__cta {
        inline-size: 100%;
    }
}

@media (min-width: 50em) {
    .le-stage-card--split {
        grid-template-columns: minmax(0, 45%) minmax(0, 55%);
        min-block-size: 0;
    }

    .le-stage-card--split .le-stage-card__content {
        grid-column: 1;
        grid-row: 1;
        min-block-size: clamp(24rem, 29vw, 27rem);
    }

    .le-stage-card--split .le-stage-card__media {
        position: relative;
        inset: auto;
        grid-column: 2;
        grid-row: 1;
        min-block-size: 100%;
        aspect-ratio: auto;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .le-stage-card--split .le-stage-card__media::after {
        content: "";
        inset: 0 auto 0 0;
        inline-size: clamp(var(--space-800), 5vw, var(--space-1600));
        block-size: 100%;
        background: linear-gradient(90deg, color-mix(in srgb, var(--le-stage-card-bg-end) 62%, transparent), transparent);
    }

    .le-stage-card--split .le-stage-card__media .le-media-frame__image {
        inline-size: 100%;
        max-inline-size: none;
        block-size: 100%;
        object-fit: cover;
        object-position: center;
    }
}

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

    .le-stage-card--split .le-stage-card__media::after {
        content: none;
    }
}

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

    .le-stage-card__media::after {
        content: none;
    }
}

/* Generic presentation variants for image-led stage cards. */
.le-stage-card__label {
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-250);
    font-weight: var(--fw-medium);
}

.le-stage-card__features {
    display: grid;
    gap: var(--space-250);
}

.le-stage-card--media-cover .le-stage-card__media .le-media-frame__image {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

@media (min-width: 50em) {
    .le-stage-card--landscape {
        min-block-size: clamp(22rem, 32vw, 28rem);
    }

    .le-stage-card--landscape .le-stage-card__content {
        padding: clamp(var(--space-600), 4vw, var(--space-1000));
    }

    .le-stage-card--media-cover .le-stage-card__media .le-media-frame__image {
        inline-size: 100%;
        max-inline-size: none;
        block-size: 100%;
        object-fit: cover;
        object-position: center;
    }
}
}

@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);
    transition:
        border-color var(--duration-200) var(--ease-standard),
        box-shadow var(--duration-200) var(--ease-standard);
}

.le-process__icon {
    max-inline-size: var(--size-700);
    max-block-size: var(--size-700);
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(83%) sepia(55%) saturate(1895%) hue-rotate(142deg) brightness(99%) contrast(101%);
    transition: filter var(--duration-200) var(--ease-standard);
}

.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 {
    grid-column: 2;
    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 {
    grid-column: 2;
    max-inline-size: 34rem;
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    line-height: var(--lh-400);
}

.le-process__date {
    grid-column: 2;
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
}

@media (hover: hover) and (pointer: fine) {
    .le-process__step:hover .le-process__marker {
        border-color: var(--le-accent-clr-primary);
        /* Keep the cyan illumination inside the circle so scroll clipping cannot turn it into a rectangular halo. */
        box-shadow:
            inset 0 0 var(--space-400) color-mix(in srgb, var(--le-accent-clr-primary) 28%, transparent),
            var(--shadow-sm);
    }

    .le-process__step:hover .le-process__icon {
        filter:
            brightness(0)
            saturate(100%)
            invert(83%)
            sepia(55%)
            saturate(1895%)
            hue-rotate(142deg)
            brightness(112%)
            contrast(101%);
    }
}

@media (min-width: 80em) {
    .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);
    }

    .le-process--five-step .le-process__list {
        min-inline-size: 52rem;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .le-process--five-step .le-process__list::before {
        inset-inline: calc((100% - (4 * var(--space-400))) / 10);
    }

}

@media (prefers-reduced-motion: reduce) {
    .le-process__marker,
    .le-process__icon {
        transition: none;
    }
}

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

    .le-process__date {
        color: CanvasText;
    }

    .le-process__icon {
        filter: none;
    }

    .le-process__list::before,
    .le-process__step::after {
        background: CanvasText;
        box-shadow: none;
    }
}
}

@layer le.components {
.le-hub-network {
    --le-hub-network-line: color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 82%, var(--le-accent-clr-primary));

    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-500);
}

.le-hub-network__node,
.le-hub-network__hub {
    position: relative;
    z-index: var(--le-z-layer-raised);
    min-inline-size: 0;
    border: var(--border-width-1) solid var(--le-marketing-border-strong);
    border-radius: var(--radius-2xl);
    background:
        radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 42%, transparent), transparent 55%),
        color-mix(in srgb, var(--le-marketing-surface-primary) 94%, transparent);
    box-shadow: var(--shadow-md);
}

.le-hub-network__node {
    min-block-size: 11rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(5rem, 34%);
    align-items: end;
    gap: var(--space-200);
    padding: var(--space-500);
}

.le-hub-network__node-content {
    position: relative;
    z-index: var(--le-z-layer-raised);
    align-self: start;
    min-inline-size: 0;
    display: grid;
    gap: var(--space-300);
}

.le-hub-network__node-title {
    color: var(--le-accent-clr-text);
    font-size: var(--fs-500);
    font-weight: var(--fw-bold);
    line-height: var(--lh-300);
}

.le-hub-network__node-image {
    inline-size: min(9rem, 100%);
    block-size: auto;
    align-self: end;
    justify-self: end;
    opacity: 0.48;
    filter: drop-shadow(0 0 22px color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 24%, transparent));
}

.le-hub-network__hub {
    overflow: hidden;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: var(--space-200);
    min-block-size: 16rem;
    padding: var(--space-600);
    text-align: center;
    background:
        radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--le-accent-clr-primary) 16%, transparent), transparent 45%),
        linear-gradient(145deg, color-mix(in srgb, var(--le-marketing-bg-deep) 94%, transparent), color-mix(in srgb, var(--le-marketing-bg-indigo-control) 52%, var(--le-marketing-bg-deep)));
    box-shadow:
        var(--shadow-xl),
        inset 0 0 40px color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 18%, transparent),
        0 0 50px color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 16%, transparent);
}

.le-hub-network__hub-icon {
    inline-size: var(--size-900);
    block-size: var(--size-900);
    object-fit: contain;
}

.le-hub-network__hub-title {
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-700);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
}

.le-hub-network__hub-accent {
    color: var(--le-accent-clr-text);
    font-size: var(--fs-500);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-wide);
}

.le-hub-network__steps {
    inline-size: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-200);
    margin-block-start: var(--space-400);
    list-style: none;
}

.le-hub-network__step {
    position: relative;
    min-inline-size: 0;
    display: grid;
    justify-items: center;
    gap: var(--space-150);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-100);
    line-height: var(--lh-200);
}

.le-hub-network__step:not(:last-child)::after {
    content: "→";
    position: absolute;
    inset-inline-end: calc(var(--space-200) * -1);
    inset-block-start: var(--space-150);
    color: var(--le-marketing-text-muted);
}

.le-hub-network__step-number {
    inline-size: var(--size-600);
    block-size: var(--size-600);
    display: grid;
    place-items: center;
    border: var(--border-width-1) solid var(--le-accent-clr-primary);
    border-radius: var(--radius-circle);
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-100);
    font-weight: var(--fw-bold);
}

@media (min-width: 50em) {
    .le-hub-network {
        grid-template-columns: minmax(0, 1fr) minmax(15rem, 1.12fr) minmax(0, 1fr);
        grid-template-areas:
            "north-west . north-east"
            "west hub east"
            "south-west . south-east";
        align-items: center;
        column-gap: clamp(var(--space-200), 2.5vw, var(--space-800));
        row-gap: clamp(var(--space-600), 4vw, var(--space-1200));
        max-inline-size: 76rem;
        margin-inline: auto;
        padding-block: var(--space-800);
    }

    .le-hub-network__node {
        min-block-size: 10rem;
    }

    .le-hub-network__node::after {
        content: "";
        position: absolute;
        z-index: var(--le-z-layer-base);
        block-size: var(--border-width-1);
        inline-size: clamp(5rem, 8vw, 8.5rem);
        background: linear-gradient(90deg, var(--le-hub-network-line), color-mix(in srgb, var(--le-hub-network-line) 40%, transparent));
        box-shadow: 0 0 12px color-mix(in srgb, var(--le-hub-network-line) 34%, transparent);
        pointer-events: none;
    }

    .le-hub-network__node--north-west {
        grid-area: north-west;
    }

    .le-hub-network__node--north-east {
        grid-area: north-east;
    }

    .le-hub-network__node--west {
        grid-area: west;
    }

    .le-hub-network__node--east {
        grid-area: east;
    }

    .le-hub-network__node--south-west {
        grid-area: south-west;
    }

    .le-hub-network__node--south-east {
        grid-area: south-east;
    }

    .le-hub-network__hub {
        grid-area: hub;
        min-block-size: 19rem;
    }

    .le-hub-network__node--west::after,
    .le-hub-network__node--north-west::after,
    .le-hub-network__node--south-west::after {
        inset-inline-start: 100%;
        background: linear-gradient(90deg, var(--le-hub-network-line), color-mix(in srgb, var(--le-hub-network-line) 28%, transparent));
        transform-origin: left center;
    }

    .le-hub-network__node--east::after,
    .le-hub-network__node--north-east::after,
    .le-hub-network__node--south-east::after {
        inset-inline-end: 100%;
        background: linear-gradient(90deg, color-mix(in srgb, var(--le-hub-network-line) 28%, transparent), var(--le-hub-network-line));
        transform-origin: right center;
    }

    .le-hub-network__node--west::after,
    .le-hub-network__node--east::after {
        inset-block-start: 50%;
    }

    .le-hub-network__node--north-west::after,
    .le-hub-network__node--north-east::after {
        inset-block-start: 82%;
    }

    .le-hub-network__node--south-west::after,
    .le-hub-network__node--south-east::after {
        inset-block-start: 18%;
    }

    .le-hub-network__node--north-west::after,
    .le-hub-network__node--south-east::after {
        transform: rotate(32deg);
    }

    .le-hub-network__node--north-east::after,
    .le-hub-network__node--south-west::after {
        transform: rotate(-32deg);
    }
}

@media (forced-colors: active) {
    .le-hub-network__node,
    .le-hub-network__hub {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
    }

    .le-hub-network__node::after,
    .le-hub-network__node-image,
    .le-hub-network__hub-icon {
        display: none;
    }

    .le-hub-network__node-title,
    .le-hub-network__hub-title,
    .le-hub-network__hub-accent,
    .le-hub-network__step,
    .le-hub-network__step-number {
        color: CanvasText;
    }
}
}

@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--feature-cards {
    --le-benefit-rail-card-size: clamp(18rem, 29vw, 22rem);
}

.le-benefit-rail--feature-cards.is-enhanced .le-benefit-rail__viewport {
    padding-block: var(--space-600);
    margin-block: calc(var(--space-600) * -1);
}

.le-benefit-rail--feature-cards.is-enhanced .le-benefit-rail__item {
    inline-size: var(--le-benefit-rail-card-size);
    display: flex;
    flex: 0 0 var(--le-benefit-rail-card-size);
}

.le-benefit-rail--feature-cards.is-enhanced .le-feature-card {
    inline-size: 100%;
}

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

@media (hover: hover) and (pointer: fine) {
    .le-benefit-rail.is-enhanced .le-benefit-rail__track:has(.le-benefit-rail__group > :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 {
    position: relative;
    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__errors {
    display: grid;
    gap: var(--space-100);
}

.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--invalid {
    border-color: var(--le-border-clr-danger);
}

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

.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-consent__label {
    cursor: pointer;
}

.le-consent__link {
    color: var(--le-text-clr-link);
    text-underline-offset: var(--space-100);
}

.le-consent__link:is(:hover, :focus-visible) {
    color: var(--le-text-clr-link-hover);
}

.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-cookie-preferences__csrf {
    display: none;
}

.le-cookie-preferences__status {
    position: fixed;
    z-index: var(--le-z-layer-toast);
    inset-block-start: calc(
        var(--le-public-navbar-block-size, 4.5rem)
        + max(var(--space-300), env(safe-area-inset-top))
    );
    inset-inline-start: max(var(--space-400), env(safe-area-inset-left));
    inset-inline-end: max(var(--space-400), env(safe-area-inset-right));
    inline-size: fit-content;
    max-inline-size: min(26rem, calc(100% - (var(--space-400) * 2)));
    margin-inline: auto;
    min-block-size: var(--size-1100);
    display: flex;
    align-items: center;
    gap: var(--space-300);
    padding: var(--space-300) var(--space-400);
    border: 0;
    border-radius: var(--radius-xl);
    background: var(--le-bg-clr-surface-elevated);
    box-shadow: var(--shadow-xl);
    color: var(--le-text-clr-primary);
    font-size: var(--fs-300);
    line-height: var(--lh-400);
    text-align: start;
    overflow-wrap: anywhere;
    pointer-events: none;
}

.le-cookie-preferences__status[hidden] {
    display: none;
}

.le-cookie-preferences__status[data-kind="success"] {
    background: color-mix(
        in srgb,
        var(--le-status-success-clr) 10%,
        var(--le-bg-clr-surface-elevated)
    );
}

.le-cookie-preferences__status[data-kind="error"] {
    background: color-mix(
        in srgb,
        var(--le-status-danger-clr) 10%,
        var(--le-bg-clr-surface-elevated)
    );
}

.le-cookie-preferences__status[data-kind]::before {
    inline-size: var(--size-600);
    block-size: var(--size-600);
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: var(--radius-circle);
    font-size: var(--fs-200);
    font-weight: var(--fw-bold);
    line-height: 1;
}

.le-cookie-preferences__status[data-kind="success"]::before {
    content: "\2713";
    background: color-mix(in srgb, var(--le-status-success-clr) 18%, transparent);
    color: var(--le-status-success-text-clr);
}

.le-cookie-preferences__status[data-kind="error"]::before {
    content: "!";
    background: color-mix(in srgb, var(--le-status-danger-clr) 18%, transparent);
    color: var(--le-status-danger-text-clr);
}

.le-cookie-banner {
    position: fixed;
    z-index: var(--le-z-layer-modal);
    inset-inline: var(--space-400);
    inset-block-end: max(var(--space-400), env(safe-area-inset-bottom));
    inline-size: min(60rem, calc(100% - (var(--space-400) * 2)));
    max-block-size: calc(
        100dvh
        - max(var(--space-400), env(safe-area-inset-top))
        - max(var(--space-400), env(safe-area-inset-bottom))
    );
    margin-inline: auto;
    display: grid;
    gap: var(--space-400);
    padding: var(--space-400) var(--space-500);
    border: 0;
    border-radius: var(--radius-xl);
    background: var(--le-bg-clr-surface-elevated);
    box-shadow: var(--shadow-xl);
    color: var(--le-text-clr-primary);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.le-cookie-banner[hidden],
.le-cookie-banner__decision-actions[hidden],
.le-cookie-dialog__decision-actions[hidden],
.le-cookie-dialog__notice[hidden] {
    display: none;
}

.le-cookie-banner__copy {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-100);
}

.le-cookie-banner__title {
    font-size: var(--fs-600);
    font-weight: var(--fw-bold);
}

.le-cookie-banner__description {
    max-inline-size: 54ch;
    color: var(--le-text-clr-secondary);
    font-size: var(--fs-300);
}

.le-cookie-banner__link,
.le-cookie-dialog__policy-link a {
    color: var(--le-text-clr-link);
    font-weight: var(--fw-semi-bold);
    text-underline-offset: var(--space-100);
}

.le-cookie-banner__link:is(:hover, :focus-visible),
.le-cookie-dialog__policy-link a:is(:hover, :focus-visible) {
    color: var(--le-text-clr-link-hover);
}

.le-cookie-banner__actions,
.le-cookie-banner__decision-actions,
.le-cookie-dialog__actions,
.le-cookie-dialog__decision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-300);
}

.le-cookie-banner__actions {
    align-items: center;
}

.le-cookie-dialog {
    inline-size: min(46rem, calc(100% - (var(--space-400) * 2)));
    max-block-size: calc(
        100dvh
        - max(var(--space-400), env(safe-area-inset-top))
        - max(var(--space-400), env(safe-area-inset-bottom))
    );
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-2xl);
    background: var(--le-bg-clr-surface-elevated);
    box-shadow: var(--shadow-xl);
    color: var(--le-text-clr-primary);
}

.le-cookie-dialog[open] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 0;
}

.le-cookie-dialog::backdrop {
    background: var(--le-bg-clr-backdrop);
    backdrop-filter: blur(var(--blur-sm));
}

.le-cookie-dialog__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-400);
    padding: var(--space-500) var(--space-600) var(--space-300);
}

.le-cookie-dialog__title {
    font-size: var(--fs-700);
    font-weight: var(--fw-bold);
}

.le-cookie-dialog__close {
    inline-size: var(--size-1100);
    block-size: var(--size-1100);
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: var(--radius-circle);
    background: transparent;
    color: var(--le-text-clr-secondary);
    cursor: pointer;
}

.le-cookie-dialog__close svg {
    inline-size: var(--size-500);
    block-size: var(--size-500);
}

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

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

.le-cookie-dialog__description {
    color: var(--le-text-clr-secondary);
}

.le-cookie-dialog__description,
.le-cookie-dialog__notice,
.le-cookie-dialog__categories,
.le-cookie-dialog__policy-link,
.le-cookie-dialog__status {
    margin: 0;
}

.le-cookie-dialog__content {
    min-block-size: 0;
    display: grid;
    gap: var(--space-300);
    padding: 0 var(--space-600) var(--space-300);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.le-cookie-dialog__notice {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--le-text-clr-secondary);
    font-size: var(--fs-300);
}

.le-cookie-dialog__categories {
    display: grid;
    gap: var(--space-300);
}

.le-cookie-category {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: var(--space-300);
    padding: var(--space-200) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.le-cookie-category__copy {
    min-inline-size: 0;
    grid-column: 1;
    grid-row: 1;
    display: grid;
    gap: var(--space-100);
}

.le-cookie-category__title {
    font-size: var(--fs-400);
    font-weight: var(--fw-bold);
}

.le-cookie-category__description {
    color: var(--le-text-clr-muted);
    font-size: var(--fs-300);
}

.le-cookie-category__status {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    padding: var(--space-100) var(--space-250);
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--le-bg-clr-surface-3);
    color: var(--le-accent-clr-text);
    font-size: var(--fs-200);
    font-weight: var(--fw-semi-bold);
    text-align: center;
    white-space: nowrap;
}

.le-cookie-category.is-inactive .le-cookie-category__status {
    color: var(--le-text-clr-muted);
}

.le-cookie-switch {
    position: relative;
    grid-column: 3;
    grid-row: 1;
    cursor: pointer;
}

.le-cookie-switch:has(.le-cookie-switch__input:disabled) {
    cursor: not-allowed;
}

.le-cookie-switch__input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.le-cookie-switch__track {
    inline-size: var(--size-1300);
    block-size: var(--size-700);
    display: block;
    padding: var(--space-50);
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--le-bg-clr-surface-3);
    transition: background-color var(--duration-150) var(--ease-standard);
}

.le-cookie-switch__track::after {
    content: "";
    inline-size: var(--size-500);
    block-size: var(--size-500);
    display: block;
    border-radius: var(--radius-circle);
    background: var(--le-text-clr-secondary);
    box-shadow: var(--shadow-xs);
    transition: transform var(--duration-150) var(--ease-standard);
}

.le-cookie-switch__input:checked + .le-cookie-switch__track {
    background: var(--le-accent-clr-primary);
}

.le-cookie-switch__input:checked + .le-cookie-switch__track::after {
    background: var(--le-text-clr-on-accent);
    transform: translateX(
        calc(var(--size-1300) - var(--size-500) - (var(--space-50) * 2))
    );
}

.le-cookie-switch__input:focus-visible + .le-cookie-switch__track {
    outline: var(--focus-ring-width) solid var(--le-border-clr-focus);
    outline-offset: var(--focus-ring-offset);
}

.le-cookie-switch__input:disabled + .le-cookie-switch__track {
    opacity: 0.56;
}

.le-cookie-dialog__policy-link {
    font-size: var(--fs-300);
}

.le-cookie-dialog__status {
    padding: var(--space-300) var(--space-400);
    border: 0;
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--le-status-danger-clr) 12%, transparent);
    color: var(--le-status-danger-text-clr);
    font-size: var(--fs-300);
}

.le-cookie-dialog__status[hidden] {
    display: none;
}

.le-cookie-dialog__footer {
    display: grid;
    gap: var(--space-300);
    padding: 0 var(--space-600) var(--space-500);
    background: var(--le-bg-clr-surface-elevated);
}

.le-cookie-dialog__actions {
    justify-content: flex-end;
    padding: 0;
    border: 0;
    background: transparent;
}

@supports (grid-template-columns: subgrid) {
    .le-cookie-dialog__categories {
        grid-template-columns: minmax(0, 1fr) max-content auto;
        column-gap: var(--space-300);
    }

    .le-cookie-category {
        grid-column: 1 / -1;
        grid-template-columns: subgrid;
    }
}

@media (min-width: 60em) {
    .le-cookie-banner {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        padding: var(--space-500);
    }

    .le-cookie-banner__actions {
        justify-content: flex-end;
    }
}

@media (max-width: 44em) {
    .le-cookie-dialog__categories {
        grid-template-columns: minmax(0, 1fr);
    }

    .le-cookie-category {
        grid-column: 1;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: var(--space-200) var(--space-300);
    }

    .le-cookie-category__copy {
        grid-column: 1;
        grid-row: 1;
    }

    .le-cookie-category__status {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
        text-align: start;
        white-space: normal;
    }

    .le-cookie-switch {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 35em) {
    .le-cookie-preferences__status {
        inline-size: auto;
    }

    .le-cookie-banner__actions,
    .le-cookie-banner__decision-actions,
    .le-cookie-dialog__actions,
    .le-cookie-dialog__decision-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .le-cookie-banner__actions .le-button,
    .le-cookie-dialog__actions .le-button {
        inline-size: 100%;
    }

    .le-cookie-banner {
        padding: var(--space-400);
    }

    .le-cookie-dialog__header {
        padding: var(--space-400) var(--space-400) var(--space-300);
    }

    .le-cookie-dialog__content {
        padding: 0 var(--space-400) var(--space-300);
    }

    .le-cookie-dialog__footer {
        padding: 0 var(--space-400) var(--space-400);
    }

}

@media (prefers-reduced-motion: no-preference) {
    .le-cookie-preferences__status:not([hidden]) {
        animation: le-cookie-status-enter var(--duration-200) var(--ease-decelerate);
    }
}

@keyframes le-cookie-status-enter {
    from {
        opacity: 0;
        transform: translateY(calc(var(--space-200) * -1));
    }
}

@media (forced-colors: active) {
    .le-cookie-preferences__status,
    .le-cookie-banner,
    .le-cookie-dialog,
    .le-cookie-category,
    .le-cookie-dialog__notice,
    .le-cookie-dialog__status {
        background: Canvas;
        color: CanvasText;
        outline: 1px solid CanvasText;
        outline-offset: -1px;
    }

    .le-cookie-dialog::backdrop {
        background: Canvas;
        opacity: 0.8;
    }

    .le-cookie-switch__track {
        background: Canvas;
        outline: 1px solid CanvasText;
    }

    .le-cookie-switch__input:checked + .le-cookie-switch__track {
        background: Highlight;
    }
}
}

@layer le.components {
/* Public-site motion is progressive enhancement: native scrolling remains untouched. */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }

    ::view-transition-old(root) {
        animation: le-page-fade-out var(--duration-150) var(--ease-accelerate) both;
    }

    ::view-transition-new(root) {
        animation: le-page-fade-in var(--duration-200) var(--ease-decelerate) both;
    }

    .le-reveal-ready [data-reveal].le-reveal-pending {
        opacity: 0;
        transform: translateY(var(--space-400));
    }

    /* Keyboard and fragment navigation must never land in visually hidden content. */
    .le-reveal-ready [data-reveal].le-reveal-pending:focus-within {
        opacity: 1;
        transform: none;
    }

    .le-reveal-ready [data-reveal] {
        transition:
            opacity var(--duration-400) var(--ease-decelerate),
            transform var(--duration-400) var(--ease-decelerate);
    }
}

@keyframes le-page-fade-out {
    to {
        opacity: 0;
    }
}

@keyframes le-page-fade-in {
    from {
        opacity: 0;
    }
}

.le-back-to-top {
    --le-cookie-safe-offset: 0px;

    position: fixed;
    z-index: var(--le-z-layer-sticky);
    inset-inline-end: max(var(--space-400), env(safe-area-inset-right));
    inset-block-end: calc(
        max(var(--space-400), env(safe-area-inset-bottom))
        + var(--le-cookie-safe-offset)
    );
    inline-size: var(--size-1200);
    block-size: var(--size-1200);
    display: grid;
    place-items: center;
    padding: 0;
    border: var(--border-width-1) solid var(--le-border-clr-accent);
    border-radius: var(--radius-circle);
    background: color-mix(
        in srgb,
        var(--le-bg-clr-surface-elevated) 90%,
        var(--le-accent-clr-primary)
    );
    box-shadow: var(--shadow-lg);
    color: var(--le-accent-clr-text);
    opacity: 0;
    visibility: hidden;
    transform: translateY(var(--space-300));
    pointer-events: none;
    cursor: pointer;
    transition:
        inset-block-end var(--duration-200) var(--ease-standard),
        opacity var(--duration-200) var(--ease-standard),
        visibility 0s linear var(--duration-200),
        transform var(--duration-200) var(--ease-decelerate),
        background-color var(--duration-150) var(--ease-standard),
        border-color var(--duration-150) var(--ease-standard);
}

.le-back-to-top[hidden] {
    display: none;
}

.le-back-to-top.is-visible:not(.is-suppressed) {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition-delay: 0s;
}

.le-back-to-top svg {
    inline-size: var(--size-600);
    block-size: var(--size-600);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.le-back-to-top:is(:hover, :focus-visible) {
    border-color: var(--le-border-clr-focus);
    background: var(--le-bg-clr-surface-hover);
    color: var(--le-text-clr-primary);
}

.le-back-to-top: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-back-to-top:active {
    transform: translateY(1px);
}

@media (max-width: 35em) {
    .le-back-to-top {
        inset-inline-end: max(var(--space-300), env(safe-area-inset-right));
        inset-block-end: calc(
            max(var(--space-300), env(safe-area-inset-bottom))
            + var(--le-cookie-safe-offset)
        );
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .le-back-to-top,
    .le-reveal-ready [data-reveal] {
        transition: none;
    }

    ::view-transition-group(*),
    ::view-transition-old(*),
    ::view-transition-new(*) {
        animation: none !important;
    }
}

@media (forced-colors: active) {
    .le-back-to-top {
        border: var(--border-width-2) solid ButtonText;
        background: ButtonFace;
        box-shadow: none;
        color: ButtonText;
        forced-color-adjust: auto;
    }

    .le-back-to-top:is(:hover, :focus-visible) {
        border-color: Highlight;
        background: Highlight;
        color: HighlightText;
    }
}
}

@layer le.components {
.le-legal-document {
    position: relative;
    padding-block: clamp(var(--space-1000), 6vw, var(--space-2400));
}

.le-legal-document__header {
    display: grid;
    gap: var(--space-500);
    padding: clamp(var(--space-700), 5vw, var(--space-1400));
    border: var(--border-width-1) solid var(--le-marketing-border-strong);
    border-radius: var(--radius-xl);
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 34%, transparent), transparent 28rem),
        color-mix(in srgb, var(--le-marketing-surface-primary) 92%, transparent);
    box-shadow: var(--shadow-lg);
}

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

.le-legal-document__title {
    max-inline-size: 22ch;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-700), 7vw, var(--fs-1000));
    line-height: var(--lh-100);
}

.le-legal-document__metadata {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-300) var(--space-900);
}

.le-legal-document__metadata-item {
    display: grid;
    gap: var(--space-100);
}

.le-legal-document__metadata dt {
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
    font-weight: var(--fw-semi-bold);
    letter-spacing: var(--ls-wide);
    text-transform: uppercase;
}

.le-legal-document__metadata dd {
    color: var(--le-marketing-text-primary);
    font-weight: var(--fw-bold);
}

.le-legal-document__layout {
    display: grid;
    gap: var(--space-800);
    margin-block-start: clamp(var(--space-800), 5vw, var(--space-1400));
}

.le-legal-document__toc {
    align-self: start;
    padding: var(--space-600);
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-xl);
    background: color-mix(in srgb, var(--le-marketing-surface-primary) 88%, transparent);
}

.le-legal-document__toc-title {
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-500);
}

.le-legal-document__toc-list {
    display: grid;
    gap: var(--space-150);
    margin-block-start: var(--space-400);
    list-style: none;
}

.le-legal-document__toc-link {
    min-block-size: var(--size-800);
    display: flex;
    align-items: center;
    padding-inline: var(--space-250);
    border-radius: var(--radius-md);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
    line-height: var(--lh-300);
    text-decoration: none;
}

.le-legal-document__toc-link:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--le-accent-clr-primary) 12%, transparent);
    color: var(--le-marketing-text-primary);
    text-decoration: underline;
    text-underline-offset: var(--space-100);
}

.le-legal-document__body {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-600);
}

.le-legal-document__section {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-500);
    padding: clamp(var(--space-600), 4vw, var(--space-1000));
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-xl);
    background: color-mix(in srgb, var(--le-marketing-surface-primary) 92%, transparent);
}

.le-legal-document__section-title {
    max-inline-size: 34ch;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-500), 4vw, var(--fs-700));
    line-height: var(--lh-200);
}

.le-legal-document__section-content {
    display: grid;
    gap: var(--space-400);
    color: var(--le-marketing-text-secondary);
    line-height: var(--lh-500);
}

.le-legal-document__section-content a {
    color: var(--le-text-clr-link);
    overflow-wrap: anywhere;
    text-underline-offset: var(--space-100);
}

.le-legal-document__section-content a:is(:hover, :focus-visible) {
    color: var(--le-text-clr-link-hover);
}

.le-legal-document__list {
    display: grid;
    gap: var(--space-250);
    padding-inline-start: var(--space-700);
}

.le-legal-document__list li::marker {
    color: var(--le-marketing-text-accent);
}

.le-legal-document__table-region {
    overflow-x: auto;
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-lg);
}

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

.le-legal-document__table {
    inline-size: 100%;
    min-inline-size: 42rem;
    border-collapse: collapse;
    font-size: var(--fs-300);
    line-height: var(--lh-400);
}

.le-legal-document__table :is(th, td) {
    padding: var(--space-350) var(--space-400);
    border-block-end: var(--border-width-1) solid var(--le-marketing-border-muted);
    text-align: start;
    vertical-align: top;
}

.le-legal-document__table th {
    background: color-mix(in srgb, var(--le-marketing-bg-indigo-control) 36%, var(--le-marketing-surface-primary));
    color: var(--le-marketing-text-primary);
    font-weight: var(--fw-bold);
}

.le-legal-document__table td:first-child {
    inline-size: 34%;
    color: var(--le-marketing-text-primary);
    font-weight: var(--fw-semi-bold);
}

.le-legal-document__table tr:last-child td {
    border-block-end: 0;
}

.le-legal-document__sample {
    margin: 0;
    padding: var(--space-400) var(--space-500);
    border-inline-start: var(--border-width-2) solid var(--le-accent-clr-primary);
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
    background: color-mix(in srgb, var(--le-accent-clr-primary) 10%, var(--le-marketing-surface-elevated));
    color: var(--le-marketing-text-primary);
}

@media (min-width: 50em) {
    .le-legal-document__header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .le-legal-document__eyebrow,
    .le-legal-document__title {
        grid-column: 1;
    }

    .le-legal-document__metadata {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-content: center;
    }

    .le-legal-document__layout {
        grid-template-columns: minmax(13rem, 0.32fr) minmax(0, 1fr);
        align-items: start;
    }

    .le-legal-document__toc {
        position: sticky;
        inset-block-start: calc(var(--le-public-navbar-block-size, 4.5rem) + var(--space-500));
        max-block-size: calc(100vh - var(--le-public-navbar-block-size, 4.5rem) - var(--space-1000));
        overflow-y: auto;
    }
}

@media (forced-colors: active) {
    .le-legal-document__header,
    .le-legal-document__toc,
    .le-legal-document__section,
    .le-legal-document__table-region,
    .le-legal-document__sample {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
    }
}
}

@layer le.components {
.le-story-grid {
    min-inline-size: 0;
    display: grid;
    gap: clamp(var(--space-500), 3vw, var(--space-800));
}

.le-story-panel {
    position: relative;
    isolation: isolate;
    min-inline-size: 0;
    display: grid;
    align-content: start;
    gap: var(--space-500);
    overflow: hidden;
    padding: clamp(var(--space-600), 4vw, var(--space-1000));
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-2xl);
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--le-marketing-bg-cyan-deep) 28%, transparent), transparent 20rem),
        var(--le-marketing-surface-primary);
    box-shadow: var(--shadow-md);
}

.le-story-panel--accent {
    border-color: var(--le-marketing-border-strong);
    background:
        radial-gradient(circle at 92% 14%, color-mix(in srgb, var(--le-accent-clr-primary) 18%, transparent), transparent 22rem),
        linear-gradient(145deg, var(--le-marketing-surface-primary), color-mix(in srgb, var(--le-marketing-bg-indigo) 42%, var(--le-marketing-surface-primary)));
}

.le-story-panel--compact {
    gap: var(--space-400);
    padding: clamp(var(--space-500), 3vw, var(--space-800));
}

.le-story-panel--compact .le-story-panel__body {
    gap: var(--space-400);
}

.le-story-panel--compact .le-story-panel__title {
    font-size: clamp(var(--fs-700), 2.5vw, var(--fs-900));
}

.le-story-panel--compact .le-story-panel__visual {
    --le-media-min-block-size: clamp(11rem, 24vw, 16rem);
}

.le-story-panel--compact .le-story-panel__visual .le-media-frame__image {
    max-inline-size: 13rem;
    opacity: 0.92;
}

.le-story-panel__body {
    min-inline-size: 0;
    display: grid;
    align-content: center;
    gap: var(--space-500);
}

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

.le-story-panel__title {
    max-inline-size: 22ch;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-700), 3vw, var(--fs-1000));
    font-weight: var(--fw-bold);
}

.le-story-panel__copy {
    max-inline-size: 54rem;
    color: var(--le-marketing-text-secondary);
    font-size: var(--le-fs-body-lg);
}

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

.le-story-panel__step {
    min-inline-size: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: var(--space-300);
    padding: var(--space-400);
    border: var(--border-width-1) solid color-mix(in srgb, var(--le-marketing-border-muted) 70%, transparent);
    border-radius: var(--radius-xl);
    background: color-mix(in srgb, var(--le-marketing-bg-deep) 64%, transparent);
}

.le-story-panel__step-code {
    min-inline-size: var(--size-800);
    block-size: var(--size-800);
    display: grid;
    place-items: center;
    border: var(--border-width-1) solid var(--le-marketing-border-accent);
    border-radius: var(--radius-circle);
    color: var(--le-marketing-text-accent);
    font-size: var(--fs-100);
    font-weight: var(--fw-bold);
    font-variant-numeric: tabular-nums;
}

.le-story-panel__step > span:last-child {
    min-inline-size: 0;
    display: grid;
    gap: var(--space-100);
    color: var(--le-marketing-text-muted);
}

.le-story-panel__step strong {
    color: var(--le-marketing-text-primary);
    font-size: var(--fs-400);
}

.le-story-panel__actions {
    padding-block-start: var(--space-300);
}

.le-story-panel__visual {
    --le-media-min-block-size: clamp(15rem, 38vw, 28rem);

    min-inline-size: 0;
}

.le-story-panel__visual::before {
    content: "";
    position: absolute;
    inset: 16%;
    border-radius: var(--radius-circle);
    background: color-mix(in srgb, var(--le-accent-clr-primary) 22%, var(--le-marketing-bg-indigo-bright));
    filter: blur(64px);
    opacity: 0.34;
}

.le-story-panel__visual .le-media-frame__image {
    position: relative;
    max-inline-size: 34rem;
    block-size: auto;
    opacity: 0.72;
}

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

    .le-story-panel--wide {
        grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
        align-items: center;
    }
}

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

    .le-story-panel__eyebrow,
    .le-story-panel__title,
    .le-story-panel__copy,
    .le-story-panel__step,
    .le-story-panel__step strong {
        color: CanvasText;
    }
}
}

@layer le.components {
.le-video-showcase {
    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 8% 18%, color-mix(in srgb, var(--le-accent-clr-primary) 14%, transparent), transparent 22rem),
        var(--le-marketing-surface-elevated);
    box-shadow:
        var(--shadow-lg),
        0 0 54px color-mix(in srgb, var(--le-accent-clr-primary) 9%, transparent);
}

.le-video-showcase__content {
    min-inline-size: 0;
    display: grid;
    align-content: center;
    gap: var(--space-500);
    padding: clamp(var(--space-600), 4vw, var(--space-1200));
}

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

.le-video-showcase__title {
    max-inline-size: 18ch;
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-700), 3vw, var(--fs-1000));
    font-weight: var(--fw-bold);
}

.le-video-showcase__copy {
    max-inline-size: 40rem;
    color: var(--le-marketing-text-secondary);
    font-size: var(--le-fs-body-lg);
}

.le-video-showcase__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-150);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
    font-weight: var(--fw-semi-bold);
}

.le-video-showcase__media {
    min-inline-size: 0;
    display: grid;
    align-content: center;
    gap: var(--space-200);
    padding: clamp(var(--space-300), 2.5vw, var(--space-600));
    border-block-start: var(--border-width-1) solid var(--le-marketing-border-muted);
    background: color-mix(in srgb, var(--le-marketing-bg-deep) 88%, transparent);
}

.le-video-showcase__video {
    inline-size: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    border: var(--border-width-1) solid var(--le-marketing-border-muted);
    border-radius: var(--radius-xl);
    background: var(--le-marketing-bg-deep);
    box-shadow: var(--shadow-md);
    object-fit: contain;
}

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

.le-video-showcase__caption {
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
    text-align: center;
}

@media (min-width: 62em) {
    .le-video-showcase {
        grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
        align-items: stretch;
    }

    .le-video-showcase__media {
        border-block-start: 0;
        border-inline-start: var(--border-width-1) solid var(--le-marketing-border-muted);
    }
}

@media (forced-colors: active) {
    .le-video-showcase,
    .le-video-showcase__video {
        border-color: CanvasText;
        background: Canvas;
        box-shadow: none;
    }

    .le-video-showcase__eyebrow,
    .le-video-showcase__title,
    .le-video-showcase__copy,
    .le-video-showcase__meta,
    .le-video-showcase__caption {
        color: CanvasText;
    }
}
}

@layer le.components {
.le-company-presentation,
.le-company-future {
    position: relative;
    isolation: isolate;
    overflow: clip;
}

.le-company-presentation > .le-container,
.le-company-future > .le-container {
    position: relative;
    z-index: var(--le-z-layer-raised);
}

.le-company-presentation::before,
.le-company-future::before {
    content: "";
    position: absolute;
    z-index: var(--le-z-layer-base);
    pointer-events: none;
}

.le-company-future__content {
    min-inline-size: 0;
    display: grid;
    align-content: start;
    gap: var(--space-500);
}

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

.le-company-future__title {
    color: var(--le-marketing-text-primary);
    font-size: clamp(var(--fs-800), 3.5vw, var(--fs-1000));
    font-weight: var(--fw-bold);
    text-wrap: balance;
}

.le-company-future__copy {
    max-inline-size: 48rem;
    color: var(--le-marketing-text-secondary);
    font-size: var(--le-fs-body-lg);
    text-wrap: pretty;
}

.le-company-keywords {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-300) clamp(var(--space-500), 2.5vw, var(--space-800));
    margin-block-start: var(--space-300);
    list-style: none;
}

.le-company-keywords__item {
    display: inline-flex;
    align-items: center;
    gap: var(--space-250);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-300);
    font-weight: var(--fw-medium);
    line-height: var(--lh-300);
}

.le-company-keywords__item::before {
    content: "";
    inline-size: var(--size-150);
    block-size: var(--size-150);
    flex: 0 0 auto;
    border-radius: var(--radius-circle);
    background: var(--le-accent-clr-primary);
    box-shadow: 0 0 var(--space-300) color-mix(in srgb, var(--le-accent-clr-primary) 54%, transparent);
}

.le-company-presentation::before {
    inset: 0 -8%;
    background:
        radial-gradient(
            ellipse at 70% 50%,
            color-mix(in srgb, var(--le-accent-clr-primary) 13%, transparent),
            transparent 44%
        ),
        linear-gradient(
            110deg,
            transparent 8%,
            color-mix(in srgb, var(--le-marketing-bg-deep) 26%, transparent) 48%,
            transparent 92%
        );
    opacity: 0.78;
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 14%, black 86%, transparent);
    mask-image: linear-gradient(to bottom, transparent, black 14%, black 86%, transparent);
}

.le-company-presentation .le-video-showcase {
    min-inline-size: 0;
    display: grid;
    gap: clamp(var(--space-1000), 7vw, var(--space-2400));
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.le-company-presentation .le-video-showcase__content {
    align-content: center;
    gap: var(--space-500);
    padding: 0;
}

.le-company-presentation .le-video-showcase__title {
    max-inline-size: 18ch;
    font-size: clamp(var(--fs-800), 3.5vw, var(--fs-1000));
    text-wrap: balance;
}

.le-company-presentation .le-video-showcase__copy {
    text-wrap: pretty;
}

.le-company-presentation .le-video-showcase__media {
    min-inline-size: 0;
    align-content: center;
    gap: var(--space-300);
    padding: 0;
    border: 0;
    background: transparent;
}

.le-company-presentation .le-video-showcase__video {
    border: 0;
    border-radius: 0;
    background: var(--le-marketing-bg-deep);
    box-shadow: none;
}

.le-company-presentation .le-video-showcase__video:focus-visible {
    outline-offset: var(--space-200);
}

.le-company-presentation .le-video-showcase__caption {
    text-align: start;
}

.le-company-future {
    --le-company-future-art-opacity: 0.18;
}

.le-company-future::before {
    inset: -10% -8%;
    background:
        radial-gradient(
            ellipse at 86% 52%,
            color-mix(in srgb, var(--le-accent-clr-primary) 24%, transparent),
            transparent 42%
        ),
        radial-gradient(
            ellipse at 50% 88%,
            color-mix(in srgb, var(--le-marketing-bg-indigo-bright) 22%, transparent),
            transparent 48%
        );
    opacity: 0.82;
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 15%, black 84%, transparent);
    mask-image: linear-gradient(to bottom, transparent, black 15%, black 84%, transparent);
}

.le-company-future__layout {
    min-block-size: clamp(30rem, 52vw, 44rem);
    display: grid;
    align-items: center;
}

.le-company-future__content {
    position: relative;
    z-index: var(--le-z-layer-raised);
    max-inline-size: 58rem;
}

.le-company-future__title {
    max-inline-size: 18ch;
}

.le-company-future__copy {
    max-inline-size: 52rem;
}

.le-company-future__keywords {
    max-inline-size: 52rem;
}

.le-company-future__actions {
    padding-block-start: var(--space-500);
}

.le-company-future__visual {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: clamp(-18rem, -18vw, -7rem);
    z-index: var(--le-z-layer-base);
    inline-size: min(46rem, 110vw);
    opacity: var(--le-company-future-art-opacity);
    pointer-events: none;
    transform: translateY(-50%);
    -webkit-mask-image: linear-gradient(to right, transparent, black 34%);
    mask-image: linear-gradient(to right, transparent, black 34%);
}

.le-company-future__image {
    inline-size: 100%;
    block-size: auto;
    display: block;
}

@media (min-width: 50em) {
    .le-company-future {
        --le-company-future-art-opacity: 0.32;
    }

    .le-company-future__content {
        max-inline-size: min(57%, 58rem);
    }

    .le-company-future__visual {
        inset-inline-end: clamp(-7rem, -5vw, -2rem);
        inline-size: min(54vw, 58rem);
    }
}

@media (min-width: 62em) {
    .le-company-presentation .le-video-showcase {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        align-items: center;
    }

    .le-company-presentation .le-video-showcase__content {
        grid-column: 1 / span 4;
    }

    .le-company-presentation .le-video-showcase__media {
        grid-column: 5 / -1;
        border: 0;
    }
}

@media (max-width: 49.999em) {
    .le-company-presentation::before,
    .le-company-future::before {
        inset-inline: -35%;
    }

    .le-company-future__layout {
        min-block-size: 0;
    }

    .le-company-future__visual {
        inset-inline-end: -52%;
        inline-size: min(42rem, 150vw);
        opacity: 0.11;
    }
}

:root[data-theme="light"] .le-company-presentation::before,
:root[data-theme="light"] .le-company-future::before {
    opacity: 0.46;
}

:root[data-theme="light"] .le-company-future {
    --le-company-future-art-opacity: 0.18;
}

@media (forced-colors: active) {
    .le-company-presentation::before,
    .le-company-future::before,
    .le-company-future__visual {
        display: none;
    }

    .le-company-future__eyebrow,
    .le-company-future__title,
    .le-company-future__copy,
    .le-company-keywords__item {
        color: CanvasText;
    }

    .le-company-keywords__item::before {
        background: CanvasText;
        box-shadow: none;
    }

    .le-company-presentation .le-video-showcase__video {
        border: var(--border-width-1) solid CanvasText;
        background: Canvas;
    }
}

@media (prefers-reduced-motion: reduce) {
    .le-company-presentation::before,
    .le-company-future::before,
    .le-company-future__visual {
        animation: none;
    }
}
}

@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 .le-brand__text {
    overflow: visible;
}

.le-site-footer__trademark {
    margin-inline-start: 0.12em;
    color: var(--le-accent-clr-text);
    font-size: 0.75em;
    font-weight: var(--fw-bold);
    line-height: 0;
    vertical-align: super;
}

.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-500);
    block-size: var(--size-500);
    flex: 0 0 var(--size-500);
    margin-block-start: var(--space-50);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: var(--le-accent-clr-primary);
}

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

.le-site-footer__copyright {
    padding-block-start: var(--space-500);
    border-block-start: var(--border-width-1) solid var(--le-border-clr-subtle);
    color: var(--le-marketing-text-muted);
    font-size: var(--fs-200);
}

@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(2, minmax(9rem, 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;
    }

    .le-site-footer__copyright {
        grid-column: 1 / -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;
    /* A shared fluid gutter keeps content comfortable at narrow widths and browser zoom. */
    --le-container-padding: max(
        clamp(var(--space-600), 4vw, var(--space-1600)),
        env(safe-area-inset-left, 0px),
        env(safe-area-inset-right, 0px)
    );

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

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

.le-icon--arrow-up-right {
    position: relative;
}

.le-icon--arrow-up-right::before,
.le-icon--arrow-up-right::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.le-icon--arrow-up-right::before {
    inset-block-start: 50%;
    inset-inline-start: 16%;
    inline-size: 68%;
    border-block-start: var(--border-width-2) solid currentColor;
    transform: translateY(-50%) rotate(-45deg);
    transform-origin: center;
}

.le-icon--arrow-up-right::after {
    inset-block-start: 16%;
    inset-inline-end: 16%;
    inline-size: 40%;
    block-size: 40%;
    border-block-start: var(--border-width-2) solid currentColor;
    border-inline-end: var(--border-width-2) solid currentColor;
}
}

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

/* Keep the cross-document opt-in unlayered and after all imports. */
@view-transition {
    navigation: auto;
}
