@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
:root {
  --color-bg-base: var(--primitive-neutral-50);
  --color-bg-subtle: var(--primitive-neutral-100);
  --color-bg-muted: var(--primitive-neutral-200);
  --color-bg-inverse: var(--primitive-neutral-950);
  --color-surface: oklch(100% 0 0);
  --color-surface-1: var(--primitive-neutral-50);
  --color-surface-2: var(--primitive-neutral-100);
  --color-surface-3: var(--primitive-neutral-200);
  --color-surface-raised: var(--primitive-neutral-50);
  --color-surface-overlay: var(--primitive-neutral-50);
  --color-border-subtle: var(--primitive-neutral-200);
  --color-border-light: var(--primitive-neutral-50);
  --color-border-default: var(--primitive-neutral-200);
  --color-border-strong: var(--primitive-neutral-300);
  --color-border-focus: var(--primitive-primary-400);
  --color-shadow-ghost: 0px 6px 34px rgba(215, 216, 222, 0.41);
  --color-text-primary: var(--primitive-neutral-900);
  --color-text-secondary: var(--primitive-neutral-700);
  --color-text-muted: var(--primitive-neutral-500);
  --color-text-disabled: var(--primitive-neutral-400);
  --color-text-inverse: var(--primitive-neutral-50);
  --color-text-on-accent: var(--primitive-neutral-50);
  --color-text-white: oklch(100% 0 0);
  --color-heading-primary: var(--primitive-neutral-900);
  --color-heading-muted: var(--primitive-neutral-700);
  --color-interactive-default: var(--primitive-primary-600);
  --color-interactive-hover: var(--primitive-primary-700);
  --color-interactive-active: var(--primitive-primary-800);
  --color-interactive-disabled: var(--primitive-neutral-400);
  --color-focus-ring: var(--primitive-primary-500);
  --color-focus-ring-offset: var(--primitive-neutral-50);
  --color-brand-primary: var(--primitive-primary-500);
  --color-brand-secondary: var(--primitive-secondary-500);
  --color-brand-accent: var(--primitive-accent-500);
  --color-status-success-bg: var(--primitive-success-50);
  --color-status-success-text: var(--primitive-success-800);
  --color-status-success-border: var(--primitive-success-300);
  --color-status-success-icon: var(--primitive-success-600);
  --color-status-warning-bg: var(--primitive-warning-50);
  --color-status-warning-text: var(--primitive-warning-900);
  --color-status-warning-border: var(--primitive-warning-300);
  --color-status-warning-icon: var(--primitive-warning-600);
  --color-status-danger-bg: var(--primitive-danger-50);
  --color-status-danger-text: var(--primitive-danger-800);
  --color-status-danger-border: var(--primitive-danger-300);
  --color-status-danger-icon: var(--primitive-danger-600);
  --color-status-info-bg: var(--primitive-info-50);
  --color-status-info-text: var(--primitive-info-800);
  --color-status-info-border: var(--primitive-info-300);
  --color-status-info-icon: var(--primitive-info-600);
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}

:root[data-theme=dark] {
  --color-bg-base: var(--primitive-neutral-750);
  --color-bg-subtle: var(--primitive-neutral-800);
  --color-bg-muted: var(--primitive-neutral-800);
  --color-bg-inverse: var(--primitive-neutral-50);
  --color-surface: var(--primitive-neutral-850);
  --color-surface-1: var(--primitive-neutral-900);
  --color-surface-2: var(--primitive-neutral-800);
  --color-surface-3: var(--primitive-neutral-700);
  --color-surface-raised: var(--primitive-neutral-800);
  --color-surface-overlay: var(--primitive-neutral-900);
  --color-border-subtle: var(--primitive-neutral-800);
  --color-border-light: var(--primitive-neutral-700);
  --color-border-default: var(--primitive-neutral-750);
  --color-border-strong: var(--primitive-neutral-500);
  --color-border-focus: var(--primitive-primary-600);
  --color-shadow-ghost: 0px 6px 34px rgba(39, 39, 39, 0.41);
  --color-text-primary: var(--primitive-neutral-50);
  --color-text-secondary: var(--primitive-neutral-300);
  --color-text-muted: var(--primitive-neutral-500);
  --color-text-disabled: var(--primitive-neutral-600);
  --color-text-inverse: var(--primitive-neutral-950);
  --color-text-on-accent: var(--primitive-neutral-50);
  --color-heading-primary: var(--primitive-neutral-100);
  --color-heading-muted: var(--primitive-neutral-400);
  --color-interactive-default: var(--primitive-primary-400);
  --color-interactive-hover: var(--primitive-primary-300);
  --color-interactive-active: var(--primitive-primary-200);
  --color-interactive-disabled: var(--primitive-neutral-600);
  --color-focus-ring: var(--primitive-primary-400);
  --color-focus-ring-offset: var(--primitive-neutral-950);
  --color-brand-primary: var(--primitive-primary-400);
  --color-brand-secondary: var(--primitive-secondary-400);
  --color-brand-accent: var(--primitive-accent-400);
  --color-status-success-bg: var(--primitive-success-950);
  --color-status-success-text: var(--primitive-success-300);
  --color-status-success-border: var(--primitive-success-700);
  --color-status-success-icon: var(--primitive-success-400);
  --color-status-warning-bg: var(--primitive-warning-950);
  --color-status-warning-text: var(--primitive-warning-300);
  --color-status-warning-border: var(--primitive-warning-700);
  --color-status-warning-icon: var(--primitive-warning-400);
  --color-status-danger-bg: var(--primitive-danger-950);
  --color-status-danger-text: var(--primitive-danger-300);
  --color-status-danger-border: var(--primitive-danger-700);
  --color-status-danger-icon: var(--primitive-danger-400);
  --color-status-info-bg: var(--primitive-info-950);
  --color-status-info-text: var(--primitive-info-300);
  --color-status-info-border: var(--primitive-info-700);
  --color-status-info-icon: var(--primitive-info-400);
}

:root.dark,
html.dark {
  --color-bg-base: var(--primitive-neutral-750);
  --color-bg-subtle: var(--primitive-neutral-800);
  --color-bg-muted: var(--primitive-neutral-800);
  --color-bg-inverse: var(--primitive-neutral-50);
  --color-surface: var(--primitive-neutral-850);
  --color-surface-1: var(--primitive-neutral-900);
  --color-surface-2: var(--primitive-neutral-800);
  --color-surface-3: var(--primitive-neutral-700);
  --color-surface-raised: var(--primitive-neutral-800);
  --color-surface-overlay: var(--primitive-neutral-900);
  --color-border-subtle: var(--primitive-neutral-800);
  --color-border-light: var(--primitive-neutral-700);
  --color-border-default: var(--primitive-neutral-750);
  --color-border-strong: var(--primitive-neutral-500);
  --color-border-focus: var(--primitive-primary-600);
  --color-shadow-ghost: 0px 6px 34px rgba(39, 39, 39, 0.41);
  --color-text-primary: var(--primitive-neutral-50);
  --color-text-secondary: var(--primitive-neutral-300);
  --color-text-muted: var(--primitive-neutral-500);
  --color-text-disabled: var(--primitive-neutral-600);
  --color-text-inverse: var(--primitive-neutral-950);
  --color-text-on-accent: var(--primitive-neutral-50);
  --color-heading-primary: var(--primitive-neutral-100);
  --color-heading-muted: var(--primitive-neutral-400);
  --color-interactive-default: var(--primitive-primary-400);
  --color-interactive-hover: var(--primitive-primary-300);
  --color-interactive-active: var(--primitive-primary-200);
  --color-interactive-disabled: var(--primitive-neutral-600);
  --color-focus-ring: var(--primitive-primary-400);
  --color-focus-ring-offset: var(--primitive-neutral-950);
  --color-brand-primary: var(--primitive-primary-400);
  --color-brand-secondary: var(--primitive-secondary-400);
  --color-brand-accent: var(--primitive-accent-400);
  --color-status-success-bg: var(--primitive-success-950);
  --color-status-success-text: var(--primitive-success-300);
  --color-status-success-border: var(--primitive-success-700);
  --color-status-success-icon: var(--primitive-success-400);
  --color-status-warning-bg: var(--primitive-warning-950);
  --color-status-warning-text: var(--primitive-warning-300);
  --color-status-warning-border: var(--primitive-warning-700);
  --color-status-warning-icon: var(--primitive-warning-400);
  --color-status-danger-bg: var(--primitive-danger-950);
  --color-status-danger-text: var(--primitive-danger-300);
  --color-status-danger-border: var(--primitive-danger-700);
  --color-status-danger-icon: var(--primitive-danger-400);
  --color-status-info-bg: var(--primitive-info-950);
  --color-status-info-text: var(--primitive-info-300);
  --color-status-info-border: var(--primitive-info-700);
  --color-status-info-icon: var(--primitive-info-400);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]):not(.light) {
    --color-bg-base: var(--primitive-neutral-750);
    --color-bg-subtle: var(--primitive-neutral-800);
    --color-bg-muted: var(--primitive-neutral-800);
    --color-bg-inverse: var(--primitive-neutral-50);
    --color-surface: var(--primitive-neutral-850);
    --color-surface-1: var(--primitive-neutral-900);
    --color-surface-2: var(--primitive-neutral-800);
    --color-surface-3: var(--primitive-neutral-700);
    --color-surface-raised: var(--primitive-neutral-800);
    --color-surface-overlay: var(--primitive-neutral-900);
    --color-border-subtle: var(--primitive-neutral-800);
    --color-border-light: var(--primitive-neutral-700);
    --color-border-default: var(--primitive-neutral-750);
    --color-border-strong: var(--primitive-neutral-500);
    --color-border-focus: var(--primitive-primary-600);
    --color-shadow-ghost: 0px 6px 34px rgba(39, 39, 39, 0.41);
    --color-text-primary: var(--primitive-neutral-50);
    --color-text-secondary: var(--primitive-neutral-300);
    --color-text-muted: var(--primitive-neutral-500);
    --color-text-disabled: var(--primitive-neutral-600);
    --color-text-inverse: var(--primitive-neutral-950);
    --color-text-on-accent: var(--primitive-neutral-50);
    --color-heading-primary: var(--primitive-neutral-100);
    --color-heading-muted: var(--primitive-neutral-400);
    --color-interactive-default: var(--primitive-primary-400);
    --color-interactive-hover: var(--primitive-primary-300);
    --color-interactive-active: var(--primitive-primary-200);
    --color-interactive-disabled: var(--primitive-neutral-600);
    --color-focus-ring: var(--primitive-primary-400);
    --color-focus-ring-offset: var(--primitive-neutral-950);
    --color-brand-primary: var(--primitive-primary-400);
    --color-brand-secondary: var(--primitive-secondary-400);
    --color-brand-accent: var(--primitive-accent-400);
    --color-status-success-bg: var(--primitive-success-950);
    --color-status-success-text: var(--primitive-success-300);
    --color-status-success-border: var(--primitive-success-700);
    --color-status-success-icon: var(--primitive-success-400);
    --color-status-warning-bg: var(--primitive-warning-950);
    --color-status-warning-text: var(--primitive-warning-300);
    --color-status-warning-border: var(--primitive-warning-700);
    --color-status-warning-icon: var(--primitive-warning-400);
    --color-status-danger-bg: var(--primitive-danger-950);
    --color-status-danger-text: var(--primitive-danger-300);
    --color-status-danger-border: var(--primitive-danger-700);
    --color-status-danger-icon: var(--primitive-danger-400);
    --color-status-info-bg: var(--primitive-info-950);
    --color-status-info-text: var(--primitive-info-300);
    --color-status-info-border: var(--primitive-info-700);
    --color-status-info-icon: var(--primitive-info-400);
  }
}
:root[data-theme=light],
:root.light,
html.light {
  color-scheme: light;
}

:root[data-theme=dark],
:root.dark,
html.dark {
  color-scheme: dark;
}

:root {
  --primitive-neutral-50: hsl(220 20% 97%);
  --primitive-neutral-100: hsl(220 17% 93%);
  --primitive-neutral-200: hsl(220 15% 87%);
  --primitive-neutral-300: hsl(220 13% 78%);
  --primitive-neutral-400: hsl(220 11% 66%);
  --primitive-neutral-500: hsl(220 10% 54%);
  --primitive-neutral-600: hsl(220 10% 44%);
  --primitive-neutral-700: hsl(220 9% 35%);
  --primitive-neutral-750: hsl(220 8.5% 30.5%);
  --primitive-neutral-800: hsl(220 8% 26%);
  --primitive-neutral-850: hsl(220 7.5% 21.5%);
  --primitive-neutral-900: hsl(220 7% 17%);
  --primitive-neutral-950: hsl(220 6% 11%);
  --primitive-primary-50: hsl(230 80% 97%);
  --primitive-primary-100: hsl(230 75% 93%);
  --primitive-primary-200: hsl(230 72% 87%);
  --primitive-primary-300: hsl(230 70% 78%);
  --primitive-primary-400: hsl(230 74% 65%);
  --primitive-primary-500: hsl(230 80% 52%);
  --primitive-primary-600: hsl(230 76% 43%);
  --primitive-primary-700: hsl(230 72% 35%);
  --primitive-primary-800: hsl(230 66% 26%);
  --primitive-primary-900: hsl(230 60% 17%);
  --primitive-primary-950: hsl(230 54% 11%);
  --primitive-secondary-50: hsl(270 80% 97%);
  --primitive-secondary-100: hsl(270 72% 93%);
  --primitive-secondary-200: hsl(270 68% 87%);
  --primitive-secondary-300: hsl(270 68% 78%);
  --primitive-secondary-400: hsl(270 70% 65%);
  --primitive-secondary-500: hsl(270 72% 52%);
  --primitive-secondary-600: hsl(270 68% 43%);
  --primitive-secondary-700: hsl(270 64% 34%);
  --primitive-secondary-800: hsl(270 58% 25%);
  --primitive-secondary-900: hsl(270 50% 17%);
  --primitive-secondary-950: hsl(270 44% 11%);
  --primitive-accent-50: hsl(20 90% 97%);
  --primitive-accent-100: hsl(20 85% 92%);
  --primitive-accent-200: hsl(20 82% 85%);
  --primitive-accent-300: hsl(18 84% 76%);
  --primitive-accent-400: hsl(18 82% 65%);
  --primitive-accent-500: hsl(18 80% 58%);
  --primitive-accent-600: hsl(16 76% 48%);
  --primitive-accent-700: hsl(15 70% 39%);
  --primitive-accent-800: hsl(14 63% 30%);
  --primitive-accent-900: hsl(13 54% 20%);
  --primitive-accent-950: hsl(12 46% 13%);
  --primitive-success-50: hsl(142 55% 97%);
  --primitive-success-100: hsl(142 62% 92%);
  --primitive-success-200: hsl(142 66% 85%);
  --primitive-success-300: hsl(142 68% 75%);
  --primitive-success-400: hsl(142 66% 62%);
  --primitive-success-500: hsl(142 70% 48%);
  --primitive-success-600: hsl(142 66% 39%);
  --primitive-success-700: hsl(142 62% 31%);
  --primitive-success-800: hsl(142 57% 23%);
  --primitive-success-900: hsl(142 50% 15%);
  --primitive-success-950: hsl(142 44% 10%);
  --primitive-warning-50: hsl(48 92% 97%);
  --primitive-warning-100: hsl(47 88% 92%);
  --primitive-warning-200: hsl(46 90% 83%);
  --primitive-warning-300: hsl(44 92% 75%);
  --primitive-warning-400: hsl(43 94% 70%);
  --primitive-warning-500: hsl(42 96% 63%);
  --primitive-warning-600: hsl(40 86% 52%);
  --primitive-warning-700: hsl(38 80% 42%);
  --primitive-warning-800: hsl(36 74% 32%);
  --primitive-warning-900: hsl(34 65% 22%);
  --primitive-warning-950: hsl(32 56% 14%);
  --primitive-danger-50: hsl(5 90% 97%);
  --primitive-danger-100: hsl(5 82% 93%);
  --primitive-danger-200: hsl(4 84% 86%);
  --primitive-danger-300: hsl(3 86% 77%);
  --primitive-danger-400: hsl(2 84% 65%);
  --primitive-danger-500: hsl(1 80% 53%);
  --primitive-danger-600: hsl(0 76% 44%);
  --primitive-danger-700: hsl(0 72% 35%);
  --primitive-danger-800: hsl(0 66% 26%);
  --primitive-danger-900: hsl(0 58% 18%);
  --primitive-danger-950: hsl(0 50% 12%);
  --primitive-info-50: hsl(200 58% 97%);
  --primitive-info-100: hsl(200 66% 93%);
  --primitive-info-200: hsl(200 72% 87%);
  --primitive-info-300: hsl(200 75% 78%);
  --primitive-info-400: hsl(200 78% 66%);
  --primitive-info-500: hsl(200 80% 52%);
  --primitive-info-600: hsl(200 75% 42%);
  --primitive-info-700: hsl(200 70% 34%);
  --primitive-info-800: hsl(200 64% 25%);
  --primitive-info-900: hsl(200 57% 17%);
  --primitive-info-950: hsl(200 50% 11%);
}

@supports (color: oklch(0% 0 0deg)) {
  :root {
    --primitive-neutral-50: oklch(97% 0.008 250);
    --primitive-neutral-100: oklch(94% 0.010 250);
    --primitive-neutral-200: oklch(88% 0.012 250);
    --primitive-neutral-300: oklch(79% 0.014 250);
    --primitive-neutral-400: oklch(67% 0.014 250);
    --primitive-neutral-500: oklch(56% 0.014 250);
    --primitive-neutral-600: oklch(46% 0.014 250);
    --primitive-neutral-700: oklch(37% 0.012 250);
    --primitive-neutral-750: oklch(32% 0.011 250);
    --primitive-neutral-800: oklch(27% 0.010 250);
    --primitive-neutral-850: oklch(22.5% 0.009 250);
    --primitive-neutral-900: oklch(18% 0.008 250);
    --primitive-neutral-950: oklch(12% 0.006 250);
    --primitive-primary-50: oklch(97% 0.020 250);
    --primitive-primary-100: oklch(94% 0.040 250);
    --primitive-primary-200: oklch(88% 0.080 250);
    --primitive-primary-300: oklch(79% 0.140 250);
    --primitive-primary-400: oklch(67% 0.200 250);
    --primitive-primary-500: oklch(56% 0.240 250);
    --primitive-primary-600: oklch(47% 0.220 250);
    --primitive-primary-700: oklch(38% 0.190 250);
    --primitive-primary-800: oklch(28% 0.150 250);
    --primitive-primary-900: oklch(18% 0.110 250);
    --primitive-primary-950: oklch(12% 0.075 250);
    --primitive-secondary-50: oklch(97% 0.020 290);
    --primitive-secondary-100: oklch(94% 0.040 290);
    --primitive-secondary-200: oklch(88% 0.080 290);
    --primitive-secondary-300: oklch(79% 0.140 290);
    --primitive-secondary-400: oklch(67% 0.195 290);
    --primitive-secondary-500: oklch(56% 0.220 290);
    --primitive-secondary-600: oklch(47% 0.200 290);
    --primitive-secondary-700: oklch(38% 0.175 290);
    --primitive-secondary-800: oklch(28% 0.135 290);
    --primitive-secondary-900: oklch(18% 0.095 290);
    --primitive-secondary-950: oklch(12% 0.065 290);
    --primitive-accent-50: oklch(97% 0.020 30);
    --primitive-accent-100: oklch(94% 0.045 30);
    --primitive-accent-200: oklch(88% 0.095 30);
    --primitive-accent-300: oklch(79% 0.155 30);
    --primitive-accent-400: oklch(68% 0.200 30);
    --primitive-accent-500: oklch(62% 0.220 30);
    --primitive-accent-600: oklch(52% 0.195 30);
    --primitive-accent-700: oklch(43% 0.170 30);
    --primitive-accent-800: oklch(33% 0.130 30);
    --primitive-accent-900: oklch(22% 0.095 30);
    --primitive-accent-950: oklch(14% 0.065 30);
    --primitive-success-50: oklch(97% 0.020 145);
    --primitive-success-100: oklch(94% 0.050 145);
    --primitive-success-200: oklch(88% 0.100 145);
    --primitive-success-300: oklch(79% 0.150 145);
    --primitive-success-400: oklch(67% 0.180 145);
    --primitive-success-500: oklch(56% 0.200 145);
    --primitive-success-600: oklch(46% 0.175 145);
    --primitive-success-700: oklch(37% 0.155 145);
    --primitive-success-800: oklch(27% 0.115 145);
    --primitive-success-900: oklch(18% 0.085 145);
    --primitive-success-950: oklch(12% 0.058 145);
    --primitive-warning-50: oklch(97% 0.020 65);
    --primitive-warning-100: oklch(94% 0.055 65);
    --primitive-warning-200: oklch(88% 0.115 65);
    --primitive-warning-300: oklch(80% 0.160 65);
    --primitive-warning-400: oklch(75% 0.180 65);
    --primitive-warning-500: oklch(70% 0.200 65);
    --primitive-warning-600: oklch(60% 0.175 65);
    --primitive-warning-700: oklch(49% 0.155 65);
    --primitive-warning-800: oklch(37% 0.130 65);
    --primitive-warning-900: oklch(25% 0.095 65);
    --primitive-warning-950: oklch(15% 0.065 65);
    --primitive-danger-50: oklch(97% 0.018 22);
    --primitive-danger-100: oklch(94% 0.038 22);
    --primitive-danger-200: oklch(88% 0.078 22);
    --primitive-danger-300: oklch(79% 0.138 22);
    --primitive-danger-400: oklch(67% 0.195 22);
    --primitive-danger-500: oklch(56% 0.235 22);
    --primitive-danger-600: oklch(46% 0.215 22);
    --primitive-danger-700: oklch(37% 0.190 22);
    --primitive-danger-800: oklch(27% 0.150 22);
    --primitive-danger-900: oklch(18% 0.110 22);
    --primitive-danger-950: oklch(12% 0.075 22);
    --primitive-info-50: oklch(97% 0.020 215);
    --primitive-info-100: oklch(94% 0.042 215);
    --primitive-info-200: oklch(88% 0.085 215);
    --primitive-info-300: oklch(79% 0.145 215);
    --primitive-info-400: oklch(67% 0.200 215);
    --primitive-info-500: oklch(56% 0.220 215);
    --primitive-info-600: oklch(46% 0.198 215);
    --primitive-info-700: oklch(37% 0.172 215);
    --primitive-info-800: oklch(27% 0.132 215);
    --primitive-info-900: oklch(18% 0.095 215);
    --primitive-info-950: oklch(12% 0.065 215);
  }
}
:root {
  --btn-bg: var(--color-brand-primary);
  --btn-bg-hover: var(--color-interactive-hover);
  --btn-bg-active: var(--color-interactive-active);
  --btn-bg-disabled: var(--color-interactive-disabled);
  --btn-text: var(--color-text-inverse);
  --btn-text-disabled: var(--color-text-disabled);
  --btn-border: var(--color-brand-primary);
  --btn-border-hover: var(--color-interactive-hover);
  --btn-border-disabled: var(--color-interactive-disabled);
  --btn-radius: 0.375rem;
  --btn-shadow: none;
  --btn-shadow-hover: 0 2px 8px color-mix(in oklch, var(--color-brand-primary) 30%, transparent);
  --btn-secondary-bg: var(--color-brand-secondary);
  --btn-secondary-bg-hover: var(--primitive-secondary-600);
  --btn-secondary-bg-active: var(--primitive-secondary-700);
  --btn-secondary-text: var(--color-text-inverse);
  --btn-secondary-border: var(--color-brand-secondary);
  --btn-accent-bg: var(--color-brand-accent);
  --btn-accent-bg-hover: var(--primitive-accent-600);
  --btn-accent-bg-active: var(--primitive-accent-700);
  --btn-accent-text: var(--color-text-inverse);
  --btn-accent-border: var(--color-brand-accent);
  --btn-ghost-bg: transparent;
  --btn-ghost-bg-hover: var(--color-bg-subtle);
  --btn-ghost-text: var(--color-interactive-default);
  --btn-ghost-border: var(--color-border-default);
  --btn-ghost-border-hover: var(--color-interactive-default);
  --btn-danger-bg: var(--color-status-danger-icon);
  --btn-danger-bg-hover: var(--primitive-danger-700);
  --btn-danger-bg-active: var(--primitive-danger-800);
  --btn-danger-text: var(--color-text-inverse);
  --btn-danger-border: var(--color-status-danger-icon);
  --card-bg: var(--color-surface);
  --card-bg-hover: var(--color-surface-1);
  --card-border: var(--color-border-light);
  --card-border-hover: var(--color-border-default);
  --card-radius: 0.5rem;
  --card-shadow: 0 1px 3px color-mix(in oklch, var(--color-text-primary) 10%, transparent);
  --card-shadow-hover: 0 4px 12px color-mix(in oklch, var(--color-text-primary) 15%, transparent);
  --card-text: var(--color-text-primary);
  --card-text-muted: var(--color-text-muted);
  --card-heading: var(--color-heading-primary);
  --card-padding: 1.5rem;
  --input-bg: var(--color-surface-1);
  --input-bg-focus: var(--color-surface-1);
  --input-bg-disabled: var(--color-bg-subtle);
  --input-border: var(--color-border-default);
  --input-border-hover: var(--color-border-strong);
  --input-border-focus: var(--color-border-focus);
  --input-border-error: var(--color-status-danger-border);
  --input-text: var(--color-text-primary);
  --input-placeholder: var(--color-text-muted);
  --input-text-disabled: var(--color-text-disabled);
  --input-radius: 0.375rem;
  --input-shadow-focus: 0 0 0 3px color-mix(in oklch, var(--color-focus-ring) 20%, transparent);
  --label-text: var(--color-text-secondary);
  --label-text-error: var(--color-status-danger-text);
  --badge-radius: 9999px;
  --badge-primary-bg: var(--primitive-primary-100);
  --badge-primary-text: var(--primitive-primary-800);
  --badge-primary-border: var(--primitive-primary-200);
  --badge-secondary-bg: var(--primitive-secondary-100);
  --badge-secondary-text: var(--primitive-secondary-800);
  --badge-accent-bg: var(--primitive-accent-100);
  --badge-accent-text: var(--primitive-accent-800);
  --badge-success-bg: var(--color-status-success-bg);
  --badge-success-text: var(--color-status-success-text);
  --badge-success-border: var(--color-status-success-border);
  --badge-warning-bg: var(--color-status-warning-bg);
  --badge-warning-text: var(--color-status-warning-text);
  --badge-warning-border: var(--color-status-warning-border);
  --badge-danger-bg: var(--color-status-danger-bg);
  --badge-danger-text: var(--color-status-danger-text);
  --badge-danger-border: var(--color-status-danger-border);
  --badge-info-bg: var(--color-status-info-bg);
  --badge-info-text: var(--color-status-info-text);
  --badge-info-border: var(--color-status-info-border);
  --alert-radius: 0.5rem;
  --alert-border-width: 1px;
  --alert-success-bg: var(--color-status-success-bg);
  --alert-success-text: var(--color-status-success-text);
  --alert-success-border: var(--color-status-success-border);
  --alert-success-icon: var(--color-status-success-icon);
  --alert-warning-bg: var(--color-status-warning-bg);
  --alert-warning-text: var(--color-status-warning-text);
  --alert-warning-border: var(--color-status-warning-border);
  --alert-warning-icon: var(--color-status-warning-icon);
  --alert-danger-bg: var(--color-status-danger-bg);
  --alert-danger-text: var(--color-status-danger-text);
  --alert-danger-border: var(--color-status-danger-border);
  --alert-danger-icon: var(--color-status-danger-icon);
  --alert-info-bg: var(--color-status-info-bg);
  --alert-info-text: var(--color-status-info-text);
  --alert-info-border: var(--color-status-info-border);
  --alert-info-icon: var(--color-status-info-icon);
  --tag-bg: var(--color-bg-muted);
  --tag-text: var(--color-text-secondary);
  --tag-border: var(--color-border-subtle);
  --tag-radius: 0.25rem;
  --link-color: var(--color-interactive-default);
  --link-color-hover: var(--color-interactive-hover);
  --link-color-visited: var(--primitive-secondary-600);
  --link-decoration: underline;
  --nav-bg: var(--color-surface);
  --nav-border: var(--color-border-subtle);
  --nav-text: var(--color-text-secondary);
  --nav-text-active: var(--color-interactive-default);
  --nav-text-hover: var(--color-text-primary);
  --nav-shadow: 0 1px 4px color-mix(in oklch, var(--color-text-primary) 8%, transparent);
  --navbar-bg: var(--color-surface);
  --navbar-bg-scrolled: var(--color-surface);
  --navbar-shadow: 0 2px 20px color-mix(in oklch, black 8%, transparent);
  --navbar-shadow-scrolled: 0 4px 30px color-mix(in oklch, black 12%, transparent);
  --navbar-text: var(--color-text-secondary);
  --navbar-text-hover: var(--color-text-primary);
  --navbar-accent: var(--color-brand-primary);
  --navbar-accent-hover: var(--color-interactive-hover);
  --navbar-link-hover-bg: color-mix(in oklch, var(--color-brand-primary) 10%, transparent);
  --navbar-dropdown-hover-bg: color-mix(in oklch, var(--color-brand-primary) 10%, transparent);
  --navbar-megalink-hover-bg: color-mix(in oklch, var(--color-brand-primary) 10%, transparent);
  --navbar-overlay-bg: var(--overlay-bg);
  --dropdown-bg: var(--color-surface-raised);
  --dropdown-shadow: 0 10px 40px color-mix(in oklch, black 15%, transparent);
  --mega-menu-bg: var(--color-surface-raised);
  --mega-menu-shadow: 0 20px 60px color-mix(in oklch, black 15%, transparent);
  --mega-menu-title: var(--color-text-muted);
  --mega-menu-border: var(--color-border-subtle);
  --mega-menu-text: var(--color-text-secondary);
  --mega-menu-text-hover: var(--color-text-primary);
  --mega-menu-desc: var(--color-text-muted);
  --mega-menu-featured-bg: color-mix(in oklch, var(--color-brand-primary) 10%, transparent);
  --mega-menu-card-bg: linear-gradient(135deg, var(--color-brand-primary) 0%, var(--primitive-info-500) 100%);
  --mobile-menu-bg: var(--color-surface-1);
  --mobile-menu-border: var(--color-border-subtle);
  --dropdown-text: var(--color-text-secondary);
  --dropdown-text-hover: var(--color-text-primary);
  --shadow-color: color-mix(in oklch, var(--color-brand-primary) 30%, transparent);
  --table-border: var(--color-border-subtle);
  --table-header-bg: var(--color-bg-subtle);
  --table-header-text: var(--color-text-secondary);
  --table-row-bg: transparent;
  --table-row-bg-alt: var(--color-bg-subtle);
  --table-row-bg-hover: var(--color-bg-muted);
  --table-text: var(--color-text-primary);
  --pagination-item-bg: var(--color-surface);
  --pagination-item-border: var(--color-border-default);
  --pagination-item-text: var(--color-text-secondary);
  --pagination-active-bg: var(--color-brand-primary);
  --pagination-active-text: var(--color-text-inverse);
  --pagination-disabled-text: var(--color-text-disabled);
  --pagination-disabled-border: var(--color-border-subtle);
  --pagination-radius: 0.375rem;
  --tooltip-bg: var(--primitive-neutral-900);
  --tooltip-text: var(--primitive-neutral-50);
  --tooltip-radius: 0.25rem;
  --tooltip-shadow: 0 2px 8px color-mix(in oklch, black 30%, transparent);
  --overlay-bg: color-mix(in oklch, black 50%, transparent);
  --modal-bg: var(--color-surface-raised);
  --modal-border: var(--color-border-subtle);
  --modal-radius: 0.75rem;
  --modal-shadow: 0 20px 60px color-mix(in oklch, black 25%, transparent);
}

:root[data-theme=dark] {
  --badge-primary-bg: var(--primitive-primary-900);
  --badge-primary-text: var(--primitive-primary-200);
  --badge-primary-border: var(--primitive-primary-800);
  --badge-secondary-bg: var(--primitive-secondary-900);
  --badge-secondary-text: var(--primitive-secondary-200);
  --badge-accent-bg: var(--primitive-accent-900);
  --badge-accent-text: var(--primitive-accent-200);
  --navbar-bg: var(--color-surface);
  --navbar-bg-scrolled: var(--color-surface);
  --navbar-shadow: 0 2px 20px color-mix(in oklch, black 30%, transparent);
  --navbar-shadow-scrolled: 0 4px 30px color-mix(in oklch, black 40%, transparent);
  --dropdown-bg: var(--color-surface-raised);
  --mega-menu-bg: var(--color-surface-raised);
  --dropdown-shadow: 0 10px 40px color-mix(in oklch, black 35%, transparent);
  --mega-menu-shadow: 0 20px 60px color-mix(in oklch, black 40%, transparent);
  --mobile-menu-bg: var(--color-surface-1);
  --card-bg: var(--color-surface-3);
  --card-shadow: 0 1px 3px color-mix(in oklch, black 30%, transparent);
  --card-shadow-hover: 0 4px 16px color-mix(in oklch, black 50%, transparent);
  --link-color-visited: var(--primitive-secondary-400);
  --tooltip-bg: var(--primitive-neutral-800);
  --tooltip-text: var(--primitive-neutral-100);
  --overlay-bg: color-mix(in oklch, black 70%, transparent);
}

:root.dark, html.dark {
  --badge-primary-bg: var(--primitive-primary-900);
  --badge-primary-text: var(--primitive-primary-200);
  --badge-primary-border: var(--primitive-primary-800);
  --badge-secondary-bg: var(--primitive-secondary-900);
  --badge-secondary-text: var(--primitive-secondary-200);
  --badge-accent-bg: var(--primitive-accent-900);
  --badge-accent-text: var(--primitive-accent-200);
  --navbar-bg: var(--color-surface);
  --navbar-bg-scrolled: var(--color-surface);
  --navbar-shadow: 0 2px 20px color-mix(in oklch, black 30%, transparent);
  --navbar-shadow-scrolled: 0 4px 30px color-mix(in oklch, black 40%, transparent);
  --dropdown-bg: var(--color-surface-raised);
  --mega-menu-bg: var(--color-surface-raised);
  --dropdown-shadow: 0 10px 40px color-mix(in oklch, black 35%, transparent);
  --mega-menu-shadow: 0 20px 60px color-mix(in oklch, black 40%, transparent);
  --mobile-menu-bg: var(--color-surface-1);
  --card-bg: var(--color-surface-3);
  --card-shadow: 0 1px 3px color-mix(in oklch, black 30%, transparent);
  --card-shadow-hover: 0 4px 16px color-mix(in oklch, black 50%, transparent);
  --link-color-visited: var(--primitive-secondary-400);
  --tooltip-bg: var(--primitive-neutral-800);
  --tooltip-text: var(--primitive-neutral-100);
  --overlay-bg: color-mix(in oklch, black 70%, transparent);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]):not(.light) {
    --badge-primary-bg: var(--primitive-primary-900);
    --badge-primary-text: var(--primitive-primary-200);
    --badge-primary-border: var(--primitive-primary-800);
    --badge-secondary-bg: var(--primitive-secondary-900);
    --badge-secondary-text: var(--primitive-secondary-200);
    --badge-accent-bg: var(--primitive-accent-900);
    --badge-accent-text: var(--primitive-accent-200);
    --navbar-bg: var(--color-surface);
    --navbar-bg-scrolled: var(--color-surface);
    --navbar-shadow: 0 2px 20px color-mix(in oklch, black 30%, transparent);
    --navbar-shadow-scrolled: 0 4px 30px color-mix(in oklch, black 40%, transparent);
    --dropdown-bg: var(--color-surface-raised);
    --mega-menu-bg: var(--color-surface-raised);
    --dropdown-shadow: 0 10px 40px color-mix(in oklch, black 35%, transparent);
    --mega-menu-shadow: 0 20px 60px color-mix(in oklch, black 40%, transparent);
    --mobile-menu-bg: var(--color-surface-1);
    --card-bg: var(--color-surface-3);
    --card-shadow: 0 1px 3px color-mix(in oklch, black 30%, transparent);
    --card-shadow-hover: 0 4px 16px color-mix(in oklch, black 50%, transparent);
    --link-color-visited: var(--primitive-secondary-400);
    --tooltip-bg: var(--primitive-neutral-800);
    --tooltip-text: var(--primitive-neutral-100);
    --overlay-bg: color-mix(in oklch, black 70%, transparent);
  }
}
*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: var(--primary-font, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); /* 4 */
  font-feature-settings: var(--font-feature-settings, normal); /* 5 */
  font-variation-settings: var(--font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); /* 1 */
  font-feature-settings: var(--mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: var(--mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/
ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/
button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/
:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

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

/*
  Restore space after button.
*/
::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/
::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/
@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}
/*
  Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/
::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/
::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/
::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/
::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/
button,
input:where([type=button], [type=reset], [type=submit]),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/
[hidden]:where(:not([hidden=until-found])) {
  display: none !important;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  line-height: 1.625;
  font-weight: 400;
  color: var(--color-text-primary);
  background-color: var(--color-bg-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.wrp {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
}

.primary-font {
  font-family: "Inter", system-ui, -apple-system, sans-serif, sans-serif !important;
}

.secondary-font {
  font-family: "Google Sans", "Inter", system-ui, sans-serif, sans-serif !important;
}

.code-font {
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace, sans-serif !important;
}

/* --- Paragraphs & Spacing --- */
p {
  margin: 0 0 1.25rem 0;
}

/* --- Links --- */
a {
  color: var(--color-link);
  transition: 0.3s;
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}
a:hover {
  color: var(--link-hover);
  text-decoration: none;
}

/* --- Lists --- */
ul, ol {
  padding-left: 0;
  margin: 1rem 0;
}
ul li, ol li {
  list-style: none;
  margin-bottom: 0.5rem;
}

/* --- Utility Typography Classes --- */
.text-lead, .lead {
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--text-muted);
  font-weight: 300;
}

.text-small {
  font-size: 0.875rem; /* 14px */
  line-height: 1.4;
}

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em; /* Τα κεφαλαία χρειάζονται πάντα κενό */
  font-weight: 600;
}

/* --- Multimedia --- */
img {
  max-width: 100%;
  height: auto;
  display: block; /* Αποφεύγει το κενό κάτω από την εικόνα */
  border-radius: 0.5rem; /* Optional standard styling */
}

/* Optimized Compact Heading Styles with Fluid Typography */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: inherit;
}

h1, .h1 {
  /* Mobile: 32px | Desktop Max: 48px */
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.1;
}

h2, .h2 {
  /* Mobile: 24px | Desktop Max: 36px */
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  line-height: 1.15;
}

h3, .h3 {
  /* Mobile: 20px | Desktop Max: 30px */
  font-size: clamp(1.25rem, 3vw, 1.875rem);
}

h4, .h4 {
  /* Mobile: 18px | Desktop Max: 24px */
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
}

h5, .h5 {
  /* Mobile: 16px | Desktop Max: 20px */
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 600; /* Λίγο λιγότερο βάρος στα μικρά */
}

h6, .h6 {
  /* Mobile: 14px | Desktop Max: 16px */
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  font-weight: 500;
  letter-spacing: 0; /* Τα h6 συχνά λειτουργούν ως labels */
}

.h3-side {
  /* Mobile: Standard Heading */
  margin: 2.5rem 0 1rem;
  font-size: clamp(1.5rem, 4vw, 2rem);
  line-height: 1.1;
  font-weight: 800;
  color: var(--color-brand-primary);
  text-wrap: balance;
}

@media (min-width: 850px) {
  .h3-side {
    /* Τραβάμε τον τίτλο αριστερά έξω από τα όρια του κειμένου */
    --offset: -4,8rem;
    --gap: 1.5rem; /* Απόσταση από το κείμενο που τον περιβάλλει */
    float: left;
    clear: left; /* Εξασφαλίζει ότι κάθε h3 ξεκινάει σε νέα "σειρά" */
    width: 10rem; /* Σταθερό πλάτος για να "βυθίζεται" σωστά */
    text-align: right;
    margin-left: var(--offset);
    margin-right: var(--gap);
    margin-top: 0.25rem;
    margin-bottom: 0.3rem; /* Χώρος για να μην κολλάει το κείμενο από κάτω */
    /* Typography tweak για το συγκεκριμένο στυλ */
    font-size: 1.5rem;
  }
  .h3-side + p {
    display: block;
    margin-top: 0;
  }
}
@media (min-width: 992px) {
  .h3-side {
    --offset: -6rem;
    width: 18rem;
    font-size: 1.65rem;
  }
}
@media (min-width: 1300px) {
  .h3-side {
    --offset: -7rem;
    width: 18rem;
    font-size: 1.65rem;
  }
}
@media (min-width: 1400px) {
  .h3-side {
    --offset: -10rem;
    width: 17rem;
    font-size: 1.8rem;
  }
}
.container::after {
  content: "";
  display: table;
  clear: both;
}

/* Font custom */
.font-style-italic {
  font-style: italic;
}

b, strong {
  font-weight: 700;
}

.hover-text {
  display: none;
}

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

.text-white-space-normal {
  white-space: normal;
}

.text-transform-none {
  text-transform: none !important;
}

.text-uppercase-inherit {
  text-transform: inherit !important;
}

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

.vertical-align-top {
  vertical-align: top;
}

/* Text shadow */
.text-shadow, .ts {
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

.text-shadow-large {
  text-shadow: 0 0 50px rgba(0, 0, 0, 0.9);
}

.text-shadow-extra-large {
  text-shadow: 0 0 60px rgba(0, 0, 0, 0.9);
}

.text-shadow-double-large {
  text-shadow: 0 0 100px rgba(0, 0, 0, 0.9);
}

/* Text bottom line */
.text-decoration-line-bottom {
  border-bottom: 1px solid;
}

.text-decoration-line-bottom-medium {
  border-bottom: 2px solid;
}

.text-decoration-line-bottom-thick {
  border-bottom: 3px solid;
}

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

/* Text outline*/
.text-outline {
  color: transparent;
  -webkit-text-stroke: 1px var(--color-brand-primary);
}

.text-outline-bold {
  color: var(--bg-surface); /* Same as background to appear hollow */
  text-shadow: -1px -1px 0 var(--color-brand-primary), 1px -1px 0 var(--color-brand-primary), -1px 1px 0 var(--color-brand-primary), 1px 1px 0 var(--color-brand-primary);
}

.text-outline-glow {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.6);
  filter: drop-shadow(0 0 8px var(--color-brand-primary));
  transition: all 0.3s ease;
}

.text-outline-glow:hover {
  color: var(--color-brand-primary);
  -webkit-text-stroke: 1px transparent;
}

/* Text stroke width */
.text-outline-1px {
  -webkit-text-stroke-width: 1px;
}

.text-outline-2px {
  -webkit-text-stroke-width: 2px;
}

.text-outline-3px {
  -webkit-text-stroke-width: 3px;
}

.text-outline-4px {
  -webkit-text-stroke-width: 4px;
}

.text-outline-5px {
  -webkit-text-stroke-width: 5px;
}

video {
  background-size: cover;
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

:focus-visible {
  outline: none;
}

.fw-100 {
  font-weight: 100 !important;
}

.fw-200 {
  font-weight: 200 !important;
}

.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

.fw-800 {
  font-weight: 800 !important;
}

.fw-900 {
  font-weight: 900 !important;
}

.fs-10 {
  font-size: 0.625rem !important;
}

.fs-12 {
  font-size: 0.75rem !important;
}

.fs-14 {
  font-size: 0.875rem !important;
}

.fs-16 {
  font-size: 1rem !important;
}

.fs-18 {
  font-size: 1.125rem !important;
}

.fs-20 {
  font-size: 1.25rem !important;
}

.fs-24 {
  font-size: 1.5rem !important;
}

.fs-28 {
  font-size: 1.75rem !important;
}

.fs-32 {
  font-size: 2rem !important;
}

.fs-36 {
  font-size: 2.25rem !important;
}

.fs-40 {
  font-size: 2.5rem !important;
}

.fs-44 {
  font-size: 2.75rem !important;
}

.fs-48 {
  font-size: 3rem !important;
}

.fs-52 {
  font-size: 3.25rem !important;
}

.fs-56 {
  font-size: 3.5rem !important;
}

.fs-60 {
  font-size: 3.75rem !important;
}

.fs-64 {
  font-size: 4rem !important;
}

.fs-68 {
  font-size: 4.25rem !important;
}

.fs-72 {
  font-size: 4.5rem !important;
}

.fs-76 {
  font-size: 4.75rem !important;
}

.fs-80 {
  font-size: 5rem !important;
}

.text-primary {
  color: var(--color-text-primary) !important;
}

.text-secondary {
  color: var(--color-text-secondary) !important;
}

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

.text-disabled {
  color: var(--color-text-disabled) !important;
}

.text-inverse, .tw {
  color: var(--color-text-inverse) !important;
}

.text-reset {
  color: inherit !important;
}

.text-heading {
  color: var(--color-heading-primary) !important;
}

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

.text-brand {
  color: var(--color-brand-primary) !important;
}

.text-brand-primary {
  color: var(--color-brand-primary) !important;
}

.text-brand-secondary {
  color: var(--color-brand-secondary) !important;
}

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

.text-success {
  color: var(--color-status-success-icon) !important;
}

.text-warning {
  color: var(--color-status-warning-icon) !important;
}

.text-danger {
  color: var(--color-status-danger-icon) !important;
}

.text-info {
  color: var(--color-status-info-icon) !important;
}

.text-link {
  color: var(--color-interactive-default) !important;
}

.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  color: var(--color-heading-primary);
}
.prose h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
}
.prose h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}
.prose h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
}
.prose p {
  margin-bottom: 1rem;
}
.prose ul, .prose ol {
  margin: 1rem 0;
  padding-left: 1.5rem;
}
.prose ul li, .prose ol li {
  margin-bottom: 0.375rem;
}
.prose ul li {
  list-style: disc;
}
.prose ol li {
  list-style: decimal;
}
.prose ul ul, .prose ol ol, .prose ul ol, .prose ol ul {
  margin: 0.5rem 0;
}
.prose blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--color-brand-primary);
  background: var(--color-bg-subtle);
  color: var(--color-text-secondary);
  font-style: italic;
  border-radius: 0 0.5rem 0.5rem 0;
}
.prose blockquote p:last-child {
  margin-bottom: 0;
}
.prose code {
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace, monospace;
  font-size: 0.875em;
  background: var(--color-bg-muted);
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  color: var(--color-status-danger-icon);
}
.prose pre {
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace, monospace;
  background: var(--color-bg-muted);
  padding: 1rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  margin: 1.5rem 0;
}
.prose pre code {
  background: transparent;
  padding: 0;
  color: inherit;
}
.prose img {
  border-radius: 0.5rem;
  max-width: 100%;
  height: auto;
  margin: 1.5rem 0;
}
.prose figure {
  margin: 1.5rem 0;
}
.prose figure img {
  margin: 0;
}
.prose figure figcaption {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  margin-top: 0.5rem;
  text-align: center;
}
.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.9375rem;
}
.prose table th, .prose table td {
  padding: 0.75rem;
  border: 1px solid var(--color-border-default);
  text-align: left;
}
.prose table th {
  background: var(--color-bg-subtle);
  font-weight: 600;
  color: var(--color-heading-primary);
}
.prose table tr:nth-child(even) {
  background: var(--color-bg-subtle);
}
.prose hr {
  border: 0;
  border-top: 1px solid var(--color-border-default);
  margin: 2rem 0;
}
.prose dl {
  margin: 1rem 0;
}
.prose dl dt {
  font-weight: 600;
  margin-top: 0.75rem;
  color: var(--color-heading-primary);
}
.prose dl dd {
  margin-left: 1.25rem;
  margin-bottom: 0.5rem;
}
.prose a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.prose a:hover {
  text-decoration-thickness: 2px;
}

:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container-wide,
.container-narrow,
.container-small {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm,
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md,
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg,
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl,
  .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl,
  .container {
    max-width: 1320px;
  }
}
.container-wide {
  max-width: 1440px;
}

.container-narrow {
  max-width: 850px;
}

.container-small {
  max-width: 600px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.6666666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.6666666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.6666666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
}
.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex: 0 !important;
}

.flex-grow-1 {
  flex: 1 !important;
}

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

.flex-shrink-1 {
  flex: 1 !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

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

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

@media (min-width: 576px) {
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex: 0 !important;
  }
  .flex-sm-grow-1 {
    flex: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex: 1 !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 768px) {
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex: 0 !important;
  }
  .flex-md-grow-1 {
    flex: 1 !important;
  }
  .flex-md-shrink-0 {
    flex: 0 !important;
  }
  .flex-md-shrink-1 {
    flex: 1 !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex: 0 !important;
  }
  .flex-lg-grow-1 {
    flex: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex: 1 !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex: 0 !important;
  }
  .flex-xl-grow-1 {
    flex: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex: 1 !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 1400px) {
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-grow-0 {
    flex: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex: 1 !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
.justify-content-start {
  justify-content: flex-start !important;
}

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

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

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

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

@media (min-width: 576px) {
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 768px) {
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 992px) {
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1200px) {
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1400px) {
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
}
.align-items-start {
  align-items: flex-start !important;
}

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

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

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

.align-items-stretch {
  align-items: stretch !important;
}

@media (min-width: 576px) {
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
}
.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

@media (min-width: 576px) {
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
}
.align-self-auto {
  align-self: auto !important;
}

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

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

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

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
}
.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

@media (min-width: 576px) {
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
}
@media (min-width: 768px) {
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
}
@media (min-width: 992px) {
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
}
@media (min-width: 1200px) {
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
}
@media (min-width: 1400px) {
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
}
.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

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

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1400px) {
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
}
.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

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

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

@media (min-width: 576px) {
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 768px) {
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 992px) {
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1200px) {
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1400px) {
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
.bands {
  --bands-gutter-x: 0;
  --bands-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(-1 * var(--bands-gutter-x) / 2);
  margin-left: calc(-1 * var(--bands-gutter-x) / 2);
  margin-top: calc(-1 * var(--bands-gutter-y));
}
.bands > * {
  padding-right: calc(var(--bands-gutter-x) / 2);
  padding-left: calc(var(--bands-gutter-x) / 2);
  margin-top: var(--bands-gutter-y);
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.bands.reverse {
  flex-direction: row-reverse;
}
.bands .band-1 {
  width: 8.3333333333%;
  flex-grow: 1;
}
.bands .band-2 {
  width: 16.6666666667%;
  flex-grow: 1;
}
.bands .band-3 {
  width: 25%;
  flex-grow: 1;
}
.bands .band-4 {
  width: 33.3333333333%;
  flex-grow: 1;
}
.bands .band-5 {
  width: 41.6666666667%;
  flex-grow: 1;
}
.bands .band-6 {
  width: 50%;
  flex-grow: 1;
}
.bands .band-7 {
  width: 58.3333333333%;
  flex-grow: 1;
}
.bands .band-8 {
  width: 66.6666666667%;
  flex-grow: 1;
}
.bands .band-9 {
  width: 75%;
  flex-grow: 1;
}
.bands .band-10 {
  width: 83.3333333333%;
  flex-grow: 1;
}
.bands .band-11 {
  width: 91.6666666667%;
  flex-grow: 1;
}
.bands .band-12 {
  width: 100%;
  flex-grow: 1;
}
@media only screen and (min-width: 576px) {
  .bands .sm\:band-1,
  .bands .band-sm-1 {
    width: 8.3333333333%;
    flex-grow: 1;
  }
  .bands .sm\:band-2,
  .bands .band-sm-2 {
    width: 16.6666666667%;
    flex-grow: 1;
  }
  .bands .sm\:band-3,
  .bands .band-sm-3 {
    width: 25%;
    flex-grow: 1;
  }
  .bands .sm\:band-4,
  .bands .band-sm-4 {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .bands .sm\:band-5,
  .bands .band-sm-5 {
    width: 41.6666666667%;
    flex-grow: 1;
  }
  .bands .sm\:band-6,
  .bands .band-sm-6 {
    width: 50%;
    flex-grow: 1;
  }
  .bands .sm\:band-7,
  .bands .band-sm-7 {
    width: 58.3333333333%;
    flex-grow: 1;
  }
  .bands .sm\:band-8,
  .bands .band-sm-8 {
    width: 66.6666666667%;
    flex-grow: 1;
  }
  .bands .sm\:band-9,
  .bands .band-sm-9 {
    width: 75%;
    flex-grow: 1;
  }
  .bands .sm\:band-10,
  .bands .band-sm-10 {
    width: 83.3333333333%;
    flex-grow: 1;
  }
  .bands .sm\:band-11,
  .bands .band-sm-11 {
    width: 91.6666666667%;
    flex-grow: 1;
  }
  .bands .sm\:band-12,
  .bands .band-sm-12 {
    width: 100%;
    flex-grow: 1;
  }
}
@media only screen and (min-width: 768px) {
  .bands .md\:band-1,
  .bands .band-md-1 {
    width: 8.3333333333%;
    flex-grow: 1;
  }
  .bands .md\:band-2,
  .bands .band-md-2 {
    width: 16.6666666667%;
    flex-grow: 1;
  }
  .bands .md\:band-3,
  .bands .band-md-3 {
    width: 25%;
    flex-grow: 1;
  }
  .bands .md\:band-4,
  .bands .band-md-4 {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .bands .md\:band-5,
  .bands .band-md-5 {
    width: 41.6666666667%;
    flex-grow: 1;
  }
  .bands .md\:band-6,
  .bands .band-md-6 {
    width: 50%;
    flex-grow: 1;
  }
  .bands .md\:band-7,
  .bands .band-md-7 {
    width: 58.3333333333%;
    flex-grow: 1;
  }
  .bands .md\:band-8,
  .bands .band-md-8 {
    width: 66.6666666667%;
    flex-grow: 1;
  }
  .bands .md\:band-9,
  .bands .band-md-9 {
    width: 75%;
    flex-grow: 1;
  }
  .bands .md\:band-10,
  .bands .band-md-10 {
    width: 83.3333333333%;
    flex-grow: 1;
  }
  .bands .md\:band-11,
  .bands .band-md-11 {
    width: 91.6666666667%;
    flex-grow: 1;
  }
  .bands .md\:band-12,
  .bands .band-md-12 {
    width: 100%;
    flex-grow: 1;
  }
}
@media only screen and (min-width: 992px) {
  .bands .lg\:band-1,
  .bands .band-lg-1 {
    width: 8.3333333333%;
    flex-grow: 1;
  }
  .bands .lg\:band-2,
  .bands .band-lg-2 {
    width: 16.6666666667%;
    flex-grow: 1;
  }
  .bands .lg\:band-3,
  .bands .band-lg-3 {
    width: 25%;
    flex-grow: 1;
  }
  .bands .lg\:band-4,
  .bands .band-lg-4 {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .bands .lg\:band-5,
  .bands .band-lg-5 {
    width: 41.6666666667%;
    flex-grow: 1;
  }
  .bands .lg\:band-6,
  .bands .band-lg-6 {
    width: 50%;
    flex-grow: 1;
  }
  .bands .lg\:band-7,
  .bands .band-lg-7 {
    width: 58.3333333333%;
    flex-grow: 1;
  }
  .bands .lg\:band-8,
  .bands .band-lg-8 {
    width: 66.6666666667%;
    flex-grow: 1;
  }
  .bands .lg\:band-9,
  .bands .band-lg-9 {
    width: 75%;
    flex-grow: 1;
  }
  .bands .lg\:band-10,
  .bands .band-lg-10 {
    width: 83.3333333333%;
    flex-grow: 1;
  }
  .bands .lg\:band-11,
  .bands .band-lg-11 {
    width: 91.6666666667%;
    flex-grow: 1;
  }
  .bands .lg\:band-12,
  .bands .band-lg-12 {
    width: 100%;
    flex-grow: 1;
  }
}
@media only screen and (min-width: 1200px) {
  .bands .xl\:band-1,
  .bands .band-xl-1 {
    width: 8.3333333333%;
    flex-grow: 1;
  }
  .bands .xl\:band-2,
  .bands .band-xl-2 {
    width: 16.6666666667%;
    flex-grow: 1;
  }
  .bands .xl\:band-3,
  .bands .band-xl-3 {
    width: 25%;
    flex-grow: 1;
  }
  .bands .xl\:band-4,
  .bands .band-xl-4 {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .bands .xl\:band-5,
  .bands .band-xl-5 {
    width: 41.6666666667%;
    flex-grow: 1;
  }
  .bands .xl\:band-6,
  .bands .band-xl-6 {
    width: 50%;
    flex-grow: 1;
  }
  .bands .xl\:band-7,
  .bands .band-xl-7 {
    width: 58.3333333333%;
    flex-grow: 1;
  }
  .bands .xl\:band-8,
  .bands .band-xl-8 {
    width: 66.6666666667%;
    flex-grow: 1;
  }
  .bands .xl\:band-9,
  .bands .band-xl-9 {
    width: 75%;
    flex-grow: 1;
  }
  .bands .xl\:band-10,
  .bands .band-xl-10 {
    width: 83.3333333333%;
    flex-grow: 1;
  }
  .bands .xl\:band-11,
  .bands .band-xl-11 {
    width: 91.6666666667%;
    flex-grow: 1;
  }
  .bands .xl\:band-12,
  .bands .band-xl-12 {
    width: 100%;
    flex-grow: 1;
  }
}
@media only screen and (min-width: 1400px) {
  .bands .xxl\:band-1,
  .bands .band-xxl-1 {
    width: 8.3333333333%;
    flex-grow: 1;
  }
  .bands .xxl\:band-2,
  .bands .band-xxl-2 {
    width: 16.6666666667%;
    flex-grow: 1;
  }
  .bands .xxl\:band-3,
  .bands .band-xxl-3 {
    width: 25%;
    flex-grow: 1;
  }
  .bands .xxl\:band-4,
  .bands .band-xxl-4 {
    width: 33.3333333333%;
    flex-grow: 1;
  }
  .bands .xxl\:band-5,
  .bands .band-xxl-5 {
    width: 41.6666666667%;
    flex-grow: 1;
  }
  .bands .xxl\:band-6,
  .bands .band-xxl-6 {
    width: 50%;
    flex-grow: 1;
  }
  .bands .xxl\:band-7,
  .bands .band-xxl-7 {
    width: 58.3333333333%;
    flex-grow: 1;
  }
  .bands .xxl\:band-8,
  .bands .band-xxl-8 {
    width: 66.6666666667%;
    flex-grow: 1;
  }
  .bands .xxl\:band-9,
  .bands .band-xxl-9 {
    width: 75%;
    flex-grow: 1;
  }
  .bands .xxl\:band-10,
  .bands .band-xxl-10 {
    width: 83.3333333333%;
    flex-grow: 1;
  }
  .bands .xxl\:band-11,
  .bands .band-xxl-11 {
    width: 91.6666666667%;
    flex-grow: 1;
  }
  .bands .xxl\:band-12,
  .bands .band-xxl-12 {
    width: 100%;
    flex-grow: 1;
  }
}
.bands.bands-1 > * {
  flex: 0 0 calc(100% / 1);
  max-width: calc(100% / 1);
}
.bands.bands-2 > * {
  flex: 0 0 calc(100% / 2);
  max-width: calc(100% / 2);
}
.bands.bands-3 > * {
  flex: 0 0 calc(100% / 3);
  max-width: calc(100% / 3);
}
.bands.bands-4 > * {
  flex: 0 0 calc(100% / 4);
  max-width: calc(100% / 4);
}
.bands.bands-5 > * {
  flex: 0 0 calc(100% / 5);
  max-width: calc(100% / 5);
}
.bands.bands-6 > * {
  flex: 0 0 calc(100% / 6);
  max-width: calc(100% / 6);
}
.bands.bands-7 > * {
  flex: 0 0 calc(100% / 7);
  max-width: calc(100% / 7);
}
.bands.bands-8 > * {
  flex: 0 0 calc(100% / 8);
  max-width: calc(100% / 8);
}
.bands.bands-9 > * {
  flex: 0 0 calc(100% / 9);
  max-width: calc(100% / 9);
}
.bands.bands-10 > * {
  flex: 0 0 calc(100% / 10);
  max-width: calc(100% / 10);
}
.bands.bands-11 > * {
  flex: 0 0 calc(100% / 11);
  max-width: calc(100% / 11);
}
.bands.bands-12 > * {
  flex: 0 0 calc(100% / 12);
  max-width: calc(100% / 12);
}
@media only screen and (min-width: 576px) {
  .bands.bands-sm-1 > *, .bands.sm\:bands-1 > * {
    flex: 0 0 calc(100% / 1);
    max-width: calc(100% / 1);
  }
  .bands.bands-sm-2 > *, .bands.sm\:bands-2 > * {
    flex: 0 0 calc(100% / 2);
    max-width: calc(100% / 2);
  }
  .bands.bands-sm-3 > *, .bands.sm\:bands-3 > * {
    flex: 0 0 calc(100% / 3);
    max-width: calc(100% / 3);
  }
  .bands.bands-sm-4 > *, .bands.sm\:bands-4 > * {
    flex: 0 0 calc(100% / 4);
    max-width: calc(100% / 4);
  }
  .bands.bands-sm-5 > *, .bands.sm\:bands-5 > * {
    flex: 0 0 calc(100% / 5);
    max-width: calc(100% / 5);
  }
  .bands.bands-sm-6 > *, .bands.sm\:bands-6 > * {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
  }
  .bands.bands-sm-7 > *, .bands.sm\:bands-7 > * {
    flex: 0 0 calc(100% / 7);
    max-width: calc(100% / 7);
  }
  .bands.bands-sm-8 > *, .bands.sm\:bands-8 > * {
    flex: 0 0 calc(100% / 8);
    max-width: calc(100% / 8);
  }
  .bands.bands-sm-9 > *, .bands.sm\:bands-9 > * {
    flex: 0 0 calc(100% / 9);
    max-width: calc(100% / 9);
  }
  .bands.bands-sm-10 > *, .bands.sm\:bands-10 > * {
    flex: 0 0 calc(100% / 10);
    max-width: calc(100% / 10);
  }
  .bands.bands-sm-11 > *, .bands.sm\:bands-11 > * {
    flex: 0 0 calc(100% / 11);
    max-width: calc(100% / 11);
  }
  .bands.bands-sm-12 > *, .bands.sm\:bands-12 > * {
    flex: 0 0 calc(100% / 12);
    max-width: calc(100% / 12);
  }
}
@media only screen and (min-width: 768px) {
  .bands.bands-md-1 > *, .bands.md\:bands-1 > * {
    flex: 0 0 calc(100% / 1);
    max-width: calc(100% / 1);
  }
  .bands.bands-md-2 > *, .bands.md\:bands-2 > * {
    flex: 0 0 calc(100% / 2);
    max-width: calc(100% / 2);
  }
  .bands.bands-md-3 > *, .bands.md\:bands-3 > * {
    flex: 0 0 calc(100% / 3);
    max-width: calc(100% / 3);
  }
  .bands.bands-md-4 > *, .bands.md\:bands-4 > * {
    flex: 0 0 calc(100% / 4);
    max-width: calc(100% / 4);
  }
  .bands.bands-md-5 > *, .bands.md\:bands-5 > * {
    flex: 0 0 calc(100% / 5);
    max-width: calc(100% / 5);
  }
  .bands.bands-md-6 > *, .bands.md\:bands-6 > * {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
  }
  .bands.bands-md-7 > *, .bands.md\:bands-7 > * {
    flex: 0 0 calc(100% / 7);
    max-width: calc(100% / 7);
  }
  .bands.bands-md-8 > *, .bands.md\:bands-8 > * {
    flex: 0 0 calc(100% / 8);
    max-width: calc(100% / 8);
  }
  .bands.bands-md-9 > *, .bands.md\:bands-9 > * {
    flex: 0 0 calc(100% / 9);
    max-width: calc(100% / 9);
  }
  .bands.bands-md-10 > *, .bands.md\:bands-10 > * {
    flex: 0 0 calc(100% / 10);
    max-width: calc(100% / 10);
  }
  .bands.bands-md-11 > *, .bands.md\:bands-11 > * {
    flex: 0 0 calc(100% / 11);
    max-width: calc(100% / 11);
  }
  .bands.bands-md-12 > *, .bands.md\:bands-12 > * {
    flex: 0 0 calc(100% / 12);
    max-width: calc(100% / 12);
  }
}
@media only screen and (min-width: 992px) {
  .bands.bands-lg-1 > *, .bands.lg\:bands-1 > * {
    flex: 0 0 calc(100% / 1);
    max-width: calc(100% / 1);
  }
  .bands.bands-lg-2 > *, .bands.lg\:bands-2 > * {
    flex: 0 0 calc(100% / 2);
    max-width: calc(100% / 2);
  }
  .bands.bands-lg-3 > *, .bands.lg\:bands-3 > * {
    flex: 0 0 calc(100% / 3);
    max-width: calc(100% / 3);
  }
  .bands.bands-lg-4 > *, .bands.lg\:bands-4 > * {
    flex: 0 0 calc(100% / 4);
    max-width: calc(100% / 4);
  }
  .bands.bands-lg-5 > *, .bands.lg\:bands-5 > * {
    flex: 0 0 calc(100% / 5);
    max-width: calc(100% / 5);
  }
  .bands.bands-lg-6 > *, .bands.lg\:bands-6 > * {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
  }
  .bands.bands-lg-7 > *, .bands.lg\:bands-7 > * {
    flex: 0 0 calc(100% / 7);
    max-width: calc(100% / 7);
  }
  .bands.bands-lg-8 > *, .bands.lg\:bands-8 > * {
    flex: 0 0 calc(100% / 8);
    max-width: calc(100% / 8);
  }
  .bands.bands-lg-9 > *, .bands.lg\:bands-9 > * {
    flex: 0 0 calc(100% / 9);
    max-width: calc(100% / 9);
  }
  .bands.bands-lg-10 > *, .bands.lg\:bands-10 > * {
    flex: 0 0 calc(100% / 10);
    max-width: calc(100% / 10);
  }
  .bands.bands-lg-11 > *, .bands.lg\:bands-11 > * {
    flex: 0 0 calc(100% / 11);
    max-width: calc(100% / 11);
  }
  .bands.bands-lg-12 > *, .bands.lg\:bands-12 > * {
    flex: 0 0 calc(100% / 12);
    max-width: calc(100% / 12);
  }
}
@media only screen and (min-width: 1200px) {
  .bands.bands-xl-1 > *, .bands.xl\:bands-1 > * {
    flex: 0 0 calc(100% / 1);
    max-width: calc(100% / 1);
  }
  .bands.bands-xl-2 > *, .bands.xl\:bands-2 > * {
    flex: 0 0 calc(100% / 2);
    max-width: calc(100% / 2);
  }
  .bands.bands-xl-3 > *, .bands.xl\:bands-3 > * {
    flex: 0 0 calc(100% / 3);
    max-width: calc(100% / 3);
  }
  .bands.bands-xl-4 > *, .bands.xl\:bands-4 > * {
    flex: 0 0 calc(100% / 4);
    max-width: calc(100% / 4);
  }
  .bands.bands-xl-5 > *, .bands.xl\:bands-5 > * {
    flex: 0 0 calc(100% / 5);
    max-width: calc(100% / 5);
  }
  .bands.bands-xl-6 > *, .bands.xl\:bands-6 > * {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
  }
  .bands.bands-xl-7 > *, .bands.xl\:bands-7 > * {
    flex: 0 0 calc(100% / 7);
    max-width: calc(100% / 7);
  }
  .bands.bands-xl-8 > *, .bands.xl\:bands-8 > * {
    flex: 0 0 calc(100% / 8);
    max-width: calc(100% / 8);
  }
  .bands.bands-xl-9 > *, .bands.xl\:bands-9 > * {
    flex: 0 0 calc(100% / 9);
    max-width: calc(100% / 9);
  }
  .bands.bands-xl-10 > *, .bands.xl\:bands-10 > * {
    flex: 0 0 calc(100% / 10);
    max-width: calc(100% / 10);
  }
  .bands.bands-xl-11 > *, .bands.xl\:bands-11 > * {
    flex: 0 0 calc(100% / 11);
    max-width: calc(100% / 11);
  }
  .bands.bands-xl-12 > *, .bands.xl\:bands-12 > * {
    flex: 0 0 calc(100% / 12);
    max-width: calc(100% / 12);
  }
}
@media only screen and (min-width: 1400px) {
  .bands.bands-xxl-1 > *, .bands.xxl\:bands-1 > * {
    flex: 0 0 calc(100% / 1);
    max-width: calc(100% / 1);
  }
  .bands.bands-xxl-2 > *, .bands.xxl\:bands-2 > * {
    flex: 0 0 calc(100% / 2);
    max-width: calc(100% / 2);
  }
  .bands.bands-xxl-3 > *, .bands.xxl\:bands-3 > * {
    flex: 0 0 calc(100% / 3);
    max-width: calc(100% / 3);
  }
  .bands.bands-xxl-4 > *, .bands.xxl\:bands-4 > * {
    flex: 0 0 calc(100% / 4);
    max-width: calc(100% / 4);
  }
  .bands.bands-xxl-5 > *, .bands.xxl\:bands-5 > * {
    flex: 0 0 calc(100% / 5);
    max-width: calc(100% / 5);
  }
  .bands.bands-xxl-6 > *, .bands.xxl\:bands-6 > * {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
  }
  .bands.bands-xxl-7 > *, .bands.xxl\:bands-7 > * {
    flex: 0 0 calc(100% / 7);
    max-width: calc(100% / 7);
  }
  .bands.bands-xxl-8 > *, .bands.xxl\:bands-8 > * {
    flex: 0 0 calc(100% / 8);
    max-width: calc(100% / 8);
  }
  .bands.bands-xxl-9 > *, .bands.xxl\:bands-9 > * {
    flex: 0 0 calc(100% / 9);
    max-width: calc(100% / 9);
  }
  .bands.bands-xxl-10 > *, .bands.xxl\:bands-10 > * {
    flex: 0 0 calc(100% / 10);
    max-width: calc(100% / 10);
  }
  .bands.bands-xxl-11 > *, .bands.xxl\:bands-11 > * {
    flex: 0 0 calc(100% / 11);
    max-width: calc(100% / 11);
  }
  .bands.bands-xxl-12 > *, .bands.xxl\:bands-12 > * {
    flex: 0 0 calc(100% / 12);
    max-width: calc(100% / 12);
  }
}
.bands.bands-gap-0 {
  --bands-gutter-x: 0;
  --bands-gutter-y: 0;
}
.bands.bands-gap-x-0 {
  --bands-gutter-x: 0;
}
.bands.bands-gap-y-0 {
  --bands-gutter-y: 0;
}
.bands.bands-gap-1 {
  --bands-gutter-x: 0.5rem;
  --bands-gutter-y: 0.5rem;
}
.bands.bands-gap-x-1 {
  --bands-gutter-x: 0.5rem;
}
.bands.bands-gap-y-1 {
  --bands-gutter-y: 0.5rem;
}
.bands.bands-gap-2 {
  --bands-gutter-x: 1rem;
  --bands-gutter-y: 1rem;
}
.bands.bands-gap-x-2 {
  --bands-gutter-x: 1rem;
}
.bands.bands-gap-y-2 {
  --bands-gutter-y: 1rem;
}
.bands.bands-gap-3 {
  --bands-gutter-x: 1.5rem;
  --bands-gutter-y: 1.5rem;
}
.bands.bands-gap-x-3 {
  --bands-gutter-x: 1.5rem;
}
.bands.bands-gap-y-3 {
  --bands-gutter-y: 1.5rem;
}
.bands.bands-gap-4 {
  --bands-gutter-x: 2rem;
  --bands-gutter-y: 2rem;
}
.bands.bands-gap-x-4 {
  --bands-gutter-x: 2rem;
}
.bands.bands-gap-y-4 {
  --bands-gutter-y: 2rem;
}
.bands.bands-gap-5 {
  --bands-gutter-x: 3rem;
  --bands-gutter-y: 3rem;
}
.bands.bands-gap-x-5 {
  --bands-gutter-x: 3rem;
}
.bands.bands-gap-y-5 {
  --bands-gutter-y: 3rem;
}
@media only screen and (min-width: 576px) {
  .bands.bands-gap-sm-0 {
    --bands-gutter-x: 0;
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-x-sm-0 {
    --bands-gutter-x: 0;
  }
  .bands.bands-gap-y-sm-0 {
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-sm-1 {
    --bands-gutter-x: 0.5rem;
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-x-sm-1 {
    --bands-gutter-x: 0.5rem;
  }
  .bands.bands-gap-y-sm-1 {
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-sm-2 {
    --bands-gutter-x: 1rem;
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-x-sm-2 {
    --bands-gutter-x: 1rem;
  }
  .bands.bands-gap-y-sm-2 {
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-sm-3 {
    --bands-gutter-x: 1.5rem;
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-x-sm-3 {
    --bands-gutter-x: 1.5rem;
  }
  .bands.bands-gap-y-sm-3 {
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-sm-4 {
    --bands-gutter-x: 2rem;
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-x-sm-4 {
    --bands-gutter-x: 2rem;
  }
  .bands.bands-gap-y-sm-4 {
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-sm-5 {
    --bands-gutter-x: 3rem;
    --bands-gutter-y: 3rem;
  }
  .bands.bands-gap-x-sm-5 {
    --bands-gutter-x: 3rem;
  }
  .bands.bands-gap-y-sm-5 {
    --bands-gutter-y: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .bands.bands-gap-md-0 {
    --bands-gutter-x: 0;
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-x-md-0 {
    --bands-gutter-x: 0;
  }
  .bands.bands-gap-y-md-0 {
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-md-1 {
    --bands-gutter-x: 0.5rem;
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-x-md-1 {
    --bands-gutter-x: 0.5rem;
  }
  .bands.bands-gap-y-md-1 {
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-md-2 {
    --bands-gutter-x: 1rem;
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-x-md-2 {
    --bands-gutter-x: 1rem;
  }
  .bands.bands-gap-y-md-2 {
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-md-3 {
    --bands-gutter-x: 1.5rem;
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-x-md-3 {
    --bands-gutter-x: 1.5rem;
  }
  .bands.bands-gap-y-md-3 {
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-md-4 {
    --bands-gutter-x: 2rem;
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-x-md-4 {
    --bands-gutter-x: 2rem;
  }
  .bands.bands-gap-y-md-4 {
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-md-5 {
    --bands-gutter-x: 3rem;
    --bands-gutter-y: 3rem;
  }
  .bands.bands-gap-x-md-5 {
    --bands-gutter-x: 3rem;
  }
  .bands.bands-gap-y-md-5 {
    --bands-gutter-y: 3rem;
  }
}
@media only screen and (min-width: 992px) {
  .bands.bands-gap-lg-0 {
    --bands-gutter-x: 0;
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-x-lg-0 {
    --bands-gutter-x: 0;
  }
  .bands.bands-gap-y-lg-0 {
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-lg-1 {
    --bands-gutter-x: 0.5rem;
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-x-lg-1 {
    --bands-gutter-x: 0.5rem;
  }
  .bands.bands-gap-y-lg-1 {
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-lg-2 {
    --bands-gutter-x: 1rem;
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-x-lg-2 {
    --bands-gutter-x: 1rem;
  }
  .bands.bands-gap-y-lg-2 {
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-lg-3 {
    --bands-gutter-x: 1.5rem;
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-x-lg-3 {
    --bands-gutter-x: 1.5rem;
  }
  .bands.bands-gap-y-lg-3 {
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-lg-4 {
    --bands-gutter-x: 2rem;
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-x-lg-4 {
    --bands-gutter-x: 2rem;
  }
  .bands.bands-gap-y-lg-4 {
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-lg-5 {
    --bands-gutter-x: 3rem;
    --bands-gutter-y: 3rem;
  }
  .bands.bands-gap-x-lg-5 {
    --bands-gutter-x: 3rem;
  }
  .bands.bands-gap-y-lg-5 {
    --bands-gutter-y: 3rem;
  }
}
@media only screen and (min-width: 1200px) {
  .bands.bands-gap-xl-0 {
    --bands-gutter-x: 0;
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-x-xl-0 {
    --bands-gutter-x: 0;
  }
  .bands.bands-gap-y-xl-0 {
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-xl-1 {
    --bands-gutter-x: 0.5rem;
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-x-xl-1 {
    --bands-gutter-x: 0.5rem;
  }
  .bands.bands-gap-y-xl-1 {
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-xl-2 {
    --bands-gutter-x: 1rem;
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-x-xl-2 {
    --bands-gutter-x: 1rem;
  }
  .bands.bands-gap-y-xl-2 {
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-xl-3 {
    --bands-gutter-x: 1.5rem;
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-x-xl-3 {
    --bands-gutter-x: 1.5rem;
  }
  .bands.bands-gap-y-xl-3 {
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-xl-4 {
    --bands-gutter-x: 2rem;
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-x-xl-4 {
    --bands-gutter-x: 2rem;
  }
  .bands.bands-gap-y-xl-4 {
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-xl-5 {
    --bands-gutter-x: 3rem;
    --bands-gutter-y: 3rem;
  }
  .bands.bands-gap-x-xl-5 {
    --bands-gutter-x: 3rem;
  }
  .bands.bands-gap-y-xl-5 {
    --bands-gutter-y: 3rem;
  }
}
@media only screen and (min-width: 1400px) {
  .bands.bands-gap-xxl-0 {
    --bands-gutter-x: 0;
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-x-xxl-0 {
    --bands-gutter-x: 0;
  }
  .bands.bands-gap-y-xxl-0 {
    --bands-gutter-y: 0;
  }
  .bands.bands-gap-xxl-1 {
    --bands-gutter-x: 0.5rem;
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-x-xxl-1 {
    --bands-gutter-x: 0.5rem;
  }
  .bands.bands-gap-y-xxl-1 {
    --bands-gutter-y: 0.5rem;
  }
  .bands.bands-gap-xxl-2 {
    --bands-gutter-x: 1rem;
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-x-xxl-2 {
    --bands-gutter-x: 1rem;
  }
  .bands.bands-gap-y-xxl-2 {
    --bands-gutter-y: 1rem;
  }
  .bands.bands-gap-xxl-3 {
    --bands-gutter-x: 1.5rem;
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-x-xxl-3 {
    --bands-gutter-x: 1.5rem;
  }
  .bands.bands-gap-y-xxl-3 {
    --bands-gutter-y: 1.5rem;
  }
  .bands.bands-gap-xxl-4 {
    --bands-gutter-x: 2rem;
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-x-xxl-4 {
    --bands-gutter-x: 2rem;
  }
  .bands.bands-gap-y-xxl-4 {
    --bands-gutter-y: 2rem;
  }
  .bands.bands-gap-xxl-5 {
    --bands-gutter-x: 3rem;
    --bands-gutter-y: 3rem;
  }
  .bands.bands-gap-x-xxl-5 {
    --bands-gutter-x: 3rem;
  }
  .bands.bands-gap-y-xxl-5 {
    --bands-gutter-y: 3rem;
  }
}

section, .section, .section-3xl, .section-xxl, .section-xl {
  padding-block: 1.5rem !important;
}

.section-xl {
  padding-block: 3rem !important;
}

.section-xxl {
  padding-block: 4rem !important;
}

.section-3xl {
  padding-block: 6rem !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

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

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

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

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.625 !important;
}

.lh-lg {
  line-height: 2 !important;
}

@media only screen and (min-width: 768px) {
  .text-start {
    text-align: left !important;
  }
  .text-end {
    text-align: right !important;
  }
  .text-center {
    text-align: center !important;
  }
}
@media only screen and (min-width: 992px) {
  .text-start {
    text-align: left !important;
  }
  .text-end {
    text-align: right !important;
  }
  .text-center {
    text-align: center !important;
  }
}
@media only screen and (min-width: 1200px) {
  .text-start {
    text-align: left !important;
  }
  .text-end {
    text-align: right !important;
  }
  .text-center {
    text-align: center !important;
  }
}
/* Letter spacing - Positive */
.ls-0px {
  letter-spacing: 0px !important;
}

.ls-5px {
  letter-spacing: 0.5px !important;
}

.ls-1px {
  letter-spacing: 1px !important;
}

.ls-2px {
  letter-spacing: 2px !important;
}

.ls-3px {
  letter-spacing: 3px !important;
}

.ls-4px {
  letter-spacing: 4px !important;
}

.ls-5px {
  letter-spacing: 5px !important;
}

/* Letter spacing - Negative (exept 0) */
.ls-minus-5px {
  letter-spacing: -0.5px !important;
}

.ls-minus-1px {
  letter-spacing: -1px !important;
}

.ls-minus-2px {
  letter-spacing: -2px !important;
}

.ls-minus-3px {
  letter-spacing: -3px !important;
}

.ls-minus-4px {
  letter-spacing: -4px !important;
}

.ls-minus-5px {
  letter-spacing: -5px !important;
}

.border {
  border: 1px solid var(--color-border-default) !important;
}

.border-top {
  border-top: 1px solid var(--color-border-default) !important;
}

.border-end {
  border-right: 1px solid var(--color-border-default) !important;
}

.border-bottom {
  border-bottom: 1px solid var(--color-border-default) !important;
}

.border-start {
  border-left: 1px solid var(--color-border-default) !important;
}

.border-x {
  border-left: 1px solid var(--color-border-default) !important;
  border-right: 1px solid var(--color-border-default) !important;
}

.border-y {
  border-top: 1px solid var(--color-border-default) !important;
  border-bottom: 1px solid var(--color-border-default) !important;
}

.border-solid {
  border-style: solid !important;
}

.border-dashed {
  border-style: dashed !important;
}

.border-dotted {
  border-style: dotted !important;
}

.border-none {
  border-style: none !important;
}

.border-0 {
  border-width: 0 !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-top-0 {
  border-top-width: 0 !important;
}

.border-end-0 {
  border-right-width: 0 !important;
}

.border-bottom-0 {
  border-bottom-width: 0 !important;
}

.border-start-0 {
  border-left-width: 0 !important;
}

.border-top-1 {
  border-top-width: 1px !important;
}

.border-end-1 {
  border-right-width: 1px !important;
}

.border-bottom-1 {
  border-bottom-width: 1px !important;
}

.border-start-1 {
  border-left-width: 1px !important;
}

.border-top-2 {
  border-top-width: 2px !important;
}

.border-end-2 {
  border-right-width: 2px !important;
}

.border-bottom-2 {
  border-bottom-width: 2px !important;
}

.border-start-2 {
  border-left-width: 2px !important;
}

.border-top-3 {
  border-top-width: 3px !important;
}

.border-end-3 {
  border-right-width: 3px !important;
}

.border-bottom-3 {
  border-bottom-width: 3px !important;
}

.border-start-3 {
  border-left-width: 3px !important;
}

.border-top-4 {
  border-top-width: 4px !important;
}

.border-end-4 {
  border-right-width: 4px !important;
}

.border-bottom-4 {
  border-bottom-width: 4px !important;
}

.border-start-4 {
  border-left-width: 4px !important;
}

.border-top-5 {
  border-top-width: 5px !important;
}

.border-end-5 {
  border-right-width: 5px !important;
}

.border-bottom-5 {
  border-bottom-width: 5px !important;
}

.border-start-5 {
  border-left-width: 5px !important;
}

.border-subtle {
  border-color: var(--color-border-subtle) !important;
}

.border-default {
  border-color: var(--color-border-default) !important;
}

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

.border-focus {
  border-color: var(--color-border-focus) !important;
}

.border-transparent {
  border-color: transparent !important;
}

.border-current {
  border-color: currentColor !important;
}

.border-inherit {
  border-color: inherit !important;
}

.border-light {
  border-color: var(--color-border-subtle) !important;
}

.border-primary {
  border-color: var(--color-brand-primary) !important;
}

.border-secondary {
  border-color: var(--color-brand-secondary) !important;
}

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

.border-success {
  border-color: var(--color-status-success-border) !important;
}

.border-warning {
  border-color: var(--color-status-warning-border) !important;
}

.border-danger {
  border-color: var(--color-status-danger-border) !important;
}

.border-info {
  border-color: var(--color-status-info-border) !important;
}

.border-neutral {
  border-color: var(--color-border-default) !important;
}

.rounded-xs {
  border-radius: 0.25rem !important;
}

.rounded-top-xs {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-end-xs,
.rounded-right-xs {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom-xs {
  border-bottom-left-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-start-xs,
.rounded-left-xs {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-sm {
  border-radius: 0.5rem !important;
}

.rounded-top-sm {
  border-top-left-radius: 0.5rem !important;
  border-top-right-radius: 0.5rem !important;
}

.rounded-end-sm,
.rounded-right-sm {
  border-top-right-radius: 0.5rem !important;
  border-bottom-right-radius: 0.5rem !important;
}

.rounded-bottom-sm {
  border-bottom-left-radius: 0.5rem !important;
  border-bottom-right-radius: 0.5rem !important;
}

.rounded-start-sm,
.rounded-left-sm {
  border-top-left-radius: 0.5rem !important;
  border-bottom-left-radius: 0.5rem !important;
}

.rounded {
  border-radius: 0.75rem !important;
}

.rounded-top {
  border-top-left-radius: 0.75rem !important;
  border-top-right-radius: 0.75rem !important;
}

.rounded-end,
.rounded-right {
  border-top-right-radius: 0.75rem !important;
  border-bottom-right-radius: 0.75rem !important;
}

.rounded-bottom {
  border-bottom-left-radius: 0.75rem !important;
  border-bottom-right-radius: 0.75rem !important;
}

.rounded-start,
.rounded-left {
  border-top-left-radius: 0.75rem !important;
  border-bottom-left-radius: 0.75rem !important;
}

.rounded-lg {
  border-radius: 1rem !important;
}

.rounded-top-lg {
  border-top-left-radius: 1rem !important;
  border-top-right-radius: 1rem !important;
}

.rounded-end-lg,
.rounded-right-lg {
  border-top-right-radius: 1rem !important;
  border-bottom-right-radius: 1rem !important;
}

.rounded-bottom-lg {
  border-bottom-left-radius: 1rem !important;
  border-bottom-right-radius: 1rem !important;
}

.rounded-start-lg,
.rounded-left-lg {
  border-top-left-radius: 1rem !important;
  border-bottom-left-radius: 1rem !important;
}

.rounded-xl {
  border-radius: 1.5rem !important;
}

.rounded-top-xl {
  border-top-left-radius: 1.5rem !important;
  border-top-right-radius: 1.5rem !important;
}

.rounded-end-xl,
.rounded-right-xl {
  border-top-right-radius: 1.5rem !important;
  border-bottom-right-radius: 1.5rem !important;
}

.rounded-bottom-xl {
  border-bottom-left-radius: 1.5rem !important;
  border-bottom-right-radius: 1.5rem !important;
}

.rounded-start-xl,
.rounded-left-xl {
  border-top-left-radius: 1.5rem !important;
  border-bottom-left-radius: 1.5rem !important;
}

.rounded-2xl {
  border-radius: 2rem !important;
}

.rounded-top-2xl {
  border-top-left-radius: 2rem !important;
  border-top-right-radius: 2rem !important;
}

.rounded-end-2xl,
.rounded-right-2xl {
  border-top-right-radius: 2rem !important;
  border-bottom-right-radius: 2rem !important;
}

.rounded-bottom-2xl {
  border-bottom-left-radius: 2rem !important;
  border-bottom-right-radius: 2rem !important;
}

.rounded-start-2xl,
.rounded-left-2xl {
  border-top-left-radius: 2rem !important;
  border-bottom-left-radius: 2rem !important;
}

.rounded-full,
.rounded-pill {
  border-radius: 9999px !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-none,
.rounded-0 {
  border-radius: 0 !important;
}

.outline-none {
  outline: none !important;
}

.outline-focus {
  outline: 2px solid var(--color-border-focus) !important;
  outline-offset: 2px !important;
}

.rounded-bubble-end {
  padding: 0 30px;
  border-radius: 50px 5px 50px 50px;
}

.rounded-bubble-start {
  padding: 0 30px;
  border-radius: 5px 50px 50px 50px;
}

.rounded-bubble-sm {
  border-radius: 20px 3px 20px 20px;
}

.blob-1 {
  border-radius: 67% 33% 61% 39%/47% 30% 70% 53%;
}

.shadow-sm {
  box-shadow: 0 1px 2px 0 color-mix(in oklch, black 8%, transparent) !important;
}

.shadow {
  box-shadow: 0 1px 3px 0 color-mix(in oklch, black 10%, transparent), 0 1px 2px -1px color-mix(in oklch, black 10%, transparent) !important;
}

.shadow-lg {
  box-shadow: 0 4px 6px -1px color-mix(in oklch, black 10%, transparent), 0 2px 4px -2px color-mix(in oklch, black 10%, transparent) !important;
}

.shadow-xl {
  box-shadow: 0 10px 15px -3px color-mix(in oklch, black 10%, transparent), 0 4px 6px -4px color-mix(in oklch, black 10%, transparent) !important;
}

.shadow-page {
  box-shadow: var(--card-shadow, 0 1px 3px 0 color-mix(in oklch, black 10%, transparent), 0 1px 2px -1px color-mix(in oklch, black 10%, transparent)) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.box-shadow,
.box-shadow-hover:hover {
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.08) !important;
  -webkit-transition: 350ms ease-in-out !important;
  transition: 350ms ease-in-out !important;
}

.box-shadow-small,
.box-shadow-small-hover:hover {
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.08) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-medium,
.box-shadow-medium-hover:hover {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-medium-bottom,
.box-shadow-medium-bottom-hover:hover {
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-large,
.box-shadow-large-hover:hover {
  -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.08) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-extra-large,
.box-shadow-extra-large-hover:hover {
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.08) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-double-large,
.box-shadow-double-large-hover:hover {
  -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09) !important;
  box-shadow: 0 0 45px rgba(0, 0, 0, 0.09) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-triple-large,
.box-shadow-triple-large-hover:hover {
  -webkit-box-shadow: 0 0 60px rgba(0, 0, 0, 0.2) !important;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.2) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-quadruple-large,
.box-shadow-quadruple-large-hover:hover {
  -webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08) !important;
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1) !important;
}

.box-shadow-hover:hover, .box-shadow-large-hover:hover, .box-shadow-extra-large-hover:hover, .box-shadow-medium-hover:hover, .box-shadow-small-hover:hover, .box-shadow-double-large-hover:hover, .box-shadow-quadruple-large-hover:hover {
  -webkit-transform: translate3d(0, -3px, 0);
  transform: translate3d(0, -3px, 0);
}

.box-shadow-bottom {
  -webkit-box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.05);
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

@media only screen and (min-width: 768px) {
  .md\:w-25, .w-md-25 {
    width: 25% !important;
  }
  .md\:w-50, .w-md-50 {
    width: 50% !important;
  }
  .md\:w-75, .w-md-75 {
    width: 75% !important;
  }
  .md\:w-100, .w-md-100 {
    width: 100% !important;
  }
  .md\:w-auto, .w-md-auto {
    width: auto !important;
  }
  .md\:h-25, .h-md-25 {
    height: 25% !important;
  }
  .md\:h-50, .h-md-50 {
    height: 50% !important;
  }
  .md\:h-75, .h-md-75 {
    height: 75% !important;
  }
  .md\:h-100, .h-md-100 {
    height: 100% !important;
  }
  .md\:h-auto, .h-md-auto {
    height: auto !important;
  }
}
@media only screen and (min-width: 992px) {
  .lg\:w-25, .w-lg-25 {
    width: 25% !important;
  }
  .lg\:w-50, .w-lg-50 {
    width: 50% !important;
  }
  .lg\:w-75, .w-lg-75 {
    width: 75% !important;
  }
  .lg\:w-100, .w-lg-100 {
    width: 100% !important;
  }
  .lg\:w-auto, .w-lg-auto {
    width: auto !important;
  }
  .lg\:h-25, .h-lg-25 {
    height: 25% !important;
  }
  .lg\:h-50, .h-lg-50 {
    height: 50% !important;
  }
  .lg\:h-75, .h-lg-75 {
    height: 75% !important;
  }
  .lg\:h-100, .h-lg-100 {
    height: 100% !important;
  }
  .lg\:h-auto, .h-lg-auto {
    height: auto !important;
  }
}
@media only screen and (min-width: 1200px) {
  .xl\:w-25, .w-xl-25 {
    width: 25% !important;
  }
  .xl\:w-50, .w-xl-50 {
    width: 50% !important;
  }
  .xl\:w-75, .w-xl-75 {
    width: 75% !important;
  }
  .xl\:w-100, .w-xl-100 {
    width: 100% !important;
  }
  .xl\:w-auto, .w-xl-auto {
    width: auto !important;
  }
  .xl\:h-25, .h-xl-25 {
    height: 25% !important;
  }
  .xl\:h-50, .h-xl-50 {
    height: 50% !important;
  }
  .xl\:h-75, .h-xl-75 {
    height: 75% !important;
  }
  .xl\:h-100, .h-xl-100 {
    height: 100% !important;
  }
  .xl\:h-auto, .h-xl-auto {
    height: auto !important;
  }
}
.w-max-100 {
  max-width: 100% !important;
}

.h-max-100 {
  max-height: 100% !important;
}

.wh-100 {
  width: 100% !important;
  height: 100% !important;
}

.gap-0 {
  gap: 0 !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.col-gap-0 {
  column-gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.col-gap-1 {
  column-gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.col-gap-2 {
  column-gap: 0.5rem !important;
}

.gap-3 {
  gap: 0.75rem !important;
}

.row-gap-3 {
  row-gap: 0.75rem !important;
}

.col-gap-3 {
  column-gap: 0.75rem !important;
}

.gap-4 {
  gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1rem !important;
}

.col-gap-4 {
  column-gap: 1rem !important;
}

.gap-5 {
  gap: 1.25rem !important;
}

.row-gap-5 {
  row-gap: 1.25rem !important;
}

.col-gap-5 {
  column-gap: 1.25rem !important;
}

.gap-6 {
  gap: 1.5rem !important;
}

.row-gap-6 {
  row-gap: 1.5rem !important;
}

.col-gap-6 {
  column-gap: 1.5rem !important;
}

.gap-7 {
  gap: 1.75rem !important;
}

.row-gap-7 {
  row-gap: 1.75rem !important;
}

.col-gap-7 {
  column-gap: 1.75rem !important;
}

.gap-8 {
  gap: 2rem !important;
}

.row-gap-8 {
  row-gap: 2rem !important;
}

.col-gap-8 {
  column-gap: 2rem !important;
}

.gap-9 {
  gap: 2.5rem !important;
}

.row-gap-9 {
  row-gap: 2.5rem !important;
}

.col-gap-9 {
  column-gap: 2.5rem !important;
}

.gap-10 {
  gap: 3rem !important;
}

.row-gap-10 {
  row-gap: 3rem !important;
}

.col-gap-10 {
  column-gap: 3rem !important;
}

@media only screen and (min-width: 576px) {
  .sm\:gap-0,
  .gap-sm-0 {
    gap: 0 !important;
  }
  .sm\:row-gap-0,
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .sm\:col-gap-0,
  .col-gap-sm-0 {
    column-gap: 0 !important;
  }
  .sm\:gap-1,
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .sm\:row-gap-1,
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .sm\:col-gap-1,
  .col-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .sm\:gap-2,
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .sm\:row-gap-2,
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .sm\:col-gap-2,
  .col-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .sm\:gap-3,
  .gap-sm-3 {
    gap: 0.75rem !important;
  }
  .sm\:row-gap-3,
  .row-gap-sm-3 {
    row-gap: 0.75rem !important;
  }
  .sm\:col-gap-3,
  .col-gap-sm-3 {
    column-gap: 0.75rem !important;
  }
  .sm\:gap-4,
  .gap-sm-4 {
    gap: 1rem !important;
  }
  .sm\:row-gap-4,
  .row-gap-sm-4 {
    row-gap: 1rem !important;
  }
  .sm\:col-gap-4,
  .col-gap-sm-4 {
    column-gap: 1rem !important;
  }
  .sm\:gap-5,
  .gap-sm-5 {
    gap: 1.25rem !important;
  }
  .sm\:row-gap-5,
  .row-gap-sm-5 {
    row-gap: 1.25rem !important;
  }
  .sm\:col-gap-5,
  .col-gap-sm-5 {
    column-gap: 1.25rem !important;
  }
  .sm\:gap-6,
  .gap-sm-6 {
    gap: 1.5rem !important;
  }
  .sm\:row-gap-6,
  .row-gap-sm-6 {
    row-gap: 1.5rem !important;
  }
  .sm\:col-gap-6,
  .col-gap-sm-6 {
    column-gap: 1.5rem !important;
  }
  .sm\:gap-7,
  .gap-sm-7 {
    gap: 1.75rem !important;
  }
  .sm\:row-gap-7,
  .row-gap-sm-7 {
    row-gap: 1.75rem !important;
  }
  .sm\:col-gap-7,
  .col-gap-sm-7 {
    column-gap: 1.75rem !important;
  }
  .sm\:gap-8,
  .gap-sm-8 {
    gap: 2rem !important;
  }
  .sm\:row-gap-8,
  .row-gap-sm-8 {
    row-gap: 2rem !important;
  }
  .sm\:col-gap-8,
  .col-gap-sm-8 {
    column-gap: 2rem !important;
  }
  .sm\:gap-9,
  .gap-sm-9 {
    gap: 2.5rem !important;
  }
  .sm\:row-gap-9,
  .row-gap-sm-9 {
    row-gap: 2.5rem !important;
  }
  .sm\:col-gap-9,
  .col-gap-sm-9 {
    column-gap: 2.5rem !important;
  }
  .sm\:gap-10,
  .gap-sm-10 {
    gap: 3rem !important;
  }
  .sm\:row-gap-10,
  .row-gap-sm-10 {
    row-gap: 3rem !important;
  }
  .sm\:col-gap-10,
  .col-gap-sm-10 {
    column-gap: 3rem !important;
  }
}
@media only screen and (min-width: 768px) {
  .md\:gap-0,
  .gap-md-0 {
    gap: 0 !important;
  }
  .md\:row-gap-0,
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .md\:col-gap-0,
  .col-gap-md-0 {
    column-gap: 0 !important;
  }
  .md\:gap-1,
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .md\:row-gap-1,
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .md\:col-gap-1,
  .col-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .md\:gap-2,
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .md\:row-gap-2,
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .md\:col-gap-2,
  .col-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .md\:gap-3,
  .gap-md-3 {
    gap: 0.75rem !important;
  }
  .md\:row-gap-3,
  .row-gap-md-3 {
    row-gap: 0.75rem !important;
  }
  .md\:col-gap-3,
  .col-gap-md-3 {
    column-gap: 0.75rem !important;
  }
  .md\:gap-4,
  .gap-md-4 {
    gap: 1rem !important;
  }
  .md\:row-gap-4,
  .row-gap-md-4 {
    row-gap: 1rem !important;
  }
  .md\:col-gap-4,
  .col-gap-md-4 {
    column-gap: 1rem !important;
  }
  .md\:gap-5,
  .gap-md-5 {
    gap: 1.25rem !important;
  }
  .md\:row-gap-5,
  .row-gap-md-5 {
    row-gap: 1.25rem !important;
  }
  .md\:col-gap-5,
  .col-gap-md-5 {
    column-gap: 1.25rem !important;
  }
  .md\:gap-6,
  .gap-md-6 {
    gap: 1.5rem !important;
  }
  .md\:row-gap-6,
  .row-gap-md-6 {
    row-gap: 1.5rem !important;
  }
  .md\:col-gap-6,
  .col-gap-md-6 {
    column-gap: 1.5rem !important;
  }
  .md\:gap-7,
  .gap-md-7 {
    gap: 1.75rem !important;
  }
  .md\:row-gap-7,
  .row-gap-md-7 {
    row-gap: 1.75rem !important;
  }
  .md\:col-gap-7,
  .col-gap-md-7 {
    column-gap: 1.75rem !important;
  }
  .md\:gap-8,
  .gap-md-8 {
    gap: 2rem !important;
  }
  .md\:row-gap-8,
  .row-gap-md-8 {
    row-gap: 2rem !important;
  }
  .md\:col-gap-8,
  .col-gap-md-8 {
    column-gap: 2rem !important;
  }
  .md\:gap-9,
  .gap-md-9 {
    gap: 2.5rem !important;
  }
  .md\:row-gap-9,
  .row-gap-md-9 {
    row-gap: 2.5rem !important;
  }
  .md\:col-gap-9,
  .col-gap-md-9 {
    column-gap: 2.5rem !important;
  }
  .md\:gap-10,
  .gap-md-10 {
    gap: 3rem !important;
  }
  .md\:row-gap-10,
  .row-gap-md-10 {
    row-gap: 3rem !important;
  }
  .md\:col-gap-10,
  .col-gap-md-10 {
    column-gap: 3rem !important;
  }
}
@media only screen and (min-width: 992px) {
  .lg\:gap-0,
  .gap-lg-0 {
    gap: 0 !important;
  }
  .lg\:row-gap-0,
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .lg\:col-gap-0,
  .col-gap-lg-0 {
    column-gap: 0 !important;
  }
  .lg\:gap-1,
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .lg\:row-gap-1,
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .lg\:col-gap-1,
  .col-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .lg\:gap-2,
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .lg\:row-gap-2,
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .lg\:col-gap-2,
  .col-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .lg\:gap-3,
  .gap-lg-3 {
    gap: 0.75rem !important;
  }
  .lg\:row-gap-3,
  .row-gap-lg-3 {
    row-gap: 0.75rem !important;
  }
  .lg\:col-gap-3,
  .col-gap-lg-3 {
    column-gap: 0.75rem !important;
  }
  .lg\:gap-4,
  .gap-lg-4 {
    gap: 1rem !important;
  }
  .lg\:row-gap-4,
  .row-gap-lg-4 {
    row-gap: 1rem !important;
  }
  .lg\:col-gap-4,
  .col-gap-lg-4 {
    column-gap: 1rem !important;
  }
  .lg\:gap-5,
  .gap-lg-5 {
    gap: 1.25rem !important;
  }
  .lg\:row-gap-5,
  .row-gap-lg-5 {
    row-gap: 1.25rem !important;
  }
  .lg\:col-gap-5,
  .col-gap-lg-5 {
    column-gap: 1.25rem !important;
  }
  .lg\:gap-6,
  .gap-lg-6 {
    gap: 1.5rem !important;
  }
  .lg\:row-gap-6,
  .row-gap-lg-6 {
    row-gap: 1.5rem !important;
  }
  .lg\:col-gap-6,
  .col-gap-lg-6 {
    column-gap: 1.5rem !important;
  }
  .lg\:gap-7,
  .gap-lg-7 {
    gap: 1.75rem !important;
  }
  .lg\:row-gap-7,
  .row-gap-lg-7 {
    row-gap: 1.75rem !important;
  }
  .lg\:col-gap-7,
  .col-gap-lg-7 {
    column-gap: 1.75rem !important;
  }
  .lg\:gap-8,
  .gap-lg-8 {
    gap: 2rem !important;
  }
  .lg\:row-gap-8,
  .row-gap-lg-8 {
    row-gap: 2rem !important;
  }
  .lg\:col-gap-8,
  .col-gap-lg-8 {
    column-gap: 2rem !important;
  }
  .lg\:gap-9,
  .gap-lg-9 {
    gap: 2.5rem !important;
  }
  .lg\:row-gap-9,
  .row-gap-lg-9 {
    row-gap: 2.5rem !important;
  }
  .lg\:col-gap-9,
  .col-gap-lg-9 {
    column-gap: 2.5rem !important;
  }
  .lg\:gap-10,
  .gap-lg-10 {
    gap: 3rem !important;
  }
  .lg\:row-gap-10,
  .row-gap-lg-10 {
    row-gap: 3rem !important;
  }
  .lg\:col-gap-10,
  .col-gap-lg-10 {
    column-gap: 3rem !important;
  }
}
@media only screen and (min-width: 1200px) {
  .xl\:gap-0,
  .gap-xl-0 {
    gap: 0 !important;
  }
  .xl\:row-gap-0,
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .xl\:col-gap-0,
  .col-gap-xl-0 {
    column-gap: 0 !important;
  }
  .xl\:gap-1,
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .xl\:row-gap-1,
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .xl\:col-gap-1,
  .col-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .xl\:gap-2,
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .xl\:row-gap-2,
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .xl\:col-gap-2,
  .col-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .xl\:gap-3,
  .gap-xl-3 {
    gap: 0.75rem !important;
  }
  .xl\:row-gap-3,
  .row-gap-xl-3 {
    row-gap: 0.75rem !important;
  }
  .xl\:col-gap-3,
  .col-gap-xl-3 {
    column-gap: 0.75rem !important;
  }
  .xl\:gap-4,
  .gap-xl-4 {
    gap: 1rem !important;
  }
  .xl\:row-gap-4,
  .row-gap-xl-4 {
    row-gap: 1rem !important;
  }
  .xl\:col-gap-4,
  .col-gap-xl-4 {
    column-gap: 1rem !important;
  }
  .xl\:gap-5,
  .gap-xl-5 {
    gap: 1.25rem !important;
  }
  .xl\:row-gap-5,
  .row-gap-xl-5 {
    row-gap: 1.25rem !important;
  }
  .xl\:col-gap-5,
  .col-gap-xl-5 {
    column-gap: 1.25rem !important;
  }
  .xl\:gap-6,
  .gap-xl-6 {
    gap: 1.5rem !important;
  }
  .xl\:row-gap-6,
  .row-gap-xl-6 {
    row-gap: 1.5rem !important;
  }
  .xl\:col-gap-6,
  .col-gap-xl-6 {
    column-gap: 1.5rem !important;
  }
  .xl\:gap-7,
  .gap-xl-7 {
    gap: 1.75rem !important;
  }
  .xl\:row-gap-7,
  .row-gap-xl-7 {
    row-gap: 1.75rem !important;
  }
  .xl\:col-gap-7,
  .col-gap-xl-7 {
    column-gap: 1.75rem !important;
  }
  .xl\:gap-8,
  .gap-xl-8 {
    gap: 2rem !important;
  }
  .xl\:row-gap-8,
  .row-gap-xl-8 {
    row-gap: 2rem !important;
  }
  .xl\:col-gap-8,
  .col-gap-xl-8 {
    column-gap: 2rem !important;
  }
  .xl\:gap-9,
  .gap-xl-9 {
    gap: 2.5rem !important;
  }
  .xl\:row-gap-9,
  .row-gap-xl-9 {
    row-gap: 2.5rem !important;
  }
  .xl\:col-gap-9,
  .col-gap-xl-9 {
    column-gap: 2.5rem !important;
  }
  .xl\:gap-10,
  .gap-xl-10 {
    gap: 3rem !important;
  }
  .xl\:row-gap-10,
  .row-gap-xl-10 {
    row-gap: 3rem !important;
  }
  .xl\:col-gap-10,
  .col-gap-xl-10 {
    column-gap: 3rem !important;
  }
}
@media only screen and (min-width: 1400px) {
  .xxl\:gap-0,
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .xxl\:row-gap-0,
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .xxl\:col-gap-0,
  .col-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .xxl\:gap-1,
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .xxl\:row-gap-1,
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .xxl\:col-gap-1,
  .col-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .xxl\:gap-2,
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .xxl\:row-gap-2,
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .xxl\:col-gap-2,
  .col-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .xxl\:gap-3,
  .gap-xxl-3 {
    gap: 0.75rem !important;
  }
  .xxl\:row-gap-3,
  .row-gap-xxl-3 {
    row-gap: 0.75rem !important;
  }
  .xxl\:col-gap-3,
  .col-gap-xxl-3 {
    column-gap: 0.75rem !important;
  }
  .xxl\:gap-4,
  .gap-xxl-4 {
    gap: 1rem !important;
  }
  .xxl\:row-gap-4,
  .row-gap-xxl-4 {
    row-gap: 1rem !important;
  }
  .xxl\:col-gap-4,
  .col-gap-xxl-4 {
    column-gap: 1rem !important;
  }
  .xxl\:gap-5,
  .gap-xxl-5 {
    gap: 1.25rem !important;
  }
  .xxl\:row-gap-5,
  .row-gap-xxl-5 {
    row-gap: 1.25rem !important;
  }
  .xxl\:col-gap-5,
  .col-gap-xxl-5 {
    column-gap: 1.25rem !important;
  }
  .xxl\:gap-6,
  .gap-xxl-6 {
    gap: 1.5rem !important;
  }
  .xxl\:row-gap-6,
  .row-gap-xxl-6 {
    row-gap: 1.5rem !important;
  }
  .xxl\:col-gap-6,
  .col-gap-xxl-6 {
    column-gap: 1.5rem !important;
  }
  .xxl\:gap-7,
  .gap-xxl-7 {
    gap: 1.75rem !important;
  }
  .xxl\:row-gap-7,
  .row-gap-xxl-7 {
    row-gap: 1.75rem !important;
  }
  .xxl\:col-gap-7,
  .col-gap-xxl-7 {
    column-gap: 1.75rem !important;
  }
  .xxl\:gap-8,
  .gap-xxl-8 {
    gap: 2rem !important;
  }
  .xxl\:row-gap-8,
  .row-gap-xxl-8 {
    row-gap: 2rem !important;
  }
  .xxl\:col-gap-8,
  .col-gap-xxl-8 {
    column-gap: 2rem !important;
  }
  .xxl\:gap-9,
  .gap-xxl-9 {
    gap: 2.5rem !important;
  }
  .xxl\:row-gap-9,
  .row-gap-xxl-9 {
    row-gap: 2.5rem !important;
  }
  .xxl\:col-gap-9,
  .col-gap-xxl-9 {
    column-gap: 2.5rem !important;
  }
  .xxl\:gap-10,
  .gap-xxl-10 {
    gap: 3rem !important;
  }
  .xxl\:row-gap-10,
  .row-gap-xxl-10 {
    row-gap: 3rem !important;
  }
  .xxl\:col-gap-10,
  .col-gap-xxl-10 {
    column-gap: 3rem !important;
  }
}
.list-unstyled {
  padding-left: 0 !important;
  list-style: none !important;
}

.list-inline {
  padding-left: 0 !important;
  list-style: none !important;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: var(--list-inline-gap, 0.5rem);
}

.list-inline > li {
  display: inline-block;
}
.list-inline > li:not(:last-child) {
  margin-right: var(--list-inline-gap, 0.5rem);
}

.list-inline-sm {
  --list-inline-gap: 0.25rem;
}

.list-inline-lg {
  --list-inline-gap: 0.875rem;
}

.list-inline-dash,
.list-inline-slash,
.list-inline-vbar {
  padding-left: 0 !important;
  list-style: none !important;
}
.list-inline-dash > li,
.list-inline-slash > li,
.list-inline-vbar > li {
  display: inline-block;
}
.list-inline-dash > li:not(:last-child)::after,
.list-inline-slash > li:not(:last-child)::after,
.list-inline-vbar > li:not(:last-child)::after {
  display: inline-block;
  margin-left: calc(var(--list-separator-gap, 0.5rem) * 0.6);
  margin-right: var(--list-separator-gap, 0.5rem);
  opacity: 0.75;
}

.list-inline-dash > li:not(:last-child)::after {
  content: "-";
}

.list-inline-slash > li:not(:last-child)::after {
  content: "/";
}

.list-inline-vbar > li:not(:last-child)::after {
  content: "|";
}

.list-dash {
  padding-left: 0 !important;
  list-style: none !important;
}
.list-dash > li {
  position: relative;
  padding-left: var(--list-dash-indent, 1.25rem);
}
.list-dash > li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.75;
}

.list-icon {
  padding-left: 0 !important;
  list-style: none !important;
}
.list-icon > li {
  position: relative;
  padding-left: var(--list-icon-indent, 1.5rem);
}
.list-icon > li > i.bi,
.list-icon > li > .bi {
  position: absolute;
  left: 0;
  top: 0.15em;
  line-height: 1;
  color: var(--list-icon-color, var(--color-text-secondary));
}

.list-icon-check {
  --list-icon-color: var(--color-success-600);
}

.list-icon-close {
  --list-icon-color: var(--color-danger-600);
}

.list-icon-plus {
  --list-icon-color: var(--color-primary-600);
}

.list-icon-chevron {
  --list-icon-color: var(--color-neutral-600);
}

.list-icon-download {
  --list-icon-color: var(--color-info-600);
}

.list-icon-caret {
  --list-icon-color: var(--color-neutral-600);
}

.list-icon-ratio {
  --list-icon-color: var(--color-neutral-600);
}

.list-ordered {
  padding-left: 0 !important;
  list-style: none !important;
  counter-reset: framex-counter;
  --list-ordered-badge-bg: color-mix(in oklch, var(--color-text-primary) 8%, transparent);
  --list-ordered-badge-color: var(--color-text-primary);
}
.list-ordered > li {
  counter-increment: framex-counter;
  position: relative;
  padding-left: 2.25rem;
}
.list-ordered > li::before {
  content: counter(framex-counter);
  position: absolute;
  left: 0;
  top: 0.05em;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  background: var(--list-ordered-badge-bg);
  color: var(--list-ordered-badge-color);
}

.list-ordered.style-2 {
  --list-ordered-badge-bg: var(--color-neutral-200);
  --list-ordered-badge-color: var(--color-neutral-900);
}

.list-ordered.style-3 {
  --list-ordered-badge-bg: var(--color-neutral-900);
  --list-ordered-badge-color: var(--color-neutral-50);
}

.list-ordered.style-4 {
  --list-ordered-badge-bg: var(--color-primary-600);
  --list-ordered-badge-color: var(--color-primary-contrast-dark, #fff);
}

.list-ordered.style-5 {
  --list-ordered-badge-bg: var(--color-neutral-600);
  --list-ordered-badge-color: var(--color-neutral-50);
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.overflow-visible {
  overflow: visible;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-scroll {
  overflow: scroll;
}

.overflow-auto {
  overflow: auto;
}

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

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

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

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

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

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

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

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

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.ratio {
  position: relative;
  width: 100%;
  --ratio: 100%;
}
.ratio::before {
  display: block;
  content: "";
  padding-top: var(--ratio);
}
.ratio > * {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.ratio > img {
  object-fit: cover;
}

.ratio-21x9 {
  --ratio: 42.857143%;
}

.ratio-16x9 {
  --ratio: 56.25%;
}

.ratio-4x3 {
  --ratio: 75%;
}

.ratio-1x1 {
  --ratio: 100%;
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.sticky {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.vstack {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.vstack button {
  width: fit-content;
}

.stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.stack > * {
  margin-block-end: 0;
  margin-block-start: 0;
}
.stack > * + * {
  margin-block-start: 0.5rem;
}

.cards, .entries {
  display: grid;
  gap: 1rem;
  justify-content: center;
  align-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
}

/* The outer container */
.ql-code-block-container {
  background-color: #282c34; /* Dark Slate (Atom/VS Code style) */
  color: #abb2bf; /* Light grey text */
  font-family: "Fira Code", "Courier New", monospace;
  padding: 1rem;
  border-radius: 6px;
  line-height: 1.5;
  margin: 1em 0;
  overflow-x: auto; /* Allow horizontal scrolling for long lines */
  white-space: pre; /* Preserves spaces/indentation from the HTML */
}

/* Individual lines of code */
.ql-code-block {
  display: block; /* Ensures each div stays on its own line */
  min-height: 1.5rem;
}

/* Optional: Add line numbers using CSS counters */
.ql-code-block-container {
  counter-reset: line;
}

.ql-code-block::before {
  counter-increment: line;
  content: counter(line);
  display: inline-block;
  width: 2rem;
  margin-right: 1rem;
  color: #5c6370; /* Muted color for line numbers */
  text-align: right;
  user-select: none; /* Prevents numbers from being highlighted */
}

/* Subtle hover effect for lines */
.ql-code-block:hover {
  background-color: #323842;
}

.z-0 {
  z-index: 0 !important;
}

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

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

.z-30 {
  z-index: 30 !important;
}

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

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

.z-auto {
  z-index: auto !important;
}

.z-n-1 {
  z-index: -1;
}

.z-n-2 {
  z-index: -2;
}

.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-move {
  cursor: move;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-progress {
  cursor: progress;
}
.cursor-help {
  cursor: help;
}
.cursor-crosshair {
  cursor: crosshair;
}

code[class*=language-], pre[class*=language-] {
  color: #ccc;
  background: 0 0;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  font-size: 1em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

pre[class*=language-] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}

:not(pre) > code[class*=language-], pre[class*=language-] {
  background: #2d2d2d;
}

:not(pre) > code[class*=language-] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}

.token.block-comment, .token.cdata, .token.comment, .token.doctype, .token.prolog {
  color: #999;
}

.token.punctuation {
  color: #ccc;
}

.token.attr-name, .token.deleted, .token.namespace, .token.tag {
  color: #e2777a;
}

.token.function-name {
  color: #6196cc;
}

.token.boolean, .token.function, .token.number {
  color: #f08d49;
}

.token.class-name, .token.constant, .token.property, .token.symbol {
  color: #f8c555;
}

.token.atrule, .token.builtin, .token.important, .token.keyword, .token.selector {
  color: #cc99cd;
}

.token.attr-value, .token.char, .token.regex, .token.string, .token.variable {
  color: #7ec699;
}

.token.entity, .token.operator, .token.url {
  color: #67cdcc;
}

.token.bold, .token.important {
  font-weight: 700;
}

.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}

.token.inserted {
  color: green;
}

[class*=line-icon], [class*=" line-icon"], [class*=bi-], [class*=feather], [class*=ti-], [class*=fa-] {
  display: inline-block;
  letter-spacing: 0;
}

.form-control, .form-control.is-invalid, .was-validated .form-control:invalid {
  background-position: right 20px center !important;
}

/* Icon size */
.icon-80 {
  font-size: 80px;
}

.icon-60 {
  font-size: 60px;
}

.icon-50 {
  font-size: 50px;
}

.icon-42 {
  font-size: 42px;
}

.icon-34 {
  font-size: 34px;
}

.icon-28 {
  font-size: 28px;
}

.icon-24 {
  font-size: 24px;
}

.icon-18 {
  font-size: 18px;
}

.icon-14 {
  font-size: 14px;
}

.navbar {
  --nav-height: 83px;
  --navbar-bg: white;
  --dropdown-bg: white;
  --mega-menu-bg: white;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  height: var(--nav-height);
  background: var(--navbar-bg);
  -webkit-transition: all 0.35s var(--navbar-transition-easing, cubic-bezier(0.37, 0, 0.63, 1));
  transition: all 0.35s var(--navbar-transition-easing, cubic-bezier(0.37, 0, 0.63, 1));
}
.navbar.is-scrolled {
  --nav-height: 75px;
  background: var(--navbar-bg-scrolled, var(--navbar-bg, var(--color-surface-1)));
  -webkit-box-shadow: var(--navbar-shadow-scrolled, 0 4px 30px color-mix(in oklch, black 12%, transparent));
  box-shadow: var(--navbar-shadow-scrolled, 0 4px 30px color-mix(in oklch, black 12%, transparent));
}
.navbar.is-transparent {
  --navbar-bg: transparent;
  --navbar-bg-scrolled: var(--color-surface-1);
}
.navbar.is-dark {
  --navbar-bg: var(--color-surface-1);
  --navbar-bg-scrolled: var(--color-surface-1);
  --dropdown-bg: var(--color-surface-raised);
  --mega-menu-bg: var(--color-surface-raised);
}

.navbar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  max-width: var(--navbar-container-max-width, 1400px);
  margin: 0 auto;
  padding: 0 var(--navbar-container-padding-x, 1.5rem);
}
@media (min-width: 1199px) {
  .navbar-container {
    padding: 0 var(--navbar-container-padding-x-tablet, 3rem);
  }
}

.navbar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
  flex-shrink: 0;
}
.navbar-brand:hover {
  text-decoration: none;
}

.navbar-logo {
  height: calc(var(--nav-height) - var(--navbar-logo-offset, 30px));
  width: auto;
  -webkit-transition: height 0.35s var(--navbar-transition-easing, cubic-bezier(0.37, 0, 0.63, 1));
  transition: height 0.35s var(--navbar-transition-easing, cubic-bezier(0.37, 0, 0.63, 1));
}
.navbar-logo img,
.navbar-logo .navbar-logo-img {
  height: 100%;
  width: auto;
  object-fit: contain;
}

.navbar-logo-img {
  display: block;
}
.navbar-logo-img--on-light {
  display: block;
}
:root[data-theme=dark] .navbar-logo-img--on-light, :root.dark .navbar-logo-img--on-light, html.dark .navbar-logo-img--on-light {
  display: none;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]):not(.light) .navbar-logo-img--on-light {
    display: none;
  }
}
.navbar-logo-img--on-dark {
  display: none;
}
:root[data-theme=dark] .navbar-logo-img--on-dark, :root.dark .navbar-logo-img--on-dark, html.dark .navbar-logo-img--on-dark {
  display: block;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]):not(.light) .navbar-logo-img--on-dark {
    display: block;
  }
}

.navbar.is-dark .navbar-logo-img--on-light {
  display: none;
}
.navbar.is-dark .navbar-logo-img--on-dark {
  display: block;
}

.navbar-logo-text {
  font-size: var(--navbar-logo-font-size, 1.5rem);
  font-weight: var(--navbar-logo-font-weight, 700);
  letter-spacing: var(--navbar-logo-letter-spacing, -0.02em);
  color: var(--navbar-text, inherit);
}
.navbar-logo-text span {
  color: var(--navbar-accent, var(--color-brand-primary));
}

#primary-nav {
  min-width: 0;
}
@media (min-width: 991px) {
  #primary-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 auto;
  }
}

.navbar-nav {
  position: fixed;
  top: var(--nav-height);
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--navbar-nav-gap-mobile, 0.25rem);
  list-style: none;
  margin: 0;
  padding: var(--navbar-nav-padding-mobile, 1.5rem);
  background: var(--mobile-menu-bg, var(--color-surface-1));
  overflow-y: auto;
  box-sizing: border-box;
  min-width: 0;
  transform: translateX(100%);
  -webkit-transition: transform 0.35s var(--navbar-transition-easing, cubic-bezier(0.37, 0, 0.63, 1));
  transition: transform 0.35s var(--navbar-transition-easing, cubic-bezier(0.37, 0, 0.63, 1));
  z-index: 1029;
}
.navbar.is-mobile-open .navbar-nav {
  transform: translateX(0);
}
@media (min-width: 991px) {
  .navbar-nav {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    flex-direction: row;
    align-items: center;
    gap: var(--navbar-nav-gap-desktop, 0.5rem);
    margin-left: var(--navbar-nav-margin-left-desktop, 1rem);
    padding: 0;
    background: none;
    overflow: visible;
    transform: none;
    z-index: auto;
  }
}

.navbar-item {
  position: relative;
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .navbar-item {
    border-bottom: 1px solid var(--mobile-menu-border, var(--color-border-subtle));
  }
  .navbar-item:last-child {
    border-bottom: none;
  }
}

.navbar-link {
  display: flex;
  align-items: center;
  gap: var(--navbar-link-gap, 0.375rem);
  padding: var(--navbar-link-padding-y, 0.75rem) var(--navbar-link-padding-x, 1rem);
  font-size: var(--navbar-link-font-size, 0.9375rem);
  font-weight: var(--navbar-link-font-weight, 500);
  color: var(--navbar-text, var(--color-text-secondary));
  text-decoration: none;
  border-radius: var(--navbar-link-radius, 8px);
  -webkit-transition: all var(--navbar-transition-medium, 0.25s) ease;
  transition: all var(--navbar-transition-medium, 0.25s) ease;
}
.navbar-link:hover, .navbar-link:focus {
  color: var(--navbar-text-hover, var(--color-text-primary));
  background: var(--navbar-link-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
  text-decoration: none;
}
.navbar-link.is-active {
  color: var(--navbar-accent, var(--color-brand-primary));
}
.navbar-item.has-dropdown > .navbar-link, .navbar-item.has-mega-menu > .navbar-link {
  padding-right: var(--navbar-link-padding-right-dropdown, 1.75rem);
}
.navbar-item.has-dropdown > .navbar-link::after, .navbar-item.has-mega-menu > .navbar-link::after {
  content: "";
  position: absolute;
  right: var(--navbar-indicator-right, 0.75rem);
  width: var(--navbar-indicator-size, 6px);
  height: var(--navbar-indicator-size, 6px);
  border-right: var(--navbar-indicator-stroke, 2px) currentColor solid;
  border-bottom: var(--navbar-indicator-stroke, 2px) currentColor solid;
  transform: rotate(45deg);
  -webkit-transition: transform var(--navbar-transition-medium, 0.25s) ease;
  transition: transform var(--navbar-transition-medium, 0.25s) ease;
}
.navbar-item.is-open > .navbar-link::after {
  transform: rotate(-135deg);
  margin-top: var(--navbar-indicator-rotate-open-margin-top, 3px);
}
@media (max-width: 991px) {
  .navbar-link {
    width: 100%;
    justify-content: space-between;
    padding: var(--navbar-link-padding-y-mobile, 1rem) var(--navbar-link-padding-x-mobile, 0.75rem);
    border-radius: var(--navbar-link-radius-mobile, 6px);
  }
}

.navbar-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: var(--navbar-dropdown-min-width, 260px);
  padding: var(--navbar-dropdown-padding, 0.5rem);
  background: var(--dropdown-bg, var(--color-surface-raised));
  border-radius: 12px;
  -webkit-box-shadow: var(--dropdown-shadow, 0 10px 40px color-mix(in oklch, black 15%, transparent));
  box-shadow: var(--dropdown-shadow, 0 10px 40px color-mix(in oklch, black 15%, transparent));
  opacity: 0;
  visibility: hidden;
  transform: translateY(var(--navbar-dropdown-offset-y, 10px));
  -webkit-transition: all var(--navbar-transition-medium, 0.25s) ease;
  transition: all var(--navbar-transition-medium, 0.25s) ease;
  list-style: none;
  margin: var(--navbar-dropdown-margin-top, 0.5rem) 0 0;
  z-index: 1001;
}
.navbar-item.is-open > .navbar-dropdown, .navbar-item:hover > .navbar-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.navbar-dropdown.is-right {
  left: auto;
  right: 0;
}
@media (max-width: 991px) {
  .navbar-dropdown {
    position: static;
    top: auto;
    left: auto;
    min-width: 0;
    padding: var(--navbar-dropdown-mobile-padding-top, 0.25rem) 0 var(--navbar-dropdown-mobile-padding-bottom, 0.75rem) var(--navbar-dropdown-mobile-padding-left, 0.75rem);
    background: transparent;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    margin: 0;
    display: none;
  }
  .navbar-item.is-open > .navbar-dropdown {
    display: block;
  }
}

.navbar-dropdown-item {
  position: relative;
}

.navbar-dropdown-link {
  display: flex;
  align-items: center;
  gap: var(--navbar-dropdown-link-gap, 0.75rem);
  padding: var(--navbar-dropdown-link-padding-y, 0.4rem) var(--navbar-dropdown-link-padding-x, 0.75rem);
  font-size: var(--navbar-dropdown-font-size, 0.9375rem);
  color: var(--dropdown-text, var(--color-text-secondary));
  text-decoration: none;
  border-radius: var(--navbar-dropdown-item-radius, 8px);
  -webkit-transition: all var(--navbar-transition-fast, 0.2s) ease;
  transition: all var(--navbar-transition-fast, 0.2s) ease;
}
.navbar-dropdown-link:hover, .navbar-dropdown-link:focus {
  color: var(--dropdown-text-hover, var(--color-text-primary));
  background: var(--navbar-dropdown-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
  text-decoration: none;
}
.navbar-dropdown-link i,
.navbar-dropdown-link .icon {
  width: var(--navbar-dropdown-icon-size, 20px);
  height: var(--navbar-dropdown-icon-size, 20px);
  opacity: 0.7;
}
.has-dropdown > .navbar-dropdown-link::after {
  content: "";
  margin-left: auto;
  width: var(--navbar-sub-indicator-size, 5px);
  height: var(--navbar-sub-indicator-size, 5px);
  border-right: var(--navbar-sub-indicator-stroke, 1.5px) currentColor solid;
  border-bottom: var(--navbar-sub-indicator-stroke, 1.5px) currentColor solid;
  transform: rotate(-45deg);
}

.navbar-dropdown .navbar-dropdown {
  top: 0;
  left: 100%;
  margin-top: 0;
  margin-left: var(--navbar-dropdown-nested-offset, 0.5rem);
}
.navbar-dropdown .navbar-dropdown.is-left {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: var(--navbar-dropdown-nested-offset, 0.5rem);
}
@media (max-width: 991px) {
  .navbar-dropdown .navbar-dropdown {
    position: static;
    left: auto;
    right: auto;
    margin: 0;
    padding-left: var(--navbar-dropdown-mobile-padding-left, 0.75rem);
  }
}

.navbar-mega-menu {
  position: fixed;
  top: var(--nav-height, 80px);
  left: 50%;
  transform: translateX(-50%) translateY(var(--navbar-mega-offset-y, 10px));
  width: calc(100% - var(--navbar-mega-gutter, 3rem));
  max-width: var(--navbar-mega-max-width, 1200px);
  padding: var(--navbar-mega-padding, 2rem);
  background: var(--mega-menu-bg, var(--color-surface-raised));
  border-radius: var(--navbar-mega-radius, 16px);
  -webkit-box-shadow: var(--mega-menu-shadow, 0 20px 60px color-mix(in oklch, black 15%, transparent));
  box-shadow: var(--mega-menu-shadow, 0 20px 60px color-mix(in oklch, black 15%, transparent));
  opacity: 0;
  visibility: hidden;
  max-height: calc(100vh - var(--nav-height, 83px) - var(--navbar-mega-overflow-bottom-margin, 1.5rem));
  overflow-y: auto;
  -webkit-transition: all var(--navbar-transition-slow, 0.3s) ease;
  transition: all var(--navbar-transition-slow, 0.3s) ease;
  z-index: 1001;
}
.navbar-item.is-open > .navbar-mega-menu, .navbar-item:hover > .navbar-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
@media (max-width: 991px) {
  .navbar-mega-menu {
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    max-width: none;
    max-height: none;
    overflow-y: visible;
    padding: 0;
    background: transparent;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
  }
  .navbar-item.is-open > .navbar-mega-menu {
    display: block;
  }
}

.navbar-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--navbar-mega-grid-gap, 2rem);
}
@media (max-width: 1199px) {
  .navbar-mega-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 991px) {
  .navbar-mega-grid {
    grid-template-columns: 1fr;
    gap: var(--navbar-mega-grid-gap-mobile, 0.75rem);
    margin-left: 0;
    padding: 0 0 0.75rem 0;
  }
}

@media (max-width: 991px) {
  .navbar-nav .navbar-dropdown,
  .navbar-nav .navbar-mega-menu {
    position: static;
    left: 0;
    right: 0;
    top: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    transform: none;
    margin: 0;
    opacity: 1;
    visibility: visible;
    display: none;
  }
  .navbar-nav .navbar-item.is-open > .navbar-dropdown,
  .navbar-nav .navbar-item.is-open > .navbar-mega-menu {
    display: block;
  }
  .navbar-nav .navbar-item.is-open > .navbar-mega-menu,
  .navbar-nav .navbar-item:hover > .navbar-mega-menu {
    transform: none;
  }
  .navbar-nav .navbar-item.is-open > .navbar-mega-menu {
    padding-top: var(--navbar-mega-mobile-padding-top, 1rem);
  }
  .navbar-mega-column {
    gap: var(--navbar-mega-column-gap-mobile, 0.5rem);
  }
  .navbar-mega-title {
    margin-bottom: var(--navbar-mega-title-margin-bottom-mobile, 0.25rem);
    padding-bottom: var(--navbar-mega-title-padding-bottom-mobile, 0.5rem);
  }
  .navbar-mega-link {
    width: 100%;
    padding: var(--navbar-mega-link-padding-y-mobile, 0.625rem) var(--navbar-mega-link-padding-x-mobile, 0.75rem);
    border-radius: var(--navbar-mega-link-radius-mobile, 8px);
  }
  .navbar-mega-desc {
    margin-top: var(--navbar-mega-desc-margin-top-mobile, 0.15rem);
  }
}
.navbar-mega-column {
  display: flex;
  flex-direction: column;
  gap: var(--navbar-mega-column-gap, 0.75rem);
}

.navbar-mega-title {
  font-size: var(--navbar-mega-title-font-size, 0.875rem);
  font-weight: var(--navbar-mega-title-font-weight, 600);
  text-transform: uppercase;
  letter-spacing: var(--navbar-mega-title-letter-spacing, 0.05em);
  color: var(--mega-menu-title, var(--color-text-muted));
  margin-bottom: var(--navbar-mega-title-margin-bottom, 0.5rem);
  padding-bottom: var(--navbar-mega-title-padding-bottom, 0.75rem);
  border-bottom: 1px solid var(--mega-menu-border, var(--color-border-subtle));
}

.navbar-mega-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--navbar-mega-list-gap, 0.25rem);
}

.navbar-mega-link {
  display: flex;
  align-items: center;
  gap: var(--navbar-mega-link-gap, 0.75rem);
  padding: var(--navbar-mega-link-padding-y, 0.34rem) var(--navbar-mega-link-padding-x, 0.75rem);
  font-size: var(--navbar-link-font-size, 0.9375rem);
  color: var(--mega-menu-text, var(--color-text-secondary));
  text-decoration: none;
  border-radius: var(--navbar-mega-link-radius, 8px);
  -webkit-transition: all var(--navbar-transition-fast, 0.2s) ease;
  transition: all var(--navbar-transition-fast, 0.2s) ease;
}
.navbar-mega-link:hover, .navbar-mega-link:focus {
  color: var(--mega-menu-text-hover, var(--color-text-primary));
  background: var(--navbar-megalink-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
  text-decoration: none;
}
.navbar-mega-link.is-featured {
  background: var(--mega-menu-featured-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
  color: var(--navbar-accent, var(--color-brand-primary));
  font-weight: 500;
}

.navbar-mega-desc {
  font-size: var(--navbar-mega-desc-font-size, 0.8125rem);
  color: var(--mega-menu-desc, var(--color-text-muted));
  margin-top: var(--navbar-mega-desc-margin-top, 0.25rem);
  line-height: var(--navbar-mega-desc-line-height, 1.4);
}

.navbar-mega-card {
  display: flex;
  flex-direction: column;
  gap: var(--navbar-mega-card-gap, 1rem);
  padding: var(--navbar-mega-card-padding, 1.5rem);
  background: var(--mega-menu-card-bg, linear-gradient(135deg, var(--color-brand-primary) 0%, var(--primitive-info-500) 100%));
  border-radius: var(--navbar-mega-card-radius, 12px);
  color: white;
  text-decoration: none;
}
.navbar-mega-card:hover {
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
}

.navbar-mega-card-title {
  font-size: var(--navbar-mega-card-title-font-size, 1.125rem);
  font-weight: var(--navbar-mega-card-title-font-weight, 600);
}

.navbar-mega-card-text {
  font-size: var(--navbar-mega-card-text-font-size, 0.875rem);
  opacity: 0.9;
}

.navbar-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: var(--navbar-toggle-size, 44px);
  height: var(--navbar-toggle-size, 44px);
  margin-left: var(--navbar-toggle-margin-left, 1rem);
  gap: var(--navbar-toggle-gap, 6px);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  border-radius: var(--navbar-toggle-radius, 8px);
  -webkit-transition: all var(--navbar-transition-medium, 0.25s) ease;
  transition: all var(--navbar-transition-medium, 0.25s) ease;
}
@media (min-width: 991px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-toggle:hover {
  background: var(--navbar-link-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
}
.navbar-toggle span {
  display: block;
  width: var(--navbar-toggle-line-width, 24px);
  height: var(--navbar-toggle-line-height, 2px);
  background: var(--navbar-text, var(--color-text-secondary));
  border-radius: var(--navbar-toggle-line-radius, 2px);
  -webkit-transition: all var(--navbar-transition-slow, 0.3s) ease;
  transition: all var(--navbar-transition-slow, 0.3s) ease;
  transform-origin: center;
}
.navbar-toggle.is-active span:nth-child(1) {
  transform: translateY(var(--navbar-toggle-active-shift, 8px)) rotate(45deg);
}
.navbar-toggle.is-active span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.navbar-toggle.is-active span:nth-child(3) {
  transform: translateY(calc(0px - var(--navbar-toggle-active-shift, 8px))) rotate(-45deg);
}

.navbar-actions {
  display: flex;
  align-items: center;
  gap: var(--navbar-actions-gap, 0.5rem);
  margin-left: auto;
  white-space: nowrap;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}

.navbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--navbar-btn-gap, 0.5rem);
  padding: var(--navbar-btn-padding-y, 0.625rem) var(--navbar-btn-padding-x, 1.25rem);
  font-size: var(--navbar-btn-font-size, 0.9375rem);
  font-weight: var(--navbar-btn-font-weight, 500);
  border-radius: var(--navbar-btn-radius, 8px);
  text-decoration: none;
  -webkit-transition: all var(--navbar-transition-medium, 0.25s) ease;
  transition: all var(--navbar-transition-medium, 0.25s) ease;
  cursor: pointer;
  border: none;
}
.navbar-btn--primary {
  background: var(--navbar-accent, var(--color-brand-primary));
  color: var(--color-text-inverse);
}
.navbar-btn--primary:hover {
  background: var(--navbar-accent-hover, var(--color-interactive-hover));
  color: var(--color-text-inverse);
  text-decoration: none;
  transform: translateY(-1px);
  -webkit-box-shadow: 0 4px 12px color-mix(in oklch, var(--color-brand-primary) 30%, transparent);
  box-shadow: 0 4px 12px color-mix(in oklch, var(--color-brand-primary) 30%, transparent);
}
.navbar-btn--ghost {
  background: transparent;
  color: var(--navbar-text, var(--color-text-secondary));
}
.navbar-btn--ghost:hover {
  background: var(--navbar-link-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
  color: var(--navbar-text-hover, var(--color-text-primary));
  text-decoration: none;
}
.navbar-btn--compact {
  padding: var(--navbar-btn-compact-padding-y, 0.45rem) var(--navbar-btn-compact-padding-x, 0.85rem);
  font-size: var(--navbar-btn-compact-font-size, 0.875rem);
  border-radius: var(--navbar-btn-compact-radius, 10px);
}
.navbar-btn i,
.navbar-btn .icon {
  width: var(--navbar-btn-icon-size, 18px);
  height: var(--navbar-btn-icon-size, 18px);
  font-size: var(--navbar-btn-icon-font-size, 1rem);
  line-height: 1;
}

.navbar-theme-toggle {
  width: var(--navbar-theme-toggle-size, 37px);
  height: var(--navbar-theme-toggle-size, 37px);
  min-width: var(--navbar-theme-toggle-size, 37px);
  padding: 0;
}
.navbar-theme-toggle i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.navbar-theme-toggle:hover {
  color: var(--navbar-text-hover, var(--color-text-primary));
  background: var(--navbar-link-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
  border-color: color-mix(in oklch, var(--navbar-text-hover, var(--color-text-primary)) 24%, transparent);
}

.navbar-search-toggle {
  width: var(--navbar-theme-toggle-size, 37px);
  height: var(--navbar-theme-toggle-size, 37px);
  min-width: var(--navbar-theme-toggle-size, 37px);
  padding: 0;
}
.navbar-search-toggle i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.navbar-search-toggle:hover, .navbar-search-toggle[aria-expanded=true] {
  color: var(--navbar-text-hover, var(--color-text-primary));
  background: var(--navbar-link-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
}

.navbar-search-form {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--navbar-bg, var(--color-surface));
  border-top: 1px solid var(--color-border-subtle);
  -webkit-box-shadow: var(--navbar-shadow-scrolled, 0 4px 30px color-mix(in oklch, black 12%, transparent));
  box-shadow: var(--navbar-shadow-scrolled, 0 4px 30px color-mix(in oklch, black 12%, transparent));
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  pointer-events: none;
  -webkit-transition: all var(--navbar-transition-medium, 0.25s) ease;
  transition: all var(--navbar-transition-medium, 0.25s) ease;
  z-index: 1001;
}
.navbar-search-form.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.navbar-search-container {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: var(--navbar-container-max-width, 1400px);
  margin: 0 auto;
  padding: 1rem var(--navbar-container-padding-x, 1.5rem);
}
@media (min-width: 1199px) {
  .navbar-search-container {
    padding: 1.25rem var(--navbar-container-padding-x-tablet, 3rem);
  }
}

.navbar-search-form-inner {
  flex: 1 1 auto;
  min-width: 0;
}
.navbar-search-form-inner .input-group {
  max-width: 720px;
  margin: 0 auto;
}
.navbar-search-form-inner .input-addon i,
.navbar-search-form-inner .input-addon-btn i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
}

.navbar-search-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--navbar-theme-toggle-size, 37px);
  height: var(--navbar-theme-toggle-size, 37px);
  flex: 0 0 auto;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--navbar-btn-radius, 8px);
  color: var(--navbar-text, var(--color-text-secondary));
  cursor: pointer;
  -webkit-transition: all var(--navbar-transition-fast, 0.2s) ease;
  transition: all var(--navbar-transition-fast, 0.2s) ease;
}
.navbar-search-close i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  line-height: 1;
}
.navbar-search-close:hover {
  color: var(--navbar-text-hover, var(--color-text-primary));
  background: var(--navbar-link-hover-bg, color-mix(in oklch, var(--color-brand-primary) 10%, transparent));
}

.navbar-overlay {
  position: fixed;
  top: var(--nav-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--navbar-overlay-bg, var(--overlay-bg));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all var(--navbar-transition-slow, 0.3s) ease;
  transition: all var(--navbar-transition-slow, 0.3s) ease;
  z-index: 1028;
}
.navbar.is-mobile-open ~ .navbar-overlay, .navbar:has(.is-mobile-open) ~ .navbar-overlay, .navbar:has(.navbar-search-form.is-active) ~ .navbar-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.has-navbar-open {
  overflow: hidden;
}

.nav-transparent .navbar + .navbar-overlay + div[style*="height: var(--nav-height"],
.nav-transparent .navbar + div[style*="height: var(--nav-height"] {
  display: none !important;
}
.nav-transparent .navbar {
  --navbar-bg: transparent;
  --navbar-bg-scrolled: var(--color-surface-1);
  --navbar-shadow: none;
  --navbar-text: white;
  --navbar-text-hover: white;
  --navbar-link-hover-bg: color-mix(in oklch, white 10%, transparent);
}
.nav-transparent .navbar:not(.is-dark) .navbar-logo-text,
.nav-transparent .navbar:not(.is-dark) .navbar-link,
.nav-transparent .navbar:not(.is-dark) .navbar-btn--ghost,
.nav-transparent .navbar:not(.is-dark) .navbar-btn--ghost i {
  color: white;
  text-shadow: 0 1px 2px color-mix(in oklch, black 30%, transparent);
}
.nav-transparent .navbar:not(.is-dark) .navbar-toggle span {
  background: white;
}
.nav-transparent .navbar:not(.is-scrolled):not(.is-dark) .navbar-logo-img--on-light {
  display: none;
}
.nav-transparent .navbar:not(.is-scrolled):not(.is-dark) .navbar-logo-img--on-dark {
  display: block;
}
.nav-transparent .navbar.is-scrolled {
  --navbar-bg: var(--color-surface-1);
  --navbar-shadow: var(--navbar-shadow-scrolled);
  --navbar-text: var(--color-text-secondary);
  --navbar-text-hover: var(--color-text-primary);
  --navbar-link-hover-bg: color-mix(in oklch, var(--color-brand-primary) 10%, transparent);
}
.nav-transparent .navbar.is-scrolled .navbar-logo-text,
.nav-transparent .navbar.is-scrolled .navbar-link,
.nav-transparent .navbar.is-scrolled .navbar-btn--ghost,
.nav-transparent .navbar.is-scrolled .navbar-btn--ghost i {
  color: inherit;
  text-shadow: none;
}
.nav-transparent .navbar.is-scrolled .navbar-toggle span {
  background: var(--color-text-secondary);
}
.nav-transparent .nav-transparent {
  padding-top: var(--nav-height, 80px);
}
@media (max-width: 991px) {
  .nav-transparent.is-mobile-open,
  .nav-transparent .navbar.is-mobile-open {
    background: transparent;
  }
  .nav-transparent.is-mobile-open .navbar-nav,
  .nav-transparent .navbar.is-mobile-open .navbar-nav {
    --navbar-text: var(--color-text-secondary);
    --navbar-text-hover: var(--color-text-primary);
    --mobile-menu-bg: var(--color-surface-1);
  }
  .nav-transparent.is-mobile-open .navbar-link,
  .nav-transparent .navbar.is-mobile-open .navbar-link {
    color: var(--navbar-text, var(--color-text-secondary));
    text-shadow: none;
  }
  .nav-transparent.is-mobile-open .navbar-link:hover, .nav-transparent.is-mobile-open .navbar-link:focus,
  .nav-transparent .navbar.is-mobile-open .navbar-link:hover,
  .nav-transparent .navbar.is-mobile-open .navbar-link:focus {
    color: var(--navbar-text-hover, var(--color-text-primary));
  }
  .nav-transparent.is-mobile-open .navbar-mega-title,
  .nav-transparent .navbar.is-mobile-open .navbar-mega-title {
    color: var(--color-text-muted);
    border-bottom-color: var(--color-border-subtle);
  }
  .nav-transparent.is-mobile-open .navbar-dropdown-link,
  .nav-transparent.is-mobile-open .navbar-mega-link,
  .nav-transparent .navbar.is-mobile-open .navbar-dropdown-link,
  .nav-transparent .navbar.is-mobile-open .navbar-mega-link {
    color: var(--color-text-secondary);
  }
  .nav-transparent.is-mobile-open .navbar-dropdown-link:hover,
  .nav-transparent.is-mobile-open .navbar-mega-link:hover,
  .nav-transparent .navbar.is-mobile-open .navbar-dropdown-link:hover,
  .nav-transparent .navbar.is-mobile-open .navbar-mega-link:hover {
    color: var(--color-text-primary);
  }
}

:root[data-theme=dark] body:not(.nav-transparent) .navbar, :root.dark body:not(.nav-transparent) .navbar, html.dark body:not(.nav-transparent) .navbar {
  --navbar-bg: var(--color-surface);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]):not(.light) body:not(.nav-transparent) .navbar {
    --navbar-bg: var(--color-surface);
  }
}

:root[data-theme=dark] .navbar, :root.dark .navbar, html.dark .navbar {
  --dropdown-bg: var(--color-surface-raised);
  --mega-menu-bg: var(--color-surface-raised);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]):not(.light) .navbar {
    --dropdown-bg: var(--color-surface-raised);
    --mega-menu-bg: var(--color-surface-raised);
  }
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--color-text-muted);
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumbs > span,
.breadcrumbs > li,
.breadcrumbs .breadcrumbs-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}
.breadcrumbs > span:not(:first-child)::before,
.breadcrumbs > li:not(:first-child)::before,
.breadcrumbs .breadcrumbs-item:not(:first-child)::before {
  content: "/";
  color: var(--color-border-strong);
  font-weight: 400;
  margin-inline: 0.5rem;
  flex-shrink: 0;
}
.breadcrumbs a {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 150ms ease;
}
.breadcrumbs a:hover {
  color: var(--color-brand-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.breadcrumbs a:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-focus-ring) 25%, transparent);
  border-radius: 0.25rem;
}
.breadcrumbs .breadcrumbs-item--current,
.breadcrumbs > span:last-child,
.breadcrumbs > li:last-child {
  color: var(--color-text-primary);
  font-weight: 500;
}
.breadcrumbs .breadcrumbs-item--current a,
.breadcrumbs > span:last-child a,
.breadcrumbs > li:last-child a {
  color: var(--color-text-primary);
  pointer-events: none;
  text-decoration: none;
}

.breadcrumbs--chevron > span:not(:first-child)::before,
.breadcrumbs--chevron > li:not(:first-child)::before,
.breadcrumbs--chevron .breadcrumbs-item:not(:first-child)::before {
  content: "›";
  font-size: 1em;
}

.breadcrumbs--dot > span:not(:first-child)::before,
.breadcrumbs--dot > li:not(:first-child)::before,
.breadcrumbs--dot .breadcrumbs-item:not(:first-child)::before {
  content: "·";
  font-size: 1.2em;
  line-height: 1;
}

.breadcrumbs--arrow > span:not(:first-child)::before,
.breadcrumbs--arrow > li:not(:first-child)::before,
.breadcrumbs--arrow .breadcrumbs-item:not(:first-child)::before {
  content: "→";
  font-size: 0.85em;
}

.breadcrumbs--pill {
  gap: 0.25rem;
}
.breadcrumbs--pill > span,
.breadcrumbs--pill > li,
.breadcrumbs--pill .breadcrumbs-item {
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  background: var(--color-bg-muted);
  transition: background-color 150ms ease;
}
.breadcrumbs--pill > span:not(:first-child)::before,
.breadcrumbs--pill > li:not(:first-child)::before,
.breadcrumbs--pill .breadcrumbs-item:not(:first-child)::before {
  display: none;
}
.breadcrumbs--pill > span a:hover,
.breadcrumbs--pill > li a:hover,
.breadcrumbs--pill .breadcrumbs-item a:hover {
  text-decoration: none;
}
.breadcrumbs--pill > span:hover:not(:last-child),
.breadcrumbs--pill > li:hover:not(:last-child),
.breadcrumbs--pill .breadcrumbs-item:hover:not(:last-child) {
  background: color-mix(in oklch, var(--color-brand-primary) 10%, transparent);
}
.breadcrumbs--pill .breadcrumbs-item--current,
.breadcrumbs--pill > span:last-child,
.breadcrumbs--pill > li:last-child {
  background: color-mix(in oklch, var(--color-brand-primary) 12%, transparent);
  color: var(--color-brand-primary);
}

.breadcrumbs--minimal {
  font-size: 0.75rem;
  letter-spacing: 0.01em;
}
.breadcrumbs--minimal > span:not(:first-child)::before,
.breadcrumbs--minimal > li:not(:first-child)::before,
.breadcrumbs--minimal .breadcrumbs-item:not(:first-child)::before {
  content: "/";
  opacity: 0.35;
  margin-inline: 0.3rem;
}

.breadcrumbs-item--home a {
  font-size: 0;
}
.breadcrumbs-item--home i,
.breadcrumbs-item--home svg {
  font-size: 0.9rem;
  color: var(--color-text-secondary);
  transition: color 150ms ease;
}
.breadcrumbs-item--home a:hover i,
.breadcrumbs-item--home a:hover svg {
  color: var(--color-brand-primary);
}

.card, .entry {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--card-radius, 0.625rem);
  border: var(--card-border-width, 1px) solid var(--card-border);
  background: var(--card-bg);
  box-shadow: var(--color-shadow-ghost);
  color: var(--card-text);
  transition: background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease, color 200ms ease;
  text-decoration: none;
}
.card:focus-visible, .entry:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-focus-ring) 25%, transparent);
}
.card.entry--link, .card.card--link, .entry.entry--link, .entry.card--link {
  cursor: pointer;
}
.card.entry--link a::after, .card.card--link a::after, .entry.entry--link a::after, .entry.card--link a::after {
  position: absolute;
  inset: 0;
  cursor: pointer;
  content: "";
  z-index: 10;
}

.card-media, .entry-media {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.card-media img,
.card-media video, .entry-media img,
.entry-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform 400ms ease;
}
.card--interactive:hover .card-media img, .entry--interactive:hover .card-media img, a.card:hover .card-media img, a.entry:hover .card-media img, .card--interactive:hover .entry-media img, .entry--interactive:hover .entry-media img, a.card:hover .entry-media img, a.entry:hover .entry-media img {
  transform: scale(1.04);
}

.card-media--16-9, .entry-media--16-9 {
  aspect-ratio: 1/0.5625;
}

.card-media--4-3, .entry-media--4-3 {
  aspect-ratio: 1/0.75;
}

.card-media--3-2, .entry-media--3-2 {
  aspect-ratio: 1/0.6666666667;
}

.card-media--1-1, .entry-media--1-1 {
  aspect-ratio: 1/1;
}

.card-media--3-4, .entry-media--3-4 {
  aspect-ratio: 1/1.3333333333;
}

.card-media--natural, .entry-media--natural {
  aspect-ratio: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-media--natural img,
.card-media--natural video, .entry-media--natural img,
.entry-media--natural video {
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
}

.card-overlay, .entry-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 30%, color-mix(in oklch, black 65%, transparent));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.25rem;
  color: white;
}
.card-overlay .card-title,
.card-overlay .entry-title,
.card-overlay .card-text,
.card-overlay .entry-text,
.card-overlay .card-eyebrow,
.card-overlay .entry-eyebrow, .entry-overlay .card-title,
.entry-overlay .entry-title,
.entry-overlay .card-text,
.entry-overlay .entry-text,
.entry-overlay .card-eyebrow,
.entry-overlay .entry-eyebrow {
  color: oklch(100% 0 0deg);
}

.card-badge, .entry-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  background: var(--color-brand-primary);
  color: var(--color-text-inverse);
  z-index: 1;
  line-height: 1.4;
}
.card-badge--top-right, .entry-badge--top-right {
  left: auto;
  right: 0.75rem;
}
.card-badge--bottom-left, .entry-badge--bottom-left {
  top: auto;
  bottom: 0.75rem;
}
.card-badge--bottom-right, .entry-badge--bottom-right {
  top: auto;
  bottom: 0.75rem;
  left: auto;
  right: 0.75rem;
}
.card-badge--accent, .entry-badge--accent {
  background: var(--color-brand-accent);
}
.card-badge--success, .entry-badge--success {
  background: var(--color-status-success-icon);
}
.card-badge--warning, .entry-badge--warning {
  background: var(--color-status-warning-icon);
}
.card-badge--danger, .entry-badge--danger {
  background: var(--color-status-danger-icon);
}
.card-badge--info, .entry-badge--info {
  background: var(--color-status-info-icon);
}
.card-badge--neutral, .entry-badge--neutral {
  background: var(--primitive-neutral-800);
}
.card-badge--glass, .entry-badge--glass {
  background: color-mix(in oklch, white 20%, transparent);
  backdrop-filter: blur(8px);
  border: 1px solid color-mix(in oklch, white 30%, transparent);
}

.entry-header,
.card-header {
  border-bottom: 1px solid var("--color-border");
  font-weight: 600;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.card-body, .entry-body, .entry-section {
  flex: 1;
  padding: var(--card-padding, 1.5rem);
}
.card-header + .card-body, .entry-header + .card-body, .card-header + .entry-body, .entry-header + .entry-body, .card-header + .entry-section, .entry-header + .entry-section {
  padding-top: 0.75rem;
}
.card-media + .card-body, .entry-media + .card-body, .card-media + .entry-body, .entry-media + .entry-body, .card-media + .entry-section, .entry-media + .entry-section {
  padding-top: 1rem;
}

.card-footer, .entry-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0 var(--card-padding, 1.5rem) var(--card-padding, 1.5rem);
  flex-wrap: wrap;
}
.card-footer--bordered, .entry-footer--bordered {
  border-top: 1px solid var(--card-border);
  padding-top: 1rem;
  margin-top: 0;
}

.card-divider, .entry-divider {
  height: 1px;
  background: var(--card-border);
  margin-block: var(--card-padding, 1.5rem);
  border: none;
}

.card-eyebrow, .entry-eyebrow {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: none;
  color: var(--color-brand-primary);
  margin-bottom: 0.4rem;
  line-height: 1.3;
}

.card-title, .entry-title {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 0.5rem;
  text-wrap: balance;
}
.card-title--lg, .entry-title--lg {
  font-size: 1.25rem;
}
.card-title--xl, .entry-title--xl {
  font-size: 1.5rem;
}
.card-title--sm, .entry-title--sm {
  font-size: 0.9375rem;
}

.card-text, .entry-text {
  font-size: 1rem;
  line-height: 1.65;
  margin: 0 0 0.75rem;
}
.card-text--lg, .entry-text--lg {
  font-size: 1.25rem;
}
.card-text--xl, .entry-text--xl {
  font-size: 1.5rem;
}
.card-text--sm, .entry-text--sm {
  font-size: 0.9375rem;
}
.card-text:last-child, .entry-text:last-child {
  margin-bottom: 0;
}

.card-meta, .entry-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-size: 0.78rem;
  line-height: 1.4;
}
.card-meta > * + *::before, .entry-meta > * + *::before {
  content: "·";
  margin-right: 0.5rem;
  opacity: 0.5;
}

.card-actions, .entry-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.card-actions--end, .entry-actions--end {
  justify-content: flex-end;
}
.card-actions--center, .entry-actions--center {
  justify-content: center;
}
.card-actions--between, .entry-actions--between {
  justify-content: space-between;
  width: 100%;
}

.card-avatar, .entry-avatar {
  flex-shrink: 0;
  border-radius: 9999px;
  overflow: hidden;
  width: 2.5rem;
  height: 2.5rem;
  background: var(--color-bg-muted);
  border: 2px solid var(--color-border-subtle);
}
.card-avatar img, .entry-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card-avatar--sm, .entry-avatar--sm {
  width: 2rem;
  height: 2rem;
}
.card-avatar--lg, .entry-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  border-width: 3px;
}
.card-avatar--xl, .entry-avatar--xl {
  width: 5rem;
  height: 5rem;
  border-width: 3px;
}

.card-icon, .entry-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.625rem;
  background: color-mix(in oklch, var(--color-brand-primary) 12%, transparent);
  color: var(--color-brand-primary);
  font-size: 1.25rem;
  flex-shrink: 0;
  margin-bottom: 1rem;
  transition: background-color 200ms ease, color 200ms ease;
}
.card-icon--secondary, .entry-icon--secondary {
  background: color-mix(in oklch, var(--color-brand-secondary) 12%, transparent);
  color: var(--color-brand-secondary);
}
.card-icon--accent, .entry-icon--accent {
  background: color-mix(in oklch, var(--color-brand-accent) 12%, transparent);
  color: var(--color-brand-accent);
}
.card-icon--success, .entry-icon--success {
  background: var(--color-status-success-bg);
  color: var(--color-status-success-icon);
}
.card-icon--warning, .entry-icon--warning {
  background: var(--color-status-warning-bg);
  color: var(--color-status-warning-icon);
}
.card-icon--danger, .entry-icon--danger {
  background: var(--color-status-danger-bg);
  color: var(--color-status-danger-icon);
}
.card-icon--info, .entry-icon--info {
  background: var(--color-status-info-bg);
  color: var(--color-status-info-icon);
}
.card-icon--lg, .entry-icon--lg {
  width: 4rem;
  height: 4rem;
  border-radius: 0.875rem;
  font-size: 1.5rem;
}
.card-icon--circle, .entry-icon--circle {
  border-radius: 9999px;
}

.card--outlined, .entry--outlined {
  --card-border: var(--color-border-default);
  --card-shadow: none;
}
.card--outlined:hover, .entry--outlined:hover {
  --card-border: var(--color-border-strong);
}

.card--filled, .entry--filled {
  --card-bg: var(--color-surface-2);
  --card-border: transparent;
  --card-shadow: none;
}

.card--elevated, .entry--elevated {
  --card-border: transparent;
  --card-shadow: var(--color-shadow-ghost);
}
.card--elevated:hover, .entry--elevated:hover {
  --card-shadow: var(--card-shadow-hover);
}

.card--flat, .entry--flat {
  --card-border: transparent;
  --card-shadow: none;
}

.card--clean, .entry--clean {
  --card-bg: transparent;
  --card-border: transparent;
  --card-shadow: none;
  box-shadow: none;
}

.card--glass, .entry--glass {
  --card-bg: color-mix(in oklch, var(--color-surface-1) 70%, transparent);
  --card-border: color-mix(in oklch, white 20%, transparent);
  --card-shadow: var(--color-shadow-ghost);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.card--interactive, .entry--interactive {
  cursor: pointer;
  text-decoration: none;
}
.card--interactive:hover, .entry--interactive:hover {
  --card-bg: var(--card-bg-hover);
  --card-border: var(--card-border-hover);
  --card-shadow: var(--card-shadow-hover);
  transform: translateY(-3px);
  text-decoration: none;
}
.card--interactive:active, .entry--interactive:active {
  transform: translateY(-1px);
  --card-shadow: var(--card-shadow);
}
.card--interactive:focus-visible, .entry--interactive:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-focus-ring) 25%, transparent);
}

.card--primary, .entry--primary {
  --card-bg: var(--primitive-primary-50);
  --card-border: var(--primitive-primary-200);
  --card-heading: var(--primitive-primary-900);
}
.card--primary .card-eyebrow, .card--primary .entry-eyebrow, .entry--primary .card-eyebrow, .entry--primary .entry-eyebrow {
  color: var(--primitive-primary-600);
}
.card--primary .card-icon, .card--primary .entry-icon, .entry--primary .card-icon, .entry--primary .entry-icon {
  color: var(--primitive-primary-600);
  background: color-mix(in oklch, var(--primitive-primary-500) 12%, transparent);
}

.card--secondary, .entry--secondary {
  --card-bg: var(--primitive-secondary-50);
  --card-border: var(--primitive-secondary-200);
  --card-heading: var(--primitive-secondary-900);
}
.card--secondary .card-eyebrow, .card--secondary .entry-eyebrow, .entry--secondary .card-eyebrow, .entry--secondary .entry-eyebrow {
  color: var(--primitive-secondary-600);
}
.card--secondary .card-icon, .card--secondary .entry-icon, .entry--secondary .card-icon, .entry--secondary .entry-icon {
  color: var(--primitive-secondary-600);
  background: color-mix(in oklch, var(--primitive-secondary-500) 12%, transparent);
}

.card--accent, .entry--accent {
  --card-bg: var(--primitive-accent-50);
  --card-border: var(--primitive-accent-200);
  --card-heading: var(--primitive-accent-900);
}
.card--accent .card-eyebrow, .card--accent .entry-eyebrow, .entry--accent .card-eyebrow, .entry--accent .entry-eyebrow {
  color: var(--primitive-accent-600);
}
.card--accent .card-icon, .card--accent .entry-icon, .entry--accent .card-icon, .entry--accent .entry-icon {
  color: var(--primitive-accent-600);
  background: color-mix(in oklch, var(--primitive-accent-500) 12%, transparent);
}

.card--success, .entry--success {
  --card-bg: var(--color-status-success-bg);
  --card-border: var(--color-status-success-border);
  --card-heading: var(--color-status-success-text);
}
.card--success .card-eyebrow, .card--success .entry-eyebrow, .entry--success .card-eyebrow, .entry--success .entry-eyebrow {
  color: var(--color-status-success-icon);
}

.card--warning, .entry--warning {
  --card-bg: var(--color-status-warning-bg);
  --card-border: var(--color-status-warning-border);
  --card-heading: var(--color-status-warning-text);
}
.card--warning .card-eyebrow, .card--warning .entry-eyebrow, .entry--warning .card-eyebrow, .entry--warning .entry-eyebrow {
  color: var(--color-status-warning-icon);
}

.card--danger, .entry--danger {
  --card-bg: var(--color-status-danger-bg);
  --card-border: var(--color-status-danger-border);
  --card-heading: var(--color-status-danger-text);
}
.card--danger .card-eyebrow, .card--danger .entry-eyebrow, .entry--danger .card-eyebrow, .entry--danger .entry-eyebrow {
  color: var(--color-status-danger-icon);
}

.card--info, .entry--info {
  --card-bg: var(--color-status-info-bg);
  --card-border: var(--color-status-info-border);
  --card-heading: var(--color-status-info-text);
}
.card--info .card-eyebrow, .card--info .entry-eyebrow, .entry--info .card-eyebrow, .entry--info .entry-eyebrow {
  color: var(--color-status-info-icon);
}

.card--dark, .entry--dark {
  --card-bg: var(--primitive-neutral-900);
  --card-border: var(--primitive-neutral-700);
  --card-heading: var(--primitive-neutral-50);
  --card-text: var(--primitive-neutral-200);
  --card-text-muted: var(--primitive-neutral-400);
}

.card--gradient, .entry--gradient {
  --card-border: transparent;
  background: linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));
  --card-heading: white;
  --card-text: color-mix(in oklch, white 90%, transparent);
  --card-text-muted: color-mix(in oklch, white 75%, transparent);
}
.card--gradient .card-eyebrow, .card--gradient .entry-eyebrow, .entry--gradient .card-eyebrow, .entry--gradient .entry-eyebrow {
  color: color-mix(in oklch, white 80%, transparent);
}
.card--gradient .card-border, .card--gradient .entry-border, .entry--gradient .card-border, .entry--gradient .entry-border {
  background: color-mix(in oklch, white 20%, transparent);
}

.card--horizontal, .entry--horizontal {
  flex-direction: row;
  align-items: stretch;
}
.card--horizontal .card-media, .card--horizontal .entry-media, .entry--horizontal .card-media, .entry--horizontal .entry-media {
  width: 40%;
  min-width: 40%;
  aspect-ratio: 16/9;
  border-radius: 0;
  border-top-left-radius: calc(var(--card-radius, 0.625rem) - 1px);
  border-bottom-left-radius: calc(var(--card-radius, 0.625rem) - 1px);
}
.card--horizontal .card-body, .card--horizontal .entry-body, .card--horizontal .entry-section, .entry--horizontal .card-body, .entry--horizontal .entry-body, .entry--horizontal .entry-section {
  flex: 1;
  min-width: 0;
}
@media only screen and (max-width: 767.999px) {
  .card--horizontal, .entry--horizontal {
    flex-direction: column;
  }
  .card--horizontal .card-media, .card--horizontal .entry-media, .entry--horizontal .card-media, .entry--horizontal .entry-media {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 0;
    border-top-left-radius: calc(var(--card-radius, 0.625rem) - 1px);
    border-top-right-radius: calc(var(--card-radius, 0.625rem) - 1px);
  }
}
.card--horizontal.card--reverse, .card--horizontal.entry--reverse, .entry--horizontal.card--reverse, .entry--horizontal.entry--reverse {
  flex-direction: row-reverse;
}
.card--horizontal.card--reverse .card-media, .card--horizontal.card--reverse .entry-media, .card--horizontal.entry--reverse .card-media, .card--horizontal.entry--reverse .entry-media, .entry--horizontal.card--reverse .card-media, .entry--horizontal.card--reverse .entry-media, .entry--horizontal.entry--reverse .card-media, .entry--horizontal.entry--reverse .entry-media {
  border-radius: 0;
  border-top-right-radius: calc(var(--card-radius, 0.625rem) - 1px);
  border-bottom-right-radius: calc(var(--card-radius, 0.625rem) - 1px);
}
@media only screen and (max-width: 767.999px) {
  .card--horizontal.card--reverse, .card--horizontal.entry--reverse, .entry--horizontal.card--reverse, .entry--horizontal.entry--reverse {
    flex-direction: column;
  }
  .card--horizontal.card--reverse .card-media, .card--horizontal.card--reverse .entry-media, .card--horizontal.entry--reverse .card-media, .card--horizontal.entry--reverse .entry-media, .entry--horizontal.card--reverse .card-media, .entry--horizontal.card--reverse .entry-media, .entry--horizontal.entry--reverse .card-media, .entry--horizontal.entry--reverse .entry-media {
    border-radius: 0;
    border-top-left-radius: calc(var(--card-radius, 0.625rem) - 1px);
    border-top-right-radius: calc(var(--card-radius, 0.625rem) - 1px);
  }
}

.card--compact .card-header, .card--compact .entry-header,
.card--compact .card-body, .card--compact .entry-body, .card--compact .entry-section, .entry--compact .card-header, .entry--compact .entry-header,
.entry--compact .card-body, .entry--compact .entry-body, .entry--compact .entry-section {
  padding: var(--card-padding-sm, 1rem);
}
.card--compact .card-footer, .card--compact .entry-footer, .entry--compact .card-footer, .entry--compact .entry-footer {
  padding: 0 var(--card-padding-sm, 1rem) var(--card-padding-sm, 1rem);
}
.card--compact .card-divider, .card--compact .entry-divider, .entry--compact .card-divider, .entry--compact .entry-divider {
  margin: 0 var(--card-padding-sm, 1rem);
}
.card--compact .card-header + .card-body,
.card--compact .entry-header + .entry-body,
.card--compact .entry-header + .entry-section, .entry--compact .card-header + .card-body,
.entry--compact .entry-header + .entry-body,
.entry--compact .entry-header + .entry-section {
  padding-top: 0.5rem;
}

.card--hero .card-body, .card--hero .entry-body, .card--hero .entry-section, .entry--hero .card-body, .entry--hero .entry-body, .entry--hero .entry-section {
  padding: var(--card-padding-lg, 2rem);
  text-align: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}
.card--hero .card-title, .card--hero .entry-title, .entry--hero .card-title, .entry--hero .entry-title {
  font-size: 1.5rem;
}
.card--hero .card-icon, .card--hero .entry-icon, .entry--hero .card-icon, .entry--hero .entry-icon {
  margin-left: auto;
  margin-right: auto;
}
.card--hero .card-actions, .card--hero .entry-actions, .entry--hero .card-actions, .entry--hero .entry-actions {
  justify-content: center;
}

.card--flush .card-body, .card--flush .entry-body, .card--flush .entry-section,
.card--flush .card-header, .card--flush .entry-header,
.card--flush .card-footer, .card--flush .entry-footer, .entry--flush .card-body, .entry--flush .entry-body, .entry--flush .entry-section,
.entry--flush .card-header, .entry--flush .entry-header,
.entry--flush .card-footer, .entry--flush .entry-footer {
  padding: 0;
}

.card--feature, .entry--feature {
  --card-border: var(--color-border-subtle);
  --card-shadow: none;
}
.card--feature .card-body, .card--feature .entry-body, .card--feature .entry-section, .entry--feature .card-body, .entry--feature .entry-body, .entry--feature .entry-section {
  padding: 1.75rem;
}
.card--feature .card-icon, .card--feature .entry-icon, .entry--feature .card-icon, .entry--feature .entry-icon {
  margin-bottom: 1.25rem;
}
.card--feature:hover, .entry--feature:hover {
  --card-shadow: var(--card-shadow-hover);
  --card-border: var(--color-brand-primary);
}
.card--feature:hover .card-icon, .card--feature:hover .entry-icon, .entry--feature:hover .card-icon, .entry--feature:hover .entry-icon {
  background: color-mix(in oklch, var(--color-brand-primary) 18%, transparent);
}

.card--stat, .entry--stat {
  --card-shadow: none;
}
.card--stat .card-body, .card--stat .entry-body, .card--stat .entry-section, .entry--stat .card-body, .entry--stat .entry-body, .entry--stat .entry-section {
  padding: 1.25rem 1.5rem;
}

.card-stat-value, .entry-stat-value {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--card-heading);
  letter-spacing: -0.03em;
  margin-bottom: 0.35rem;
}

.card-stat-trend, .entry-stat-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 9999px;
}
.card-stat-trend--up, .entry-stat-trend--up {
  color: var(--color-status-success-icon);
  background: var(--color-status-success-bg);
}
.card-stat-trend--down, .entry-stat-trend--down {
  color: var(--color-status-danger-icon);
  background: var(--color-status-danger-bg);
}
.card-stat-trend--neutral, .entry-stat-trend--neutral {
  color: var(--color-text-muted);
  background: var(--color-bg-muted);
}

.card--profile .card-media, .card--profile .entry-media, .entry--profile .card-media, .entry--profile .entry-media {
  aspect-ratio: 3/2;
}
.card--profile-body, .entry--profile-body {
  position: relative;
  padding-top: 0;
}
.card--profile-body .card-avatar, .card--profile-body .entry-avatar, .entry--profile-body .card-avatar, .entry--profile-body .entry-avatar {
  position: relative;
  margin-top: -1.5rem;
  margin-bottom: 0.75rem;
  width: 3.5rem;
  height: 3.5rem;
  border: 3px solid var(--card-bg);
  box-shadow: 0 0 0 2px var(--color-border-subtle);
}

.card--pricing .card-body, .card--pricing .entry-body, .card--pricing .entry-section, .entry--pricing .card-body, .entry--pricing .entry-body, .entry--pricing .entry-section {
  padding: 2rem;
  text-align: center;
}
.card--pricing--featured, .entry--pricing--featured {
  --card-bg: var(--color-brand-primary);
  --card-border: var(--color-brand-primary);
  --card-shadow: var(--shadow-xl);
  --card-heading: white;
  --card-text: color-mix(in oklch, white 85%, transparent);
  --card-text-muted: color-mix(in oklch, white 75%, transparent);
  transform: scale(1.03);
  z-index: 1;
}
.card--pricing--featured .card-eyebrow, .card--pricing--featured .entry-eyebrow, .entry--pricing--featured .card-eyebrow, .entry--pricing--featured .entry-eyebrow {
  color: color-mix(in oklch, white 80%, transparent);
}
.card--pricing--featured .card-icon, .card--pricing--featured .entry-icon, .entry--pricing--featured .card-icon, .entry--pricing--featured .entry-icon {
  background: color-mix(in oklch, white 15%, transparent);
  color: white;
}

.card-price, .entry-price {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
  color: var(--card-heading);
  letter-spacing: -0.04em;
  margin: 0.75rem 0;
}
.card-price span, .entry-price span {
  font-size: 1.25rem;
  font-weight: 600;
  vertical-align: super;
  letter-spacing: 0;
}
.card-price span:last-child, .entry-price span:last-child {
  font-size: 1rem;
  vertical-align: baseline;
  color: var(--card-text-muted);
}

.card-features, .entry-features {
  list-style: none;
  margin: 1.25rem 0;
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.card-features li, .entry-features li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.9rem;
  color: var(--card-text-muted);
  line-height: 1.4;
}
.card-features li::before, .entry-features li::before {
  content: "✓";
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-status-success-icon);
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.card-features li.is-disabled, .entry-features li.is-disabled {
  opacity: 0.45;
}
.card-features li.is-disabled::before, .entry-features li.is-disabled::before {
  content: "✕";
  color: var(--color-text-muted);
}

.card--testimonial .card-body, .card--testimonial .entry-body, .card--testimonial .entry-section, .entry--testimonial .card-body, .entry--testimonial .entry-body, .entry--testimonial .entry-section {
  padding: 1.75rem;
}

.card-quote, .entry-quote {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--card-text-muted);
  margin-bottom: 1.25rem;
  font-style: italic;
  position: relative;
  padding-left: 1.25rem;
}
.card-quote::before, .entry-quote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  bottom: 0.2rem;
  width: 3px;
  border-radius: 9999px;
  background: var(--color-brand-primary);
}

.card-stars, .entry-stars {
  display: flex;
  gap: 0.2rem;
  color: var(--color-status-warning-icon);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}

.card-panel, .entry-panel {
  background: var(--card-bg);
  border: var(--card-border-width, 1px) solid var(--card-border);
  border-radius: var(--card-radius, 0.625rem);
  overflow: hidden;
  box-shadow: var(--card-shadow);
  max-width: 100%;
  box-sizing: border-box;
}

.card-panel--header, .entry-panel--header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: var(--card-border-width, 1px) solid var(--card-border);
}

.card-panel--title, .entry-panel--title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--card-heading);
  margin: 0;
}

.card-panel--action, .entry-panel--action {
  font-size: 0.8rem;
  color: var(--color-brand-primary);
  text-decoration: none;
  font-weight: 500;
}
.card-panel--action:hover, .entry-panel--action:hover {
  text-decoration: underline;
}

.card-panel--body, .entry-panel--body {
  padding: 1.25rem;
}

.card-panel--list, .entry-panel--list {
  display: flex;
  flex-direction: column;
}

.card-panel--item, .entry-panel--item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.875rem 1.25rem;
  border-bottom: var(--card-border-width, 1px) solid var(--card-border);
  transition: background 200ms ease;
  min-width: 0;
}
.card-panel--item[href], .entry-panel--item[href] {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.card-panel--item:last-child, .entry-panel--item:last-child {
  border-bottom: none;
}
.card-panel--item:hover, .entry-panel--item:hover {
  background: var(--color-bg-subtle);
}

.card-panel--rank, .entry-panel--rank {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-text-disabled);
  width: 1.125rem;
  text-align: center;
  flex-shrink: 0;
}

.card-panel--thumb, .entry-panel--thumb {
  width: 2.375rem;
  height: 2.375rem;
  border-radius: var(--card-radius-sm, 0.375rem);
  flex-shrink: 0;
  background: var(--color-bg-muted);
  overflow: hidden;
}
.card-panel--thumb img, .entry-panel--thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-panel--avatar, .entry-panel--avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  flex-shrink: 0;
  background: var(--color-bg-muted);
  overflow: hidden;
}
.card-panel--avatar img, .entry-panel--avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-panel--icon, .entry-panel--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  border-radius: var(--card-radius-sm, 0.375rem);
  background: color-mix(in oklch, var(--color-brand-primary) 12%, transparent);
  color: var(--color-brand-primary);
  font-size: 1rem;
  flex-shrink: 0;
}
.card-panel--icon--secondary, .entry-panel--icon--secondary {
  background: color-mix(in oklch, var(--color-brand-secondary) 12%, transparent);
  color: var(--color-brand-secondary);
}
.card-panel--icon--accent, .entry-panel--icon--accent {
  background: color-mix(in oklch, var(--color-brand-accent) 12%, transparent);
  color: var(--color-brand-accent);
}
.card-panel--icon--success, .entry-panel--icon--success {
  background: var(--color-status-success-bg);
  color: var(--color-status-success-icon);
}
.card-panel--icon--warning, .entry-panel--icon--warning {
  background: var(--color-status-warning-bg);
  color: var(--color-status-warning-icon);
}
.card-panel--icon--danger, .entry-panel--icon--danger {
  background: var(--color-status-danger-bg);
  color: var(--color-status-danger-icon);
}
.card-panel--icon--info, .entry-panel--icon--info {
  background: var(--color-status-info-bg);
  color: var(--color-status-info-icon);
}

.card-panel--info, .entry-panel--info {
  flex: 1;
  min-width: 0;
}

.card-panel--name, .entry-panel--name {
  font-size: 0.825rem;
  font-weight: 600;
  color: var(--card-heading);
  line-height: 1.4;
  margin: 0;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

.card-panel--sub, .entry-panel--sub {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  margin: 0;
}

.card-panel--value, .entry-panel--value {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--card-heading);
  flex-shrink: 0;
}

.cards-grid, .entries-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(18rem, 100%), 1fr));
  gap: 1.25rem;
}
.cards-grid--2, .entries-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
.cards-grid--3, .entries-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.cards-grid--4, .entries-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 991.999px) {
  .cards-grid--3, .cards-grid--4, .entries-grid--3, .entries-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767.999px) {
  .cards-grid--2, .cards-grid--3, .cards-grid--4, .entries-grid--2, .entries-grid--3, .entries-grid--4 {
    grid-template-columns: 1fr;
  }
}
.cards-grid--gap-sm, .entries-grid--gap-sm {
  gap: 0.75rem;
}
.cards-grid--gap-lg, .entries-grid--gap-lg {
  gap: 2rem;
}

.cards-row, .entries-row {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.75rem;
}
.cards-row > .card,
.cards-row > .entry, .entries-row > .card,
.entries-row > .entry {
  flex: 0 0 min(20rem, 85vw);
  scroll-snap-align: start;
}
.cards-row, .entries-row {
  scrollbar-width: auto;
  scrollbar-color: var(--color-brand-primary) var(--color-bg-muted);
}
.cards-row::-webkit-scrollbar, .entries-row::-webkit-scrollbar {
  height: 8px;
}
.cards-row::-webkit-scrollbar-track, .entries-row::-webkit-scrollbar-track {
  background: var(--color-bg-muted);
  border-radius: 9999px;
}
.cards-row::-webkit-scrollbar-thumb, .entries-row::-webkit-scrollbar-thumb {
  background: var(--color-brand-primary);
  border-radius: 9999px;
}
.cards-row::-webkit-scrollbar-thumb:hover, .entries-row::-webkit-scrollbar-thumb:hover {
  background: var(--color-brand-secondary);
}

.download-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.download-list__item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  border: 1px solid var(--color-border-default);
  border-radius: 0.5rem;
  background: var(--color-surface);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color 150ms ease, border-color 150ms ease;
}
.download-list__item:hover {
  background: var(--color-bg-subtle);
  border-color: var(--color-border-strong);
  text-decoration: none;
}
.download-list__item:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-focus-ring) 25%, transparent);
  position: relative;
  z-index: 1;
}

.download-list__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--color-brand-primary);
  color: var(--color-text-inverse);
  font-size: 1.125rem;
}

.download-list__content {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  flex: 1 1 auto;
  min-width: 0;
}

.download-list__title {
  font-weight: 500;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media only screen and (max-width: 767.999px) {
  .download-list__title {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
}

.download-list__meta {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

.download-list__action {
  flex-shrink: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
  transition: color 150ms ease;
}
.download-list__item:hover .download-list__action {
  color: var(--color-brand-primary);
}

.entry-list {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius, 0.625rem);
  text-decoration: none;
  transition: background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}
.entry-list + .entry-list {
  margin-top: 0.75rem;
}
.entry-list:hover {
  text-decoration: none;
  border-color: var(--color-border-focus);
  background: var(--color-surface-1);
  transform: translateX(4px);
}
.entry-list:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-focus-ring) 25%, transparent);
}

.entry-list-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: color-mix(in oklch, var(--color-brand-primary) 10%, transparent);
  color: var(--color-brand-primary);
  font-size: 1rem;
  transition: background-color 200ms ease, color 200ms ease;
}
.entry-list:hover .entry-list-icon {
  background: var(--color-brand-primary);
  color: var(--color-text-inverse);
}

.entry-list-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1 1 auto;
  min-width: 0;
}

.entry-list-title {
  display: block;
  font-weight: 600;
  color: var(--color-text-primary);
}

.entry-list-text {
  display: block;
  font-size: 0.9375rem;
  color: var(--color-text-secondary);
  line-height: 1.5;
}

.section-header {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 100%;
}

.section-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: none;
  color: var(--color-brand-primary);
  line-height: 1;
}

.section-header-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-heading-primary);
}
.section-header-title mark {
  background: transparent;
  color: var(--color-brand-primary);
}

.section-header-subtitle {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--color-text-secondary);
  max-width: 48rem;
}

.section-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

.section-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

.section-header-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.section-header--centered {
  align-items: center;
  text-align: center;
}
.section-header--centered .section-header-subtitle {
  margin-inline: auto;
}
.section-header--centered .section-header-actions {
  justify-content: center;
}
.section-header--centered .section-header-meta {
  justify-content: center;
}

.section-header--right {
  align-items: flex-end;
  text-align: right;
}
.section-header--right .section-header-actions {
  justify-content: flex-end;
}
.section-header--right .section-header-meta {
  justify-content: flex-end;
}

.section-header--sm {
  gap: 0.5rem;
}
.section-header--sm .section-header-eyebrow {
  font-size: 0.6875rem;
}
.section-header--sm .section-header-title {
  font-size: 1.375rem;
  font-weight: 600;
}
.section-header--sm .section-header-subtitle {
  font-size: 0.875rem;
}

.section-header--lg {
  gap: 1rem;
}
.section-header--lg .section-header-title {
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.section-header--lg .section-header-subtitle {
  font-size: 1.125rem;
}

.section-header--xl {
  gap: 1rem;
}
.section-header--xl .section-header-title {
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.section-header--xl .section-header-subtitle {
  font-size: 1.125rem;
}

.section-header--line {
  border-left: 4px solid var(--color-brand-primary);
  padding-left: 1.25rem;
}

.section-header--centered.section-header--line {
  border-left: none;
  padding-left: 0;
}
.section-header--centered.section-header--line::before {
  content: "";
  display: block;
  width: 3rem;
  height: 4px;
  border-radius: 9999px;
  background: var(--color-brand-primary);
  order: -1;
}

.section-header--overline .section-header-eyebrow::before {
  content: "";
  display: inline-block;
  width: 1.75rem;
  height: 2px;
  border-radius: 9999px;
  background: var(--color-brand-primary);
  vertical-align: middle;
  margin-right: 0.375rem;
}

.section-header--badge .section-header-eyebrow {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: color-mix(in oklch, var(--color-brand-primary) 12%, transparent);
  color: var(--color-brand-primary);
  border: 1px solid color-mix(in oklch, var(--color-brand-primary) 25%, transparent);
  font-size: 0.6875rem;
  width: max-content;
}

.section-header-eyebrow--secondary {
  background-color: color-mix(in oklch, var(--color-brand-secondary) 12%, transparent) !important;
  color: var(--color-brand-secondary) !important;
  border-color: color-mix(in oklch, var(--color-brand-secondary) 25%, transparent) !important;
}

.section-header-eyebrow--accent {
  background-color: color-mix(in oklch, var(--color-brand-accent) 12%, transparent) !important;
  color: var(--color-brand-accent) !important;
  border-color: color-mix(in oklch, var(--color-brand-accent) 25%, transparent) !important;
}

.section-header-eyebrow--success {
  background-color: var(--color-status-success-bg) !important;
  color: var(--color-status-success-text) !important;
  border-color: var(--color-status-success-border) !important;
}

.section-header-eyebrow--warning {
  background-color: var(--color-status-warning-bg) !important;
  color: var(--color-status-warning-text) !important;
  border-color: var(--color-status-warning-border) !important;
}

.section-header-eyebrow--danger {
  background-color: var(--color-status-danger-bg) !important;
  color: var(--color-status-danger-text) !important;
  border-color: var(--color-status-danger-border) !important;
}

.section-header-eyebrow--neutral {
  background-color: var(--color-bg-muted) !important;
  color: var(--color-text-muted) !important;
  border-color: var(--color-border-default) !important;
}

.section-header--gradient .section-header-title {
  background: linear-gradient(135deg, var(--color-brand-primary) 0%, var(--color-brand-secondary) 60%, var(--color-brand-accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.section-header--gradient-warm .section-header-title {
  background: linear-gradient(135deg, var(--color-brand-accent) 0%, var(--color-brand-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.section-header--highlight .section-header-title mark {
  background: none;
  color: var(--color-brand-primary);
  position: relative;
  padding-bottom: 0.05em;
}
.section-header--highlight .section-header-title mark::after {
  content: "";
  position: absolute;
  inset-block-end: -0.1em;
  inset-inline: 0;
  height: 3px;
  border-radius: 9999px;
  background: var(--color-brand-primary);
  opacity: 0.45;
}

.section-header--numbered {
  position: relative;
  padding-left: 4.5rem;
}
.section-header--numbered::before {
  content: attr(data-number);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 5rem;
  font-weight: 900;
  line-height: 1;
  color: var(--color-border-default);
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
  opacity: 0.5;
}
:root[data-theme=dark] .section-header--numbered::before, :root.dark .section-header--numbered::before, html.dark .section-header--numbered::before {
  opacity: 0.25;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]):not(.light) .section-header--numbered::before {
    opacity: 0.25;
  }
}

.section-header--split {
  flex-direction: row;
  align-items: flex-start;
  gap: 3rem;
}
.section-header--split .section-header-title {
  flex: 0 0 45%;
  font-size: 1.75rem;
}
.section-header--split .section-header-group {
  flex: 1;
}
@media only screen and (max-width: 767.999px) {
  .section-header--split {
    flex-direction: column;
    gap: 0.75rem;
  }
  .section-header--split .section-header-title {
    flex: none;
    font-size: 2rem;
  }
}

.section-header--stroke .section-header-title {
  -webkit-text-stroke: 2px var(--color-heading-primary);
  color: transparent;
}

.section-header--stroke-primary .section-header-title {
  -webkit-text-stroke: 2px var(--color-brand-primary);
  color: transparent;
}

.section-header-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background: color-mix(in oklch, var(--color-brand-primary) 12%, transparent);
  color: var(--color-brand-primary);
  font-size: 1.125rem;
  flex-shrink: 0;
}

.section-header-icon--secondary {
  background: color-mix(in oklch, var(--color-brand-secondary) 12%, transparent);
  color: var(--color-brand-secondary);
}

.section-header-icon--accent {
  background: color-mix(in oklch, var(--color-brand-accent) 12%, transparent);
  color: var(--color-brand-accent);
}

.section-header-icon--lg {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  font-size: 1.5rem;
}

.section-header-divider {
  width: 3rem;
  height: 3px;
  border-radius: 9999px;
  background: var(--color-brand-primary);
  border: none;
  margin: 0;
  flex-shrink: 0;
}

.section-header--centered .section-header-divider {
  margin-inline: auto;
}

.section-header-divider--secondary {
  background: var(--color-brand-secondary);
}

.section-header-divider--accent {
  background: var(--color-brand-accent);
}

.section-header-divider--wide {
  width: 5rem;
}

.section-header-divider--thick {
  height: 5px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1.4;
}
.form-label .required {
  color: var(--color-status-danger-icon);
  margin-left: 0.2em;
  font-weight: 700;
}

.form-label--inline {
  display: flex;
  align-items: center;
  min-height: 2.5rem;
  margin: 0;
}

.form-control {
  display: block;
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.9375rem;
  font-family: inherit;
  line-height: 1.5;
  color: var(--color-text-primary);
  background-color: var(--color-surface-1);
  border: 1px solid var(--color-border-default);
  border-radius: 0.5rem;
  appearance: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
  outline: none;
}
.form-control::placeholder {
  color: var(--color-text-muted);
  opacity: 1;
}
.form-control:hover:not(:disabled):not(:read-only) {
  border-color: var(--color-border-strong);
}
.form-control:focus {
  border-color: var(--color-border-focus);
}
.form-control:disabled {
  background-color: var(--color-bg-muted);
  color: var(--color-text-disabled);
  border-color: var(--color-border-subtle);
  cursor: not-allowed;
  opacity: 1;
}
.form-control:read-only {
  background-color: var(--color-bg-subtle);
  cursor: default;
}
.form-control:read-only:focus {
  box-shadow: none;
  border-color: var(--color-border-default);
}

textarea.form-control {
  height: auto;
  min-height: 6.25rem;
  resize: vertical;
  padding-top: 0.5rem;
}

.form-control--sm {
  height: 2rem;
  padding: 0.3125rem 0.625rem;
  font-size: 0.8125rem;
  border-radius: 0.25rem;
}

.form-control--lg {
  height: 3rem;
  padding: 0.6875rem 1.125rem;
  font-size: 1.0625rem;
  border-radius: 0.5rem;
}

textarea.form-control--sm {
  height: auto;
  min-height: 5rem;
}

textarea.form-control--lg {
  height: auto;
  min-height: 7.5rem;
}

.form-select {
  display: block;
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 0.875rem;
  padding-right: 2.5rem;
  font-size: 0.9375rem;
  font-family: inherit;
  line-height: 1.5;
  color: var(--color-text-primary);
  background-color: var(--color-surface-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 1rem;
  border: 1px solid var(--color-border-default);
  border-radius: 0.5rem;
  appearance: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
  outline: none;
  cursor: pointer;
}
.form-select:hover:not(:disabled) {
  border-color: var(--color-border-strong);
}
.form-select:focus {
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-border-focus) 20%, transparent);
}
.form-select:disabled {
  background-color: var(--color-bg-muted);
  color: var(--color-text-disabled);
  border-color: var(--color-border-subtle);
  cursor: not-allowed;
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.875rem;
  background-image: none;
}

.form-select--sm {
  height: 2rem;
  padding: 0.3125rem 0.625rem;
  padding-right: 2rem;
  font-size: 0.8125rem;
  border-radius: 0.25rem;
  background-position: right 0.625rem center;
}

.form-select--lg {
  height: 3rem;
  padding: 0.6875rem 1.125rem;
  padding-right: 3rem;
  font-size: 1.0625rem;
  border-radius: 0.5rem;
  background-position: right 1.125rem center;
}

.form-control.is-valid,
.form-select.is-valid {
  border-color: var(--color-status-success-border);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2316a34a' viewBox='0 0 16 16'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 1rem;
  padding-right: 2.75rem;
}
.form-control.is-valid:focus,
.form-select.is-valid:focus {
  border-color: var(--color-status-success-border);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-status-success-border) 25%, transparent);
}

textarea.form-control.is-valid {
  background-position: right 0.875rem top 0.75rem;
}

.form-control.is-invalid,
.form-select.is-invalid {
  border-color: var(--color-status-danger-border);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23dc2626' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 1rem;
  padding-right: 2.75rem;
}
.form-control.is-invalid:focus,
.form-select.is-invalid:focus {
  border-color: var(--color-status-danger-border);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-status-danger-border) 25%, transparent);
}

textarea.form-control.is-invalid {
  background-position: right 0.875rem top 0.75rem;
}

.form-valid-feedback {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-status-success-text);
}

.form-invalid-feedback {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-status-danger-text);
}

.form-hint {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  line-height: 1.5;
}

.form-error {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-status-danger-text);
}

.input-group {
  position: relative;
  display: flex;
  width: 100%;
}
.input-group .form-control,
.input-group .form-select {
  flex: 1 1 auto;
  min-width: 0;
}
.input-group .form-control:not(:first-child):not(:last-child),
.input-group .form-select:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group .form-control:first-child,
.input-group .form-select:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
}
.input-group .form-control:last-child,
.input-group .form-select:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
}
.input-group .form-control:not(:first-child),
.input-group .form-select:not(:first-child) {
  border-left-width: 0;
}
.input-group .form-control:not(:last-child),
.input-group .form-select:not(:last-child) {
  border-right-width: 0;
}
.input-group .form-control:focus,
.input-group .form-select:focus {
  position: relative;
  z-index: 1;
}

.input-addon {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.875rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border-default);
  white-space: nowrap;
}
.input-addon:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
  border-right-width: 0;
}
.input-addon:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
  border-left-width: 0;
}

.input-addon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.875rem;
  font-size: 0.9375rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.5;
  background-color: var(--color-brand-primary);
  color: #fff;
  border: 1px solid var(--color-brand-primary);
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 150ms ease, border-color 150ms ease;
  outline: none;
}
.input-addon-btn:hover {
  background-color: var(--color-interactive-hover);
  border-color: var(--color-interactive-hover);
}
.input-addon-btn:active {
  background-color: var(--color-interactive-active);
  border-color: var(--color-interactive-active);
}
.input-addon-btn:focus-visible {
  z-index: 1;
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-brand-primary) 25%, transparent);
}
.input-addon-btn:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
  border-right-width: 0;
}
.input-addon-btn:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
  border-left-width: 0;
}
.input-addon-btn.btn-outline {
  background-color: transparent;
  color: var(--color-brand-primary);
}
.input-addon-btn.btn-outline:hover {
  background-color: color-mix(in oklch, var(--color-brand-primary) 8%, transparent);
}

.input-with-icon {
  position: relative;
}
.input-with-icon .form-control {
  padding-left: 2.625rem;
}
.input-with-icon .input-icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1;
  pointer-events: none;
  display: flex;
  align-items: center;
}
.input-with-icon.input-with-icon--end .form-control {
  padding-left: 0.875rem;
  padding-right: 2.625rem;
}
.input-with-icon.input-with-icon--end .input-icon {
  left: auto;
  right: 0.875rem;
}

.input-group--sm .form-control,
.input-group--sm .form-select {
  height: 2rem;
  padding: 0.3125rem 0.625rem;
  font-size: 0.8125rem;
  border-radius: 0.25rem;
}
.input-group--sm .form-control:first-child,
.input-group--sm .form-select:first-child {
  border-radius: 0.25rem 0 0 0.25rem;
}
.input-group--sm .form-control:last-child,
.input-group--sm .form-select:last-child {
  border-radius: 0 0.25rem 0.25rem 0;
}
.input-group--sm .input-addon,
.input-group--sm .input-addon-btn {
  padding: 0.3125rem 0.625rem;
  font-size: 0.8125rem;
}
.input-group--sm .input-addon:first-child,
.input-group--sm .input-addon-btn:first-child {
  border-radius: 0.25rem 0 0 0.25rem;
}
.input-group--sm .input-addon:last-child,
.input-group--sm .input-addon-btn:last-child {
  border-radius: 0 0.25rem 0.25rem 0;
}

.input-group--lg .form-control,
.input-group--lg .form-select {
  height: 3rem;
  padding: 0.6875rem 1.125rem;
  font-size: 1.0625rem;
  border-radius: 0.5rem;
}
.input-group--lg .form-control:first-child,
.input-group--lg .form-select:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
}
.input-group--lg .form-control:last-child,
.input-group--lg .form-select:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
}
.input-group--lg .input-addon,
.input-group--lg .input-addon-btn {
  padding: 0.6875rem 1.125rem;
  font-size: 1.0625rem;
}
.input-group--lg .input-addon:first-child,
.input-group--lg .input-addon-btn:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
}
.input-group--lg .input-addon:last-child,
.input-group--lg .input-addon-btn:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
}

.form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-height: 1.5rem;
  cursor: pointer;
}
.form-check--inline {
  display: inline-flex;
  margin-right: 1.25rem;
}

.form-check-input {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  margin-top: 0.1875rem;
  background-color: var(--color-surface-1);
  border: 2px solid var(--color-border-default);
  appearance: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
  cursor: pointer;
  outline: none;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25rem;
}
.form-check-input[type=checkbox]:checked {
  background-color: var(--color-brand-primary);
  border-color: var(--color-brand-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2 6l3 3 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.7rem;
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--color-brand-primary);
  border-color: var(--color-brand-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='2' viewBox='0 0 10 2'%3E%3Crect width='10' height='2' rx='1' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.625rem;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input[type=radio]:checked {
  background-color: var(--color-brand-primary);
  border-color: var(--color-brand-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Ccircle cx='3' cy='3' r='3' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.form-check-input:hover:not(:disabled):not(:checked) {
  border-color: var(--color-border-strong);
}
.form-check-input:focus-visible {
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-border-focus) 20%, transparent);
}
.form-check-input:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  background-color: var(--color-bg-muted);
}

.form-check-label {
  font-size: 0.9375rem;
  color: var(--color-text-primary);
  line-height: 1.5;
  cursor: pointer;
}
.form-check-label .form-check-description {
  display: block;
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  font-weight: 400;
  margin-top: 0.125rem;
}

.form-check-input:disabled ~ .form-check-label {
  color: var(--color-text-disabled);
  cursor: not-allowed;
}

.form-check--card {
  padding: 0.875rem 1rem;
  border: 1px solid var(--color-border-default);
  border-radius: 0.5rem;
  transition: border-color 150ms ease, background-color 150ms ease;
  cursor: pointer;
}
.form-check--card:hover {
  border-color: var(--color-border-strong);
}
.form-check--card:has(.form-check-input:checked) {
  border-color: var(--color-brand-primary);
  background-color: color-mix(in oklch, var(--color-brand-primary) 6%, transparent);
}

.form-switch .form-check-input[type=checkbox] {
  width: 2.5rem;
  height: 1.375rem;
  border-radius: 9999px;
  background-color: var(--color-bg-muted);
  border-color: var(--color-border-default);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 3px center;
  background-size: 1rem;
  transition: background-color 200ms ease, background-position 200ms ease, border-color 200ms ease;
}
.form-switch .form-check-input[type=checkbox]:checked {
  background-color: var(--color-brand-primary);
  border-color: var(--color-brand-primary);
  background-position: right 3px center;
}
.form-switch .form-check-input[type=checkbox]:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-brand-primary) 25%, transparent);
}

.form-range {
  width: 100%;
  appearance: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  height: 1.5rem;
  outline: none;
}
.form-range::-webkit-slider-runnable-track {
  height: 0.375rem;
  background: var(--color-bg-muted);
  border-radius: 9999px;
  border: none;
}
.form-range::-moz-range-track {
  height: 0.375rem;
  background: var(--color-bg-muted);
  border-radius: 9999px;
  border: none;
}
.form-range::-webkit-slider-thumb {
  appearance: none;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  background: var(--color-brand-primary);
  border: 2px solid var(--color-surface-1);
  box-shadow: 0 1px 2px 0 color-mix(in oklch, black 8%, transparent);
  margin-top: -0.375rem;
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.form-range::-webkit-slider-thumb:hover {
  transform: scale(1.15);
}
.form-range::-moz-range-thumb {
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  background: var(--color-brand-primary);
  border: 2px solid var(--color-surface-1);
  box-shadow: 0 1px 2px 0 color-mix(in oklch, black 8%, transparent);
  cursor: pointer;
}
.form-range:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-brand-primary) 25%, transparent);
}
.form-range:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.form-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.form-section + .form-section {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border-subtle);
}

.form-section-header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.form-section-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-heading-primary);
  margin: 0;
}

.form-section-desc {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  margin: 0;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.form-row > .form-group {
  flex: 1 1 12rem;
  min-width: 0;
}
.form-row--2 > .form-group {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: 0;
}
.form-row--3 > .form-group {
  flex: 1 1 calc(33.333% - 0.667rem);
  min-width: 0;
}
@media only screen and (max-width: 575.999px) {
  .form-row {
    flex-direction: column;
  }
  .form-row--2 > .form-group, .form-row--3 > .form-group {
    flex: 1 1 auto;
  }
}

.form-counter {
  display: flex;
  justify-content: flex-end;
  font-size: 0.75rem;
  color: var(--color-text-muted);
  margin-top: 0.125rem;
  font-variant-numeric: tabular-nums;
}
.form-counter.is-near-limit {
  color: var(--color-status-warning-text);
  font-weight: 500;
}
.form-counter.is-at-limit {
  color: var(--color-status-danger-text);
  font-weight: 600;
}

.form-floating {
  position: relative;
}
.form-floating .form-control,
.form-floating .form-select {
  height: 3rem;
  padding-top: 1.375rem;
  padding-bottom: 0.375rem;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0.875rem;
  display: flex;
  align-items: center;
  height: 3rem;
  font-size: 0.9375rem;
  color: var(--color-text-muted);
  pointer-events: none;
  transform-origin: 0 50%;
  transition: transform 150ms ease, font-size 150ms ease, color 150ms ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-floating .form-control:focus ~ label,
.form-floating .form-control:not(:placeholder-shown) ~ label,
.form-floating .form-select ~ label {
  transform: translateY(-0.6rem) scale(0.78);
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  font-weight: 500;
}
.form-floating .form-control:focus ~ label {
  color: var(--color-brand-primary);
}

.btn {
  --_c: var(--color-brand-primary);
  --_on: #fff;
  --btn-bg: var(--_c);
  --btn-color: var(--_on);
  --btn-border: var(--_c);
  --btn-bg-h: color-mix(in oklch, var(--_c) 82%, black);
  --btn-color-h: var(--btn-color);
  --btn-border-h: color-mix(in oklch, var(--_c) 82%, black);
  --btn-bg-a: color-mix(in oklch, var(--_c) 70%, black);
  --btn-shadow: none;
  --btn-shadow-h: 0 1px 2px 0 color-mix(in oklch, black 8%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4375rem;
  height: 2.5rem;
  padding: 0 1.125rem;
  font-size: 0.9375rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  vertical-align: middle;
  border: 1px solid var(--btn-border);
  border-radius: 0.25rem;
  background-color: var(--btn-bg);
  color: var(--btn-color);
  box-shadow: var(--btn-shadow);
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease, transform 100ms ease, opacity 150ms ease;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.btn:hover:not(:disabled):not(.is-disabled):not(.btn-loading) {
  background-color: var(--btn-bg-h);
  color: var(--btn-color-h);
  border-color: var(--btn-border-h);
  box-shadow: var(--btn-shadow-h);
  text-decoration: none;
}
.btn:active:not(:disabled):not(.is-disabled):not(.btn-loading) {
  background-color: var(--btn-bg-a);
  box-shadow: none;
  transform: translateY(1px);
}
.btn:focus-visible {
  outline: 2px solid var(--_c);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--_c) 25%, transparent);
}
.btn:disabled, .btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}
.btn > i,
.btn > svg {
  font-size: 1.125em;
  flex-shrink: 0;
  line-height: 1;
}

.btn-block {
  width: 100%;
}

.btn-primary {
  --_c: var(--color-brand-primary);
  --_on: #fff;
}

.btn-secondary {
  --_c: var(--color-brand-secondary);
  --_on: #fff;
}

.btn-accent {
  --_c: var(--color-brand-accent);
  --_on: #fff;
}

.btn-success {
  --_c: var(--primitive-success-400);
  --_on: #fff;
}

.btn-warning {
  --_c: var(--primitive-warning-400);
  --_on: #fff;
}

.btn-danger {
  --_c: var(--primitive-danger-400);
  --_on: #fff;
}

.btn-info {
  --_c: var(--primitive-info-400);
  --_on: #fff;
}

.btn-neutral {
  --_c: var(--color-text-secondary);
  --_on: var(--color-text-primary);
  --btn-bg: var(--color-bg-subtle);
  --btn-color: var(--color-text-primary);
  --btn-border: var(--color-border-default);
  --btn-bg-h: var(--color-bg-muted);
  --btn-color-h: var(--color-text-primary);
  --btn-border-h: var(--color-border-strong);
  --btn-bg-a: var(--color-bg-muted);
  --btn-shadow-h: 0 1px 2px 0 color-mix(in oklch, black 8%, transparent);
}

.btn-dark {
  --_c: var(--primitive-neutral-950);
  --_on: var(--primitive-neutral-50);
  --btn-bg: var(--primitive-neutral-950);
  --btn-color: var(--primitive-neutral-50);
  --btn-border: var(--primitive-neutral-950);
  --btn-bg-h: color-mix(in oklch, var(--primitive-neutral-950) 85%, white);
  --btn-color-h: var(--primitive-neutral-50);
  --btn-border-h: color-mix(in oklch, var(--primitive-neutral-950) 85%, white);
  --btn-bg-a: color-mix(in oklch, var(--primitive-neutral-950) 72%, white);
}

.btn-white {
  --_c: #fff;
  --_on: var(--color-brand-primary);
  --btn-bg: #fff;
  --btn-color: var(--color-brand-primary);
  --btn-border: #fff;
  --btn-bg-h: color-mix(in oklch, #fff 88%, transparent);
  --btn-color-h: var(--color-brand-primary);
  --btn-border-h: #fff;
  --btn-bg-a: color-mix(in oklch, #fff 75%, transparent);
}

.btn-outline {
  --btn-bg: transparent;
  --btn-color: var(--_c);
  --btn-border: var(--_c);
  --btn-bg-h: color-mix(in oklch, var(--_c) 10%, transparent);
  --btn-color-h: var(--_c);
  --btn-border-h: var(--_c);
  --btn-bg-a: color-mix(in oklch, var(--_c) 18%, transparent);
  --btn-shadow-h: none;
}

.btn-ghost {
  --btn-bg: transparent;
  --btn-color: var(--_c);
  --btn-border: transparent;
  --btn-bg-h: color-mix(in oklch, var(--_c) 10%, transparent);
  --btn-color-h: var(--_c);
  --btn-border-h: transparent;
  --btn-bg-a: color-mix(in oklch, var(--_c) 18%, transparent);
  --btn-shadow-h: none;
}

.btn-soft {
  --btn-bg: color-mix(in oklch, var(--_c) 12%, transparent);
  --btn-color: var(--_c);
  --btn-border: transparent;
  --btn-bg-h: color-mix(in oklch, var(--_c) 20%, transparent);
  --btn-color-h: var(--_c);
  --btn-border-h: transparent;
  --btn-bg-a: color-mix(in oklch, var(--_c) 28%, transparent);
  --btn-shadow-h: none;
}

.btn-link {
  --btn-bg: transparent;
  --btn-color: var(--color-interactive-default);
  --btn-border: transparent;
  --btn-bg-h: transparent;
  --btn-color-h: var(--color-interactive-hover);
  --btn-border-h: transparent;
  --btn-bg-a: transparent;
  --btn-shadow: none;
  --btn-shadow-h: none;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
}
.btn-link:hover:not(:disabled) {
  text-decoration-color: currentColor;
}

.btn-xs {
  height: 1.75rem;
  padding: 0 0.625rem;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  gap: 0.25rem;
}
.btn-xs > i, .btn-xs > svg {
  font-size: 1em;
}

.btn-sm {
  height: 2rem;
  padding: 0 0.75rem;
  font-size: 0.8125rem;
  border-radius: 0.25rem;
  gap: 0.3125rem;
}

.btn-lg {
  height: 3rem;
  padding: 0 1.5rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  gap: 0.5rem;
}
.btn-lg > i, .btn-lg > svg {
  font-size: 1.15em;
}

.btn-xl {
  height: 3.5rem;
  padding: 0 2rem;
  font-size: 1.125rem;
  border-radius: 0.25rem;
  font-weight: 600;
  gap: 0.5625rem;
}
.btn-xl > i, .btn-xl > svg {
  font-size: 1.2em;
}

.btn-pill {
  border-radius: 9999px !important;
}

.btn-square {
  border-radius: 0 !important;
}

.btn-icon {
  width: 2.5rem;
  padding: 0;
  flex-shrink: 0;
}
.btn-icon > i, .btn-icon > svg {
  font-size: 1.125em;
}
.btn-icon.btn-xs {
  width: 1.75rem;
}
.btn-icon.btn-xs > i, .btn-icon.btn-xs > svg {
  font-size: 1em;
}
.btn-icon.btn-sm {
  width: 2rem;
}
.btn-icon.btn-lg {
  width: 3rem;
}
.btn-icon.btn-lg > i, .btn-icon.btn-lg > svg {
  font-size: 1.2em;
}
.btn-icon.btn-xl {
  width: 3.5rem;
}
.btn-icon.btn-xl > i, .btn-icon.btn-xl > svg {
  font-size: 1.3em;
}

.btn-elevated {
  --btn-shadow: 0 1px 3px 0 color-mix(in oklch, black 10%, transparent), 0 1px 2px -1px color-mix(in oklch, black 10%, transparent);
  --btn-shadow-h: 0 4px 6px -1px color-mix(in oklch, black 10%, transparent), 0 2px 4px -2px color-mix(in oklch, black 10%, transparent);
}

.btn-loading {
  position: relative;
  cursor: wait;
  color: transparent !important;
  pointer-events: none;
}
.btn-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 1.1em;
  height: 1.1em;
  border: 2px solid color-mix(in oklch, var(--btn-color) 30%, transparent);
  border-top-color: var(--btn-color);
  border-radius: 50%;
  animation: _btn-spin 0.65s linear infinite;
  flex-shrink: 0;
}

@keyframes _btn-spin {
  to {
    transform: rotate(360deg);
  }
}
.btn-group {
  display: inline-flex;
  position: relative;
}
.btn-group > .btn {
  flex: 0 0 auto;
  border-radius: 0;
  position: relative;
}
.btn-group > .btn:not(:first-child) {
  border-left-width: 0;
}
.btn-group > .btn:hover:not(:disabled), .btn-group > .btn:focus-visible {
  z-index: 1;
  border-left-width: 1px;
  margin-left: -1px;
}
.btn-group > .btn:first-child {
  border-radius: 0.25rem 0 0 0.25rem;
}
.btn-group > .btn:last-child {
  border-radius: 0 0.25rem 0.25rem 0;
}
.btn-group > .btn:only-child {
  border-radius: 0.25rem;
}
.btn-group.btn-group--pill > .btn:first-child {
  border-radius: 9999px 0 0 9999px;
}
.btn-group.btn-group--pill > .btn:last-child {
  border-radius: 0 9999px 9999px 0;
}
.btn-group.btn-group--pill > .btn:only-child {
  border-radius: 9999px;
}
.btn-group.btn-group--vertical {
  flex-direction: column;
}
.btn-group.btn-group--vertical > .btn {
  width: 100%;
  border-radius: 0;
}
.btn-group.btn-group--vertical > .btn:not(:first-child) {
  border-top-width: 0;
  border-left-width: 1px;
}
.btn-group.btn-group--vertical > .btn:hover:not(:disabled), .btn-group.btn-group--vertical > .btn:focus-visible {
  border-top-width: 1px;
  margin-top: -1px;
  margin-left: 0;
}
.btn-group.btn-group--vertical > .btn:first-child {
  border-radius: 0.25rem 0.25rem 0 0;
}
.btn-group.btn-group--vertical > .btn:last-child {
  border-radius: 0 0 0.25rem 0.25rem;
}
.btn-group.btn-group--vertical > .btn:only-child {
  border-radius: 0.25rem;
}
.btn-group.btn-group--sm > .btn {
  height: 2rem;
  padding: 0 0.75rem;
  font-size: 0.8125rem;
}
.btn-group.btn-group--sm > .btn:first-child {
  border-radius: 0.25rem 0 0 0.25rem;
}
.btn-group.btn-group--sm > .btn:last-child {
  border-radius: 0 0.25rem 0.25rem 0;
}
.btn-group.btn-group--lg > .btn {
  height: 3rem;
  padding: 0 1.5rem;
  font-size: 1rem;
}
.btn-group.btn-group--lg > .btn:first-child {
  border-radius: 0.25rem 0 0 0.25rem;
}
.btn-group.btn-group--lg > .btn:last-child {
  border-radius: 0 0.25rem 0.25rem 0;
}

.btn-split {
  display: inline-flex;
  position: relative;
}
.btn-split > .btn:first-child {
  border-radius: 0.25rem 0 0 0.25rem;
  border-right-width: 0;
}
.btn-split > .btn-split-caret {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  border-radius: 0 0.25rem 0.25rem 0;
  border-left: 1px solid color-mix(in oklch, var(--btn-color) 25%, transparent);
}
.btn-split > .btn-split-caret:hover:not(:disabled) {
  border-left-color: color-mix(in oklch, var(--btn-color) 25%, transparent);
}

.table {
  --table-border: var(--color-border-subtle);
  --table-head-bg: var(--color-surface);
  --table-head-color: var(--color-text-secondary);
  --table-stripe-bg: color-mix(in oklch, var(--color-bg-subtle) 60%, transparent);
  --table-hover-bg: var(--color-bg-subtle);
  --table-row-accent: transparent;
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  color: var(--color-text-primary);
  line-height: 1.5;
  margin: 0;
}
.table th,
.table td {
  padding: 0.75rem 1rem;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--table-border);
}
.table thead th,
.table thead td {
  font-size: 0.7875rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: none;
  color: var(--table-head-color);
  background-color: var(--table-head-bg);
  border-bottom: 1px solid var(--color-border-default);
  white-space: nowrap;
}
.table tbody tr:last-child td,
.table tbody tr:last-child th {
  border-bottom: none;
}
.table tbody tr {
  transition: background-color 120ms ease;
}
.table tbody tr td:first-child,
.table tbody tr th:first-child {
  box-shadow: inset 3px 0 0 var(--table-row-accent);
}
.table tfoot td,
.table tfoot th {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-text-secondary);
  border-top: 2px solid var(--color-border-default);
  border-bottom: none;
}
.table caption {
  caption-side: bottom;
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  text-align: left;
}

.table--striped tbody tr:nth-child(even) td,
.table--striped tbody tr:nth-child(even) th {
  background-color: var(--table-stripe-bg);
}

.table--hover tbody tr:hover td,
.table--hover tbody tr:hover th {
  background-color: var(--table-hover-bg);
  cursor: default;
}

.table--bordered th,
.table--bordered td {
  border: 1px solid var(--table-border);
}
.table--bordered thead th,
.table--bordered thead td {
  border-bottom: 2px solid var(--color-border-default);
}

.table--borderless th,
.table--borderless td {
  border: none !important;
}

.table--compact {
  font-size: 0.8125rem;
}
.table--compact th,
.table--compact td {
  padding: 0.4375rem 0.75rem;
}

.table--loose th,
.table--loose td {
  padding: 1.125rem 1.375rem;
}

.table--fixed {
  table-layout: fixed;
}

.table--nowrap th,
.table--nowrap td {
  white-space: nowrap;
}

.table--sticky-head thead th,
.table--sticky-head thead td {
  position: sticky;
  top: 0;
  z-index: 2;
}

.table--head-primary {
  --table-head-bg: var(--color-brand-primary);
  --table-head-color: #fff;
}
.table--head-primary thead th,
.table--head-primary thead td {
  border-bottom-color: color-mix(in oklch, var(--color-brand-primary) 70%, black);
}

.table--head-dark {
  --table-head-bg: var(--color-bg-inverse);
  --table-head-color: var(--color-text-inverse);
}
.table--head-dark thead th,
.table--head-dark thead td {
  border-bottom-color: transparent;
}

.table--head-light {
  --table-head-bg: var(--color-surface-2);
  --table-head-color: var(--color-text-secondary);
}

tbody tr.row-primary {
  --table-row-accent: var(--color-brand-primary);
}
tbody tr.row-primary td,
tbody tr.row-primary th {
  background-color: color-mix(in oklch, var(--color-brand-primary) 8%, transparent);
  color: var(--color-brand-primary);
}

tbody tr.row-success {
  --table-row-accent: var(--color-status-success-icon);
}
tbody tr.row-success td,
tbody tr.row-success th {
  background-color: var(--color-status-success-bg);
  color: var(--color-status-success-text);
}

tbody tr.row-warning {
  --table-row-accent: var(--color-status-warning-icon);
}
tbody tr.row-warning td,
tbody tr.row-warning th {
  background-color: var(--color-status-warning-bg);
  color: var(--color-status-warning-text);
}

tbody tr.row-danger {
  --table-row-accent: var(--color-status-danger-icon);
}
tbody tr.row-danger td,
tbody tr.row-danger th {
  background-color: var(--color-status-danger-bg);
  color: var(--color-status-danger-text);
}

tbody tr.row-info {
  --table-row-accent: var(--color-status-info-icon);
}
tbody tr.row-info td,
tbody tr.row-info th {
  background-color: var(--color-status-info-bg);
  color: var(--color-status-info-text);
}

tbody tr.row-muted {
  --table-row-accent: var(--color-border-default);
}
tbody tr.row-muted td,
tbody tr.row-muted th {
  background-color: var(--color-bg-subtle);
  color: var(--color-text-muted);
}

.col-center {
  text-align: center !important;
}

.col-right {
  text-align: right !important;
}

.col-number {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

.col-mono {
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
  font-size: 0.875em;
}

.col-shrink {
  width: 1%;
  white-space: nowrap;
}

.col-check {
  width: 2.5rem;
  padding-inline: 0.75rem !important;
  text-align: center !important;
  white-space: nowrap;
}

.col-actions {
  width: 1%;
  white-space: nowrap;
  text-align: right !important;
}
.col-actions .btn + .btn {
  margin-left: 0.25rem;
}

.col-avatar {
  width: 3rem;
  text-align: center !important;
  padding-inline: 0.5rem !important;
}

.sortable,
th[aria-sort] {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  padding-right: 2.25rem;
  position: relative;
  transition: color 150ms ease, background-color 150ms ease;
}
.sortable:hover,
th[aria-sort]:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.sortable::after,
th[aria-sort]::after {
  content: "↕";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.75em;
  opacity: 0.4;
  font-style: normal;
}

th[aria-sort=ascending]::after {
  content: "↑";
  opacity: 1;
  color: var(--color-brand-primary);
}

th[aria-sort=descending]::after {
  content: "↓";
  opacity: 1;
  color: var(--color-brand-primary);
}

th[aria-sort=none]::after {
  content: "↕";
  opacity: 0.4;
}

.table-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
  padding: 0.2em 0.6em;
  font-size: 0.75em;
  font-weight: 600;
  border-radius: 9999px;
  white-space: nowrap;
  line-height: 1.4;
}
.table-badge.badge-success {
  background: var(--color-status-success-bg);
  color: var(--color-status-success-text);
}
.table-badge.badge-warning {
  background: var(--color-status-warning-bg);
  color: var(--color-status-warning-text);
}
.table-badge.badge-danger {
  background: var(--color-status-danger-bg);
  color: var(--color-status-danger-text);
}
.table-badge.badge-info {
  background: var(--color-status-info-bg);
  color: var(--color-status-info-text);
}
.table-badge.badge-neutral {
  background: var(--color-bg-muted);
  color: var(--color-text-muted);
}
.table-badge.badge-primary {
  background: color-mix(in oklch, var(--color-brand-primary) 12%, transparent);
  color: var(--color-brand-primary);
}

.table-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
  vertical-align: middle;
  margin-right: 0.375rem;
}
.table-dot.dot-success {
  background: var(--color-status-success-icon);
}
.table-dot.dot-warning {
  background: var(--color-status-warning-icon);
}
.table-dot.dot-danger {
  background: var(--color-status-danger-icon);
}
.table-dot.dot-info {
  background: var(--color-status-info-icon);
}
.table-dot.dot-muted {
  background: var(--color-text-disabled);
}
.table-dot.dot-primary {
  background: var(--color-brand-primary);
}

.table-avatar {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
}
.table-avatar img {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.table-avatar .table-avatar-name {
  font-weight: 500;
  line-height: 1.3;
}
.table-avatar .table-avatar-email {
  font-size: 0.8125em;
  color: var(--color-text-muted);
}

.table-progress {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.table-progress .table-progress-bar {
  flex: 1;
  height: 0.375rem;
  border-radius: 9999px;
  background: var(--color-bg-muted);
  overflow: hidden;
  min-width: 4rem;
}
.table-progress .table-progress-bar > span {
  display: block;
  height: 100%;
  border-radius: 9999px;
  background: var(--color-brand-primary);
  transition: width 400ms ease;
}
.table-progress .table-progress-value {
  font-size: 0.8125em;
  color: var(--color-text-muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  min-width: 2.5rem;
  text-align: right;
}

.table-empty td {
  text-align: center !important;
  padding: 3rem 1rem !important;
  color: var(--color-text-muted);
  border-bottom: none !important;
}
.table-empty .table-empty-icon {
  display: block;
  font-size: 2rem;
  margin: 0 auto 0.75rem;
  line-height: 1;
  opacity: 0.4;
}
.table-empty .table-empty-text {
  display: block;
  font-weight: 500;
  font-size: 0.9375rem;
  color: var(--color-text-secondary);
  margin-bottom: 0.25rem;
}
.table-empty .table-empty-hint {
  font-size: 0.8125rem;
}

.table-responsive {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.table-responsive.has-overflow {
  background: linear-gradient(to right, var(--color-surface-1) 0%, transparent 2rem) left, linear-gradient(to left, var(--color-surface-1) 0%, transparent 2rem) right;
  background-size: 3rem 100%;
  background-repeat: no-repeat;
  background-attachment: local;
}

.table-responsive--scroll {
  overflow-y: auto;
  max-height: var(--table-scroll-height, 18rem);
  overscroll-behavior: contain;
}

.table-card {
  border: 1px solid var(--color-border-subtle);
  border-radius: 1rem;
  overflow: hidden;
  background: var(--color-surface);
}
.table-card .table {
  margin: 0;
  border-radius: 0;
}
.table-card .table tbody tr:last-child td,
.table-card .table tbody tr:last-child th {
  border-bottom: none;
}
.table-card.table-card--flat {
  border: none;
  background: transparent;
}
.table-card.table-card--elevated {
  box-shadow: 0 1px 3px 0 color-mix(in oklch, black 10%, transparent), 0 1px 2px -1px color-mix(in oklch, black 10%, transparent);
  border: none;
}

.table-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
}
.table-toolbar .table-toolbar-title {
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--color-heading-primary);
  margin: 0;
}
.table-toolbar .table-toolbar-subtitle {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  margin: 0;
}
.table-toolbar .table-toolbar-info {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
  flex: 1;
}
.table-toolbar .table-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.table-toolbar + .table-responsive, .table-toolbar + .table {
  border-top: 1px solid var(--color-border-subtle);
}

.table-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--color-border-subtle);
}
.table-footer .table-footer-meta {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  flex: 1;
  white-space: nowrap;
}
.table-footer .table-footer-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.flexmasonry {
  --masonry-cols: 1;
  --masonry-gap: 1rem;
  display: flex;
  flex-flow: column wrap;
  align-content: flex-start;
  margin: calc(var(--masonry-gap) / -2);
  transition: height 0.2s ease;
}

.masonry.flexmasonry:not(.is-ready) {
  opacity: 0;
}

.masonry.flexmasonry.is-ready {
  opacity: 1;
  transition: opacity 0.2s ease, height 0.2s ease;
}

.masonry.flexmasonry.masonry-effect--desandro.is-reflowing .flexmasonry-item {
  animation: masonry-reflow-desandro 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation-delay: var(--masonry-delay, 0ms);
  will-change: transform, opacity;
}

.flexmasonry-item {
  box-sizing: border-box;
  width: calc(100% / var(--masonry-cols));
  padding: calc(var(--masonry-gap) / 2);
}

@keyframes masonry-reflow-desandro {
  0% {
    opacity: 0;
    transform: translateY(70px) scale(0.92);
  }
  60% {
    opacity: 1;
    transform: translateY(-6px) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.gallery.flexmasonry {
  --masonry-gap: 5px;
}

.grid-gallery > .flexmasonry-item {
  padding: 3px !important;
}
.grid-gallery img {
  border-radius: 7px;
}

.flexmasonry-cols-1 {
  --masonry-cols: 1;
}

.flexmasonry-cols-2 {
  --masonry-cols: 2;
}

.flexmasonry-cols-3 {
  --masonry-cols: 3;
}

.flexmasonry-cols-4 {
  --masonry-cols: 4;
}

.flexmasonry-cols-5 {
  --masonry-cols: 5;
}

.flexmasonry-cols-6 {
  --masonry-cols: 6;
}

.flexmasonry-cols-7 {
  --masonry-cols: 7;
}

.flexmasonry-cols-8 {
  --masonry-cols: 8;
}

.flexmasonry-cols-2 .flexmasonry-item:nth-child(2n+1) {
  order: 1;
}

.flexmasonry-cols-2 .flexmasonry-item:nth-child(2n+2) {
  order: 2;
}

.flexmasonry-cols-3 .flexmasonry-item:nth-child(3n+1) {
  order: 1;
}

.flexmasonry-cols-3 .flexmasonry-item:nth-child(3n+2) {
  order: 2;
}

.flexmasonry-cols-3 .flexmasonry-item:nth-child(3n+3) {
  order: 3;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n+1) {
  order: 1;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n+2) {
  order: 2;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n+3) {
  order: 3;
}

.flexmasonry-cols-4 .flexmasonry-item:nth-child(4n+4) {
  order: 4;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n+1) {
  order: 1;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n+2) {
  order: 2;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n+3) {
  order: 3;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n+4) {
  order: 4;
}

.flexmasonry-cols-5 .flexmasonry-item:nth-child(5n+5) {
  order: 5;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n+1) {
  order: 1;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n+2) {
  order: 2;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n+3) {
  order: 3;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n+4) {
  order: 4;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n+5) {
  order: 5;
}

.flexmasonry-cols-6 .flexmasonry-item:nth-child(6n+6) {
  order: 6;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n+1) {
  order: 1;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n+2) {
  order: 2;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n+3) {
  order: 3;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n+4) {
  order: 4;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n+5) {
  order: 5;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n+6) {
  order: 6;
}

.flexmasonry-cols-7 .flexmasonry-item:nth-child(7n+7) {
  order: 7;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+1) {
  order: 1;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+2) {
  order: 2;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+3) {
  order: 3;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+4) {
  order: 4;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+5) {
  order: 5;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+6) {
  order: 6;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+7) {
  order: 7;
}

.flexmasonry-cols-8 .flexmasonry-item:nth-child(8n+8) {
  order: 8;
}

.flexmasonry-break {
  content: "";
  flex-basis: 100%;
  width: 0 !important;
  margin: 0;
  padding: 0;
}

.flexmasonry-break-1 {
  order: 1;
}

.flexmasonry-break-2 {
  order: 2;
}

.flexmasonry-break-3 {
  order: 3;
}

.flexmasonry-break-4 {
  order: 4;
}

.flexmasonry-break-5 {
  order: 5;
}

.flexmasonry-break-6 {
  order: 6;
}

.flexmasonry-break-7 {
  order: 7;
}

.masonry-css {
  columns: 3 300px;
  column-gap: 1.5rem;
}
.masonry-css > * {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .masonry-css {
    columns: 2 250px;
  }
}
@media only screen and (min-width: 992px) {
  .masonry-css {
    columns: 3 300px;
  }
}
@media only screen and (min-width: 1200px) {
  .masonry-css {
    columns: 4 300px;
  }
}

.swiper {
  --swiper-theme-color: var(--color-surface-2);
  --swiper-navigation-size: 44px;
  --swiper-pagination-bullet-size: 10px;
  --swiper-pagination-bullet-horizontal-gap: 6px;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-button-prev svg,
.swiper-button-next svg,
.swiper-button-prev .swiper-navigation-icon,
.swiper-button-next .swiper-navigation-icon {
  display: none !important;
}

.swiper-button-prev,
.swiper-button-next {
  --swiper-nav-bg: color-mix(in oklch, black 20%, transparent);
  --swiper-nav-color: white;
  --swiper-nav-border: color-mix(in oklch, white 20%, transparent);
  --swiper-nav-shadow: 0 2px 12px color-mix(in oklch, black 30%, transparent);
  --swiper-nav-hover-bg: color-mix(in oklch, black 55%, transparent);
  --swiper-nav-hover-border: color-mix(in oklch, white 35%, transparent);
  position: absolute !important;
  top: 50% !important;
  width: var(--swiper-navigation-size) !important;
  height: var(--swiper-navigation-size) !important;
  margin-top: calc(var(--swiper-navigation-size) / -2) !important;
  z-index: 10;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: var(--swiper-nav-bg) !important;
  color: var(--swiper-nav-color) !important;
  border: 1px solid var(--swiper-nav-border) !important;
  box-shadow: var(--swiper-nav-shadow) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  background-image: none !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  font-family: "bootstrap-icons" !important;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-variant: normal;
  line-height: 1;
  flex-shrink: 0;
  display: block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: var(--swiper-nav-hover-bg) !important;
  border-color: var(--swiper-nav-hover-border) !important;
  transform: scale(1.08);
  box-shadow: var(--shadow-lg) !important;
}
.swiper-button-prev:active,
.swiper-button-next:active {
  transform: scale(0.95);
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35 !important;
  cursor: not-allowed;
  pointer-events: none;
}
@media only screen and (max-width: 767.999px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none !important;
  }
}

.swiper-button-prev {
  left: 1rem !important;
  right: auto !important;
}
.swiper-button-prev::after {
  content: "\f284";
  margin-right: 2px;
}

.swiper-button-next {
  right: 1rem !important;
  left: auto !important;
}
.swiper-button-next::after {
  content: "\f285";
  margin-left: 2px;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-size);
  height: var(--swiper-pagination-bullet-size);
  display: inline-block;
  border-radius: 50%;
  background: var(--text-muted);
  opacity: 0.4;
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap);
  cursor: pointer;
  transition: all 0.3s ease;
}
.swiper-pagination-bullet:hover {
  opacity: 0.7;
  transform: scale(1.2);
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-theme-color);
  transform: scale(1.2);
}

.swiper-pagination-bottom {
  bottom: 1.5rem;
  left: 0;
  width: 100%;
}

.swiper-pagination-top {
  top: 1.5rem;
  left: 0;
  width: 100%;
}

.swiper-pagination-progressbar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: var(--border-light);
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-theme-color);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform-origin: left;
  transition: transform 0.3s ease;
}

.swiper-pagination-fraction {
  color: var(--text-base-color);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0.5rem 1rem;
  background: var(--bg-surface);
  border-radius: 0.25rem;
  box-shadow: var(--shadow-sm);
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  background: var(--border-light);
}
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}
.swiper-scrollbar .swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--text-muted);
  border-radius: 10px;
  left: 0;
  top: 0;
  cursor: grab;
  transition: background 0.2s;
}
.swiper-scrollbar .swiper-scrollbar-drag:hover {
  background: var(--text-secondary);
}
.swiper-scrollbar .swiper-scrollbar-drag:active {
  cursor: grabbing;
  background: var(--swiper-theme-color);
}

.slider-container {
  position: relative;
  width: 100%;
}
.slider-container.slider-hover-nav .swiper-button-prev,
.slider-container.slider-hover-nav .swiper-button-next {
  opacity: 0;
  transform: translateX(-10px);
}
.slider-container.slider-hover-nav .swiper-button-next {
  transform: translateX(10px);
}
.slider-container.slider-hover-nav:hover .swiper-button-prev,
.slider-container.slider-hover-nav:hover .swiper-button-next {
  opacity: 1;
  transform: translateX(0);
}
.slider-container.slider-compact-nav {
  --swiper-navigation-size: 36px;
}
.slider-container.slider-compact-nav .swiper-button-prev::after,
.slider-container.slider-compact-nav .swiper-button-next::after {
  font-size: 1rem;
}
.slider-container.slider-dark-nav {
  --swiper-nav-bg: rgba(0, 0, 0, 0.7);
  --swiper-nav-color: #fff;
  --swiper-nav-border: transparent;
  --swiper-nav-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  --swiper-nav-hover-bg: rgba(0, 0, 0, 0.9);
}
.slider-container.slider-light-nav {
  --swiper-nav-bg: rgba(255, 255, 255, 0.95);
  --swiper-nav-color: var(--text-base-color);
  --swiper-nav-border: transparent;
  --swiper-nav-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.slider-hero {
  --hero-slider-height: 70vh;
  --hero-slider-min-height: 500px;
  --hero-slider-max-height: 900px;
  height: var(--hero-slider-height);
  min-height: var(--hero-slider-min-height);
  max-height: var(--hero-slider-max-height);
}
.slider-hero .swiper-slide {
  position: relative;
  overflow: hidden;
}
.slider-hero .swiper-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.5) 100%);
  z-index: 1;
  pointer-events: none;
}
.slider-hero .swiper-slide .slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.1);
  transition: transform 8s ease;
}
.slider-hero .swiper-slide.swiper-slide-active .slide-bg {
  transform: scale(1);
}
.slider-hero .swiper-slide .slide-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem;
  color: #fff;
}
.slider-hero .swiper-slide .slide-content .slide-subtitle {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 1rem;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease 0.3s;
}
.slider-hero .swiper-slide .slide-content .slide-title {
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease 0.4s;
}
.slider-hero .swiper-slide .slide-content .slide-text {
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.6;
  max-width: 600px;
  margin-bottom: 2rem;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease 0.5s;
}
.slider-hero .swiper-slide .slide-content .slide-actions {
  display: flex;
  gap: 1rem;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease 0.6s;
}
.slider-hero .swiper-slide.swiper-slide-active .slide-subtitle,
.slider-hero .swiper-slide.swiper-slide-active .slide-title,
.slider-hero .swiper-slide.swiper-slide-active .slide-text,
.slider-hero .swiper-slide.swiper-slide-active .slide-actions {
  opacity: 1;
  transform: translateY(0);
}
.slider-hero .swiper-button-prev,
.slider-hero .swiper-button-next {
  --swiper-navigation-size: 56px;
}
@media only screen and (min-width: 768px) {
  .slider-hero .swiper-button-prev,
  .slider-hero .swiper-button-next {
    --swiper-navigation-size: 64px;
  }
}
.slider-hero .swiper-button-prev::after,
.slider-hero .swiper-button-next::after {
  font-size: 1.5rem;
}
.slider-hero .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.5);
}
.slider-hero .swiper-pagination-bullet-active {
  background: #fff;
}

.slider-cards {
  padding-bottom: 3rem;
}
.slider-cards .swiper-slide {
  height: auto;
}
.slider-cards .swiper-slide > .card {
  height: 100%;
  margin: 0;
}
.slider-cards.swiper-multi-slide .swiper-slide {
  opacity: 0.7;
  transform: scale(0.95);
  transition: all 0.4s ease;
}
.slider-cards.swiper-multi-slide .swiper-slide.swiper-slide-active, .slider-cards.swiper-multi-slide .swiper-slide.swiper-slide-next, .slider-cards.swiper-multi-slide .swiper-slide.swiper-slide-prev {
  opacity: 1;
  transform: scale(1);
}
.slider-cards.slider-peek {
  overflow: visible;
}
.slider-cards.slider-peek .swiper-slide {
  transition: transform 0.4s ease;
}
.slider-cards.slider-peek .swiper-slide:not(.swiper-slide-active) {
  transform: scale(0.92);
  opacity: 0.6;
}

.header-slider-section {
  margin-block: 1.5rem 2.5rem;
}

.header-cards-slider {
  --swiper-theme-color: var(--color-brand-primary);
  padding: 0;
}
.header-cards-slider .swiper-wrapper {
  align-items: stretch;
}
.header-cards-slider .swiper-slide {
  height: auto;
  width: min(82vw, 22rem);
}
.header-cards-slider .header-slider-entry {
  height: 100%;
  min-height: 18rem;
  border: 0;
  background: var(--color-surface-2);
  box-shadow: var(--color-shadow-ghost);
}
.header-cards-slider .entry-media {
  height: 100%;
  min-height: 18rem;
}
.header-cards-slider .entry-overlay {
  min-height: 100%;
  padding: 1.25rem;
  background: linear-gradient(to bottom, color-mix(in oklch, black 4%, transparent) 0%, color-mix(in oklch, black 18%, transparent) 42%, color-mix(in oklch, black 78%, transparent) 100%);
}
.header-cards-slider .entry-eyebrow {
  width: fit-content;
  padding: 0.22rem 0.6rem;
  margin-bottom: 0.65rem;
  border-radius: 999px;
  background: color-mix(in oklch, white 18%, transparent);
  border: 1px solid color-mix(in oklch, white 24%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 0.75rem;
}
.header-cards-slider .entry-title {
  margin-bottom: 0.65rem;
  font-size: 1.12rem;
  line-height: 1.28;
}
.header-cards-slider .entry-meta {
  color: color-mix(in oklch, white 82%, transparent);
}
.header-cards-slider .swiper-pagination-bottom,
.header-cards-slider .swiper-pagination {
  bottom: 0.75rem;
}
@media only screen and (min-width: 768px) {
  .header-cards-slider .swiper-slide {
    width: calc((100% - 24px) / 2);
  }
  .header-cards-slider .header-slider-entry,
  .header-cards-slider .entry-media {
    min-height: 20rem;
  }
  .header-cards-slider .entry-title {
    font-size: 1.22rem;
  }
}
@media only screen and (min-width: 992px) {
  .header-cards-slider .swiper-slide {
    width: calc((100% - 48px) / 3);
  }
}

.slider-testimonials {
  --testimonial-avatar-size: 80px;
}
.slider-testimonials .testimonial-slide {
  text-align: center;
  padding: 2rem 1rem;
}
@media only screen and (min-width: 768px) {
  .slider-testimonials .testimonial-slide {
    padding: 3rem 4rem;
  }
}
.slider-testimonials .testimonial-slide .testimonial-avatar {
  width: var(--testimonial-avatar-size);
  height: var(--testimonial-avatar-size);
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 1.5rem;
  border: 4px solid var(--bg-surface);
  box-shadow: var(--shadow-lg);
}
.slider-testimonials .testimonial-slide .testimonial-quote {
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  line-height: 1.7;
  color: var(--text-base-color);
  font-style: italic;
  margin-bottom: 1.5rem;
  position: relative;
}
.slider-testimonials .testimonial-slide .testimonial-quote::before, .slider-testimonials .testimonial-slide .testimonial-quote::after {
  font-family: Georgia, serif;
  font-size: 4rem;
  line-height: 1;
  color: var(--color-primary-200);
  position: absolute;
  opacity: 0.5;
}
.slider-testimonials .testimonial-slide .testimonial-quote::before {
  content: '"';
  top: -1rem;
  left: -1rem;
}
.slider-testimonials .testimonial-slide .testimonial-quote::after {
  content: '"';
  bottom: -2rem;
  right: -1rem;
}
.slider-testimonials .testimonial-slide .testimonial-author .author-name {
  font-weight: 600;
  color: var(--text-base-color);
  margin-bottom: 0.25rem;
}
.slider-testimonials .testimonial-slide .testimonial-author .author-role {
  font-size: 0.875rem;
  color: var(--text-muted);
}
.slider-testimonials .testimonial-slide .testimonial-rating {
  color: var(--color-warning-400);
  font-size: 1.125rem;
  margin-bottom: 1rem;
}
.slider-testimonials .testimonial-slide .testimonial-rating i {
  margin: 0 2px;
}
.slider-testimonials.testimonial-large {
  --testimonial-avatar-size: 120px;
}

.slider-logos .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: all 0.3s ease;
}
.slider-logos .swiper-slide:hover {
  opacity: 1;
  filter: grayscale(0%);
}
.slider-logos .swiper-slide img {
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}
.slider-logos.slider-marquee .swiper-wrapper {
  transition-timing-function: linear !important;
}
.slider-logos.slider-marquee .swiper-slide {
  opacity: 0.6;
}
.slider-logos.slider-marquee .swiper-slide:hover {
  opacity: 1;
}

.slider-gallery {
  --gallery-thumb-height: 100px;
}
.slider-gallery .gallery-main {
  margin-bottom: 1rem;
  border-radius: 0.25rem;
  overflow: hidden;
}
.slider-gallery .gallery-main .swiper-slide {
  aspect-ratio: 16/10;
}
.slider-gallery .gallery-main .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-gallery .gallery-thumbs {
  height: var(--gallery-thumb-height);
}
.slider-gallery .gallery-thumbs .swiper-slide {
  border-radius: 0.25rem;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.4;
  transition: opacity 0.3s;
  border: 2px solid transparent;
}
.slider-gallery .gallery-thumbs .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-gallery .gallery-thumbs .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}
.slider-gallery .gallery-thumbs .swiper-slide:hover {
  opacity: 0.8;
}

.slider-product {
  overflow: hidden;
}
.slider-product .swiper-slide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.slider-product .swiper-slide.swiper-slide-active {
  opacity: 1;
  visibility: visible;
}
.slider-product .product-slide {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
  padding: 2rem 0;
}
@media only screen and (min-width: 992px) {
  .slider-product .product-slide {
    grid-template-columns: 1fr 1fr;
    padding: 3rem 2rem;
  }
}
.slider-product .product-slide .product-media {
  position: relative;
  border-radius: 0.25rem;
  overflow: hidden;
  background: var(--bg-soft-neutral);
}
.slider-product .product-slide .product-media img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.slider-product .product-slide .product-media:hover img {
  transform: scale(1.05);
}
.slider-product .product-slide .product-media .product-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.5rem 1rem;
  background: var(--color-danger-600);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 0.25rem;
  letter-spacing: 0.05em;
}
.slider-product .product-slide .product-info .product-category {
  font-size: 0.875rem;
  color: var(--color-primary-600);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.75rem;
}
.slider-product .product-slide .product-info .product-title {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.2;
}
.slider-product .product-slide .product-info .product-price {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.slider-product .product-slide .product-info .product-price .price-current {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--color-primary-600);
}
.slider-product .product-slide .product-info .product-price .price-original {
  font-size: 1.25rem;
  color: var(--text-muted);
  text-decoration: line-through;
}
.slider-product .product-slide .product-info .product-description {
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 2rem;
}
.slider-product .product-slide .product-info .product-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.slider-content .content-slide {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 400px;
}
@media only screen and (min-width: 768px) {
  .slider-content .content-slide {
    grid-template-columns: 1fr 1fr;
    min-height: 500px;
  }
}
.slider-content .content-slide .content-media {
  position: relative;
  overflow: hidden;
}
.slider-content .content-slide .content-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-content .content-slide .content-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.5rem;
  background: var(--bg-surface);
}
@media only screen and (min-width: 768px) {
  .slider-content .content-slide .content-body {
    padding: 3.5rem;
  }
}
.slider-content .content-slide .content-body .content-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--color-primary-600);
  margin-bottom: 1rem;
}
.slider-content .content-slide .content-body .content-label::before {
  content: "";
  width: 24px;
  height: 2px;
  background: currentColor;
}
.slider-content .content-slide .content-body .content-title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 1rem;
}
.slider-content .content-slide .content-body .content-text {
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .slider-content.content-right .content-slide .content-media {
    order: 2;
  }
  .slider-content.content-right .content-slide .content-body {
    order: 1;
  }
}

@media only screen and (max-width: 767.999px) {
  .slider-container .swiper-pagination {
    bottom: 0.5rem;
  }
  .slider-hero {
    --hero-slider-height: 60vh;
    --hero-slider-min-height: 400px;
  }
  .slider-hero .swiper-slide .slide-content {
    padding: 1.5rem;
    text-align: center;
    align-items: center;
  }
  .slider-hero .swiper-slide .slide-content .slide-actions {
    flex-direction: column;
    width: 100%;
    max-width: 280px;
  }
  .slider-gallery {
    --gallery-thumb-height: 70px;
  }
  .slider-testimonials .testimonial-slide .testimonial-quote::before, .slider-testimonials .testimonial-slide .testimonial-quote::after {
    font-size: 2.5rem;
  }
  .slider-testimonials .testimonial-slide .testimonial-quote::before {
    left: -0.5rem;
  }
  .slider-testimonials .testimonial-slide .testimonial-quote::after {
    right: -0.5rem;
  }
}
.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible {
  outline: 2px solid var(--color-primary-600);
  outline-offset: 2px;
}

.swiper-pagination-bullet:focus {
  outline: 2px solid var(--color-primary-600);
  outline-offset: 2px;
}

.slider-news {
  --news-slider-gap: 2px;
  --news-slider-height: 700px; /* Fixed default height */
  --news-thumb-height: 120px;
  --news-thumb-overlay-bg: var(--bg-surface);
  --news-thumb-title-bg: var(--bg-elevated);
  --news-content-bg: var(--bg-surface);
  --news-content-padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: var(--news-slider-gap);
}
.slider-news .news-main {
  position: relative;
  width: 100%;
  height: var(--news-slider-height);
  overflow: hidden;
  background: var(--bg-page);
}
.slider-news .news-main .swiper-wrapper {
  position: relative;
  height: 100%;
}
.slider-news .news-main .swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.slider-news .news-main .swiper-slide.swiper-slide-active {
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1;
}
.slider-news .news-main .news-slide-inner {
  display: grid;
  grid-template-columns: 1fr;
  height: 100%;
}
@media only screen and (min-width: 992px) {
  .slider-news .news-main .news-slide-inner {
    grid-template-columns: 60% 40%;
  }
}
.slider-news .news-media {
  position: relative;
  overflow: hidden;
  background: var(--bg-soft-neutral);
  border-radius: 0;
  height: 100%;
}
.slider-news .news-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: 0;
  transition: transform 0.6s ease;
}
.swiper-slide-active .slider-news .news-media img {
  transform: scale(1.02);
}
.slider-news .news-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .slider-news .news-content {
    padding: 2rem;
  }
}
@media only screen and (min-width: 992px) {
  .slider-news .news-content {
    padding: 2.5rem;
  }
}
@media only screen and (min-width: 1200px) {
  .slider-news .news-content {
    padding: var(--news-content-padding);
  }
}
.slider-news .news-content .news-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: var(--text-muted);
  text-transform: none;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}
.slider-news .news-content .news-meta .news-time {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.slider-news .news-content .news-meta .news-category {
  color: var(--action-primary);
  font-weight: 600;
}
.slider-news .news-content .news-title {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
  color: var(--text-base-color);
}
.slider-news .news-content .news-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.slider-news .news-content .news-title a:hover {
  color: var(--action-primary);
}
@media only screen and (min-width: 1200px) {
  .slider-news .news-content .news-title {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
  }
}
.slider-news .news-content .news-excerpt {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media only screen and (min-width: 992px) {
  .slider-news .news-content .news-excerpt {
    -webkit-line-clamp: 5;
  }
}
.slider-news .news-content .news-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--action-primary);
  text-decoration: none;
  transition: gap 0.2s ease;
}
.slider-news .news-content .news-link::after {
  content: "\f285";
  font-family: "bootstrap-icons";
  font-size: 0.875rem;
  transition: transform 0.2s ease;
}
.slider-news .news-content .news-link:hover {
  gap: 0.75rem;
}
.slider-news .news-content .news-link:hover::after {
  transform: translateX(3px);
}
.slider-news .swiper-slide-active .news-meta,
.slider-news .swiper-slide-active .news-title,
.slider-news .swiper-slide-active .news-excerpt,
.slider-news .swiper-slide-active .news-link {
  opacity: 0;
  transform: translateY(20px);
  animation: newsContentIn 0.5s ease forwards;
}
.slider-news .swiper-slide-active .news-meta {
  animation-delay: 0.1s;
}
.slider-news .swiper-slide-active .news-title {
  animation-delay: 0.2s;
}
.slider-news .swiper-slide-active .news-excerpt {
  animation-delay: 0.3s;
}
.slider-news .swiper-slide-active .news-link {
  animation-delay: 0.4s;
}
.slider-news .news-thumbs {
  height: var(--news-thumb-height);
  background: var(--bg-page);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
  scrollbar-width: thin;
  scrollbar-color: var(--border-light) transparent;
}
.slider-news .news-thumbs::-webkit-scrollbar {
  height: 6px;
}
.slider-news .news-thumbs::-webkit-scrollbar-track {
  background: transparent;
}
.slider-news .news-thumbs::-webkit-scrollbar-thumb {
  background: var(--border-light);
  border-radius: 999px;
}
.slider-news .news-thumbs.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}
.slider-news .news-thumbs.is-dragging .swiper-slide {
  cursor: grabbing;
}
.slider-news .news-thumbs > .swiper {
  display: contents;
}
.slider-news .news-thumbs .swiper-wrapper {
  display: flex !important;
  gap: 2px;
  height: 100%;
  width: max-content;
  min-width: 100%;
  transform: none !important;
}
.slider-news .news-thumbs .swiper-slide {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: var(--bg-surface);
  flex: 0 0 auto !important;
  width: auto !important;
  height: 100%;
  aspect-ratio: 16/9;
  margin: 0 !important;
  scroll-snap-align: start;
}
.slider-news .news-thumbs .swiper-slide .thumb-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform 0.4s ease;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}
.slider-news .news-thumbs .swiper-slide .thumb-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 1.5rem 0.75rem 0.5rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.45) 55%, transparent 100%);
}
.slider-news .news-thumbs .swiper-slide .thumb-title span {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.slider-news .news-thumbs .swiper-slide:hover:not(.swiper-slide-thumb-active) .thumb-image {
  transform: scale(1.05);
}
.slider-news .news-thumbs .swiper-slide.swiper-slide-thumb-active .thumb-title {
  background: linear-gradient(to top, color-mix(in oklch, var(--action-primary) 88%, black) 0%, color-mix(in oklch, var(--action-primary) 45%, transparent) 65%, transparent 100%);
}
.slider-news .news-thumbs .swiper-slide.swiper-slide-thumb-active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--action-primary);
  z-index: 2;
}
.slider-news .swiper-button-prev,
.slider-news .swiper-button-next {
  --swiper-navigation-size: 40px;
  background: rgba(0, 0, 0, 0.7) !important;
  border-color: transparent !important;
  color: #fff !important;
}
.slider-news .swiper-button-prev:hover,
.slider-news .swiper-button-next:hover {
  background: rgba(0, 0, 0, 0.9) !important;
}
.slider-news .swiper-button-prev {
  left: 1rem !important;
}
.slider-news .swiper-button-next {
  right: 1rem !important;
}
@media only screen and (max-width: 767.999px) {
  .slider-news .news-thumbs {
    display: none;
  }
  .slider-news .swiper-button-prev,
  .slider-news .swiper-button-next {
    display: flex !important;
  }
}

@keyframes newsContentIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.slider-card-img {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  text-decoration: none;
}
.slider-card-img .card-overlay {
  transition: background 0.35s ease;
}
.slider-card-img:hover .card-overlay {
  background: linear-gradient(to bottom, transparent 10%, color-mix(in oklch, black 78%, transparent));
}

@media (prefers-reduced-motion: reduce) {
  .swiper-wrapper,
  .swiper-slide,
  .swiper-button-prev,
  .swiper-button-next,
  .swiper-pagination-bullet {
    transition: none !important;
  }
  .slider-hero .swiper-slide .slide-bg {
    transition: none !important;
    transform: scale(1) !important;
  }
  .slider-news .swiper-slide-active .news-meta,
  .slider-news .swiper-slide-active .news-title,
  .slider-news .swiper-slide-active .news-excerpt,
  .slider-news .swiper-slide-active .news-link {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.hero {
  position: relative;
  display: flex;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: center;
  align-items: center;
}
.hero-purple {
  background-blend-mode: multiply;
  background-color: hsla(258, 89%, 43%, 0.5);
}
.hero-blue {
  background-blend-mode: multiply;
  background-color: hsla(237, 85%, 41%, 0.649);
}
.hero-dark {
  background-blend-mode: multiply;
  background-color: hsla(0, 1%, 14%, 0.116);
}
.hero-yellow {
  background-blend-mode: multiply;
  background-color: hsla(56, 86%, 42%, 0.409);
}
.hero-green {
  background-blend-mode: multiply;
  background-color: hsla(142, 71%, 45%, 0.45);
}
.hero-red {
  background-blend-mode: multiply;
  background-color: hsla(0, 85%, 45%, 0.5);
}
.hero-orange {
  background-blend-mode: multiply;
  background-color: hsla(25, 95%, 53%, 0.45);
}
.hero-teal {
  background-blend-mode: multiply;
  background-color: hsla(180, 65%, 45%, 0.5);
}
.hero-pink {
  background-blend-mode: multiply;
  background-color: hsla(330, 85%, 55%, 0.4);
}
.hero-cyan {
  background-blend-mode: multiply;
  background-color: hsla(190, 80%, 50%, 0.55);
}
.hero-indigo {
  background-blend-mode: multiply;
  background-color: hsla(240, 65%, 45%, 0.5);
}
.hero-lime {
  background-blend-mode: multiply;
  background-color: hsla(75, 80%, 50%, 0.35);
}

.hero-content {
  position: relative;
  z-index: 2;
  padding: 1rem;
}
@media only screen and (max-width: 575.999px) {
  .hero-content {
    text-align: center;
  }
}

.hero-editorial {
  --hero-min-height: 85vh;
  --hero-content-max-width: 800px;
  --hero-title-size: clamp(2rem, 5vw, 4rem);
  --hero-overlay-direction: to top;
  --hero-overlay-start: oklch(15% 0.02 260 / 0.95);
  --hero-overlay-mid: oklch(15% 0.02 260 / 0.7);
  --hero-overlay-end: oklch(15% 0.02 260 / 0.2);
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  padding-block: 3rem;
}
.hero-editorial__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.hero-editorial__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(var(--hero-overlay-direction), var(--hero-overlay-start) 0%, var(--hero-overlay-mid) 40%, var(--hero-overlay-end) 100%);
}
.hero-editorial__content {
  position: relative;
  z-index: 2;
  max-width: var(--hero-content-max-width);
}
.hero-editorial__label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 1rem;
  background: var(--color-primary-600);
  color: var(--color-primary-contrast-dark);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.08em;
  border-radius: var(--radius-full);
  margin-bottom: 1.5rem;
}
.hero-editorial__title {
  font-size: var(--hero-title-size);
  font-weight: 800;
  line-height: 1.1;
  color: white;
  margin-bottom: 1.25rem;
  letter-spacing: -0.02em;
}
.hero-editorial__description {
  font-size: 1.125rem;
  line-height: 1.7;
  color: oklch(85% 0.01 260deg);
  margin-bottom: 2rem;
  max-width: 600px;
}
.hero-editorial__meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.hero-editorial__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.hero-editorial__author-avatar {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  border: 2px solid oklch(100% 0 0deg / 0.3);
}
.hero-editorial__author-info {
  display: flex;
  flex-direction: column;
}
.hero-editorial__author-name {
  color: white;
  font-weight: 600;
  font-size: 0.9375rem;
}
.hero-editorial__author-role {
  color: oklch(70% 0.01 260deg);
  font-size: 0.8125rem;
}
.hero-editorial__stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: oklch(70% 0.01 260deg);
  font-size: 0.875rem;
}
.hero-editorial__stat i {
  color: var(--color-primary-400);
}
.hero-editorial--center {
  align-items: center;
  text-align: center;
}
.hero-editorial--center .hero-editorial__content {
  margin-left: auto;
  margin-right: auto;
}
.hero-editorial--center .hero-editorial__description {
  margin-left: auto;
  margin-right: auto;
}
.hero-editorial--center .hero-editorial__meta {
  justify-content: center;
}
.hero-editorial--bottom {
  align-items: flex-end;
}
.hero-editorial--top {
  align-items: flex-start;
  padding-top: calc(var(--nav-height, 80px) + 3rem);
}
.hero-editorial--compact {
  --hero-min-height: 60vh;
  --hero-title-size: clamp(1.75rem, 4vw, 3rem);
}
.hero-editorial--full {
  --hero-min-height: 100vh;
}
.hero-editorial--gradient-bottom {
  --hero-overlay-direction: to top;
}
.hero-editorial--gradient-top {
  --hero-overlay-direction: to bottom;
}
.hero-editorial--gradient-left {
  --hero-overlay-direction: to right;
}
.hero-editorial--gradient-right {
  --hero-overlay-direction: to left;
}
.hero-editorial--darken {
  --hero-overlay-start: oklch(10% 0.02 260 / 0.98);
  --hero-overlay-mid: oklch(10% 0.02 260 / 0.85);
  --hero-overlay-end: oklch(10% 0.02 260 / 0.5);
}
.hero-editorial--light {
  --hero-overlay-start: oklch(95% 0.01 260 / 0.9);
  --hero-overlay-mid: oklch(95% 0.01 260 / 0.7);
  --hero-overlay-end: oklch(95% 0.01 260 / 0.3);
}
.hero-editorial--light .hero-editorial__title {
  color: var(--text-base-color);
}
.hero-editorial--light .hero-editorial__description {
  color: var(--text-secondary);
}
.hero-editorial--light .hero-editorial__author-name {
  color: var(--text-base-color);
}
.hero-editorial--light .hero-editorial__author-role,
.hero-editorial--light .hero-editorial__stat {
  color: var(--text-muted);
}

.hero-video {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
}

.hero-video-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

.hero-overlay {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background: rgba(0, 0, 0, 0.4);
}
.hero-overlay::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(30, 34, 40, 0.5);
}
.hero-overlay-1::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(20, 20, 20, 0.52), rgba(117, 19, 93, 0.055));
}

.glightbox-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999 !important;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: none;
}

.glightbox-container.inactive {
  display: none;
}

.glightbox-container .gcontainer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}

.glightbox-container .gslider {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.glightbox-container .gslide {
  width: 100%;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0;
}

.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}

.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}

.glightbox-container .gslide-inner-content {
  width: 100%;
}

.glightbox-container .ginner-container {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 100%;
  margin: auto;
  height: 100vh;
}

.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}

.glightbox-container .ginner-container.desc-bottom,
.glightbox-container .ginner-container.desc-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.glightbox-container .ginner-container.desc-left,
.glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}

.gslide iframe,
.gslide video {
  outline: none !important;
  border: none;
  min-height: 165px;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: auto;
  touch-action: auto;
}

.gslide:not(.current) {
  pointer-events: none;
}

.gslide-image {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.gslide-image img {
  max-height: 100vh;
  display: block;
  padding: 0;
  float: none;
  outline: none;
  border: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  max-width: 100vw;
  width: auto;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  -ms-touch-action: none;
  touch-action: none;
  margin: auto;
  min-width: 200px;
}

.desc-top .gslide-image img,
.desc-bottom .gslide-image img {
  width: auto;
}

.desc-left .gslide-image img,
.desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}

.gslide-image img.zoomable {
  position: relative;
}

.gslide-image img.dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  -webkit-transition: none;
  transition: none;
}

.gslide-video {
  position: relative;
  max-width: 100vh;
  width: 100% !important;
}

.gslide-video .gvideo-wrapper {
  width: 100%;
  /* max-width: 160vmin; */
  margin: auto;
}

.gslide-video::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.34);
  display: none;
}

.gslide-video.playing::before {
  display: none;
}

.gslide-video.fullscreen {
  max-width: 100% !important;
  min-width: 100%;
  height: 75vh;
}

.gslide-video.fullscreen video {
  max-width: 100% !important;
  width: 100% !important;
}

.gslide-inline {
  background: #fff;
  text-align: left;
  max-height: calc(100vh - 40px);
  overflow: auto;
  max-width: 100%;
  margin: auto;
}

.gslide-inline .ginlined-content {
  padding: 20px;
  width: 100%;
}

.gslide-inline .dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  -webkit-transition: none;
  transition: none;
}

.ginlined-content {
  overflow: auto;
  display: block !important;
  opacity: 1;
}

.gslide-external {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 0;
  overflow: auto;
  max-height: 75vh;
  height: 100%;
}

.gslide-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
}

.zoomed .gslide-media {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.desc-top .gslide-media,
.desc-bottom .gslide-media {
  margin: 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.gslide-description {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
}

.gslide-description.description-left,
.gslide-description.description-right {
  max-width: 100%;
}

.gslide-description.description-bottom,
.gslide-description.description-top {
  margin: 0 auto;
  width: 100%;
}

.gslide-description p {
  margin-bottom: 12px;
}

.gslide-description p:last-child {
  margin-bottom: 0;
}

.zoomed .gslide-description {
  display: none;
}

.glightbox-button-hidden {
  display: none;
}

/*
     * Description for mobiles
     * something like facebook does the description
     * for the photos
    */
.glightbox-mobile .glightbox-container .gslide-description {
  height: auto !important;
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 19px 11px;
  max-width: 100vw !important;
  -webkit-box-ordinal-group: 3 !important;
  -ms-flex-order: 2 !important;
  order: 2 !important;
  max-height: 78vh;
  overflow: auto !important;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  -webkit-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
  padding-bottom: 50px;
}

.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: bold;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: 0.4;
}

.gdesc-open .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 0.4;
}

.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 1;
}

.greset {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.gabsolute {
  position: absolute;
}

.grelative {
  position: relative;
}

.glightbox-desc {
  display: none !important;
}

.glightbox-open {
  overflow: hidden;
}

.gloader {
  height: 25px;
  width: 25px;
  -webkit-animation: lightboxLoader 0.8s infinite linear;
  animation: lightboxLoader 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  position: absolute;
  display: block;
  z-index: 9999;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 47%;
}

.goverlay {
  width: 100%;
  height: calc(100vh + 1px);
  position: fixed;
  top: -1px;
  left: 0;
  background: #000;
  will-change: opacity;
}

.glightbox-mobile .goverlay {
  background: #000;
}

.gprev,
.gnext,
.gclose {
  z-index: 99999;
  cursor: pointer;
  width: 26px;
  height: 44px;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.gprev svg,
.gnext svg,
.gclose svg {
  display: block;
  width: 25px;
  height: auto;
  margin: 0;
  padding: 0;
}

.gprev.disabled,
.gnext.disabled,
.gclose.disabled {
  opacity: 0.1;
}

.gprev .garrow,
.gnext .garrow,
.gclose .garrow {
  stroke: #fff;
}

.gbtn.focused {
  outline: 2px solid #0f3d81;
}

iframe.wait-autoplay {
  opacity: 0;
}

.glightbox-closing .gnext,
.glightbox-closing .gprev,
.glightbox-closing .gclose {
  opacity: 0 !important;
}

/*Skin */
.glightbox-clean .gslide-description {
  background: #fff;
}

.glightbox-clean .gdesc-inner {
  padding: 22px 20px;
}

.glightbox-clean .gslide-title {
  font-size: 1em;
  font-weight: normal;
  font-family: arial;
  color: #000;
  margin-bottom: 19px;
  line-height: 1.4em;
}

.glightbox-clean .gslide-desc {
  font-size: 0.86em;
  margin-bottom: 0;
  font-family: arial;
  line-height: 1.4em;
}

.glightbox-clean .gslide-video {
  background: #000;
}

.glightbox-clean .gprev,
.glightbox-clean .gnext,
.glightbox-clean .gclose {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 4px;
}

.glightbox-clean .gprev path,
.glightbox-clean .gnext path,
.glightbox-clean .gclose path {
  fill: #fff;
}

.glightbox-clean .gprev {
  position: absolute;
  top: -100%;
  left: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gnext {
  position: absolute;
  top: -100%;
  right: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gclose {
  width: 35px;
  height: 35px;
  top: 15px;
  right: 10px;
  position: absolute;
}

.glightbox-clean .gclose svg {
  width: 18px;
  height: auto;
}

.glightbox-clean .gclose:hover {
  opacity: 1;
}

/*CSS Animations*/
.gfadeIn {
  -webkit-animation: gfadeIn 0.5s ease;
  animation: gfadeIn 0.5s ease;
}

.gfadeOut {
  -webkit-animation: gfadeOut 0.5s ease;
  animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
  -webkit-animation: gslideOutLeft 0.3s ease;
  animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
  -webkit-animation: gslideInLeft 0.3s ease;
  animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
  -webkit-animation: gslideOutRight 0.3s ease;
  animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
  -webkit-animation: gslideInRight 0.3s ease;
  animation: gslideInRight 0.3s ease;
}

.gzoomIn {
  -webkit-animation: gzoomIn 0.5s ease;
  animation: gzoomIn 0.5s ease;
}

.gzoomOut {
  -webkit-animation: gzoomOut 0.5s ease;
  animation: gzoomOut 0.5s ease;
}

@-webkit-keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes gslideInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@-webkit-keyframes gzoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@keyframes gzoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@media (min-width: 769px) {
  .glightbox-container .ginner-container {
    width: auto;
    height: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .glightbox-container .ginner-container.desc-top .gslide-description {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .glightbox-container .ginner-container.desc-top .gslide-image,
  .glightbox-container .ginner-container.desc-top .gslide-image img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .glightbox-container .ginner-container.desc-left .gslide-description {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .glightbox-container .ginner-container.desc-left .gslide-image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .gslide-image img {
    max-height: 97vh;
    max-width: 100%;
  }
  .gslide-image img.zoomable {
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
  }
  .zoomed .gslide-image img.zoomable {
    cursor: -webkit-grab;
    cursor: grab;
  }
  .gslide-inline {
    max-height: 95vh;
  }
  .gslide-external {
    max-height: 100vh;
  }
  .gslide-description.description-left,
  .gslide-description.description-right {
    max-width: 275px;
  }
  .glightbox-open {
    height: auto;
  }
  .goverlay {
    background: rgba(0, 0, 0, 0.92);
  }
  .glightbox-clean .gslide-media {
    -webkit-box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
    box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
  }
  .glightbox-clean .description-left .gdesc-inner,
  .glightbox-clean .description-right .gdesc-inner {
    position: absolute;
    height: 100%;
    overflow-y: auto;
  }
  .glightbox-clean .gprev,
  .glightbox-clean .gnext,
  .glightbox-clean .gclose {
    background-color: rgba(0, 0, 0, 0.32);
  }
  .glightbox-clean .gprev:hover,
  .glightbox-clean .gnext:hover,
  .glightbox-clean .gclose:hover {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .glightbox-clean .gprev {
    top: 45%;
  }
  .glightbox-clean .gnext {
    top: 45%;
  }
}
@media (min-width: 992px) {
  .glightbox-clean .gclose {
    opacity: 0.7;
    right: 20px;
  }
}
@media screen and (max-height: 420px) {
  .goverlay {
    background: #000;
  }
}
.plyr--video {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.avatar {
  --_c: var(--color-text-muted);
  --_on: var(--color-text-primary);
  --avatar-size: 2.75rem;
  --avatar-radius: 9999px;
  --avatar-bg: var(--color-surface-1);
  --avatar-color: var(--color-text-secondary);
  --avatar-border: var(--color-border-default);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: var(--avatar-radius);
  overflow: visible;
  background: var(--avatar-bg);
  color: var(--avatar-color);
  border: 1.5px solid var(--avatar-border);
  user-select: none;
  text-decoration: none;
  transition: transform 0.15s ease;
}
.avatar > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}
.avatar > :not(img) {
  font-size: calc(var(--avatar-size) * 0.38);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

a.avatar,
button.avatar {
  cursor: pointer;
}
a.avatar:hover,
button.avatar:hover {
  transform: translateY(-1px);
}
a.avatar:focus-visible,
button.avatar:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .avatar {
    transition: none;
  }
  a.avatar:hover,
  button.avatar:hover {
    transform: none;
  }
}
.avatar-xs {
  --avatar-size: 1.5rem;
}

.avatar-sm {
  --avatar-size: 2rem;
}

.avatar-lg {
  --avatar-size: 3.5rem;
}

.avatar-xl {
  --avatar-size: 4.5rem;
}

.avatar-xxl {
  --avatar-size: 6rem;
}

.avatar-rounded {
  --avatar-radius: 0.5rem;
}

.avatar-square {
  --avatar-radius: 0;
}

.avatar-primary {
  --_c: var(--color-brand-primary);
  --_on: var(--color-text-inverse);
}

.avatar-secondary {
  --_c: var(--color-brand-secondary);
  --_on: var(--color-text-inverse);
}

.avatar-accent {
  --_c: var(--color-brand-accent);
  --_on: var(--color-text-inverse);
}

.avatar-success {
  --_c: var(--color-status-success-icon);
  --_on: var(--color-text-inverse);
}

.avatar-warning {
  --_c: var(--color-status-warning-icon);
  --_on: var(--color-text-primary);
}

.avatar-danger {
  --_c: var(--color-status-danger-icon);
  --_on: var(--color-text-inverse);
}

.avatar-info {
  --_c: var(--color-status-info-icon);
  --_on: var(--color-text-inverse);
}

.avatar-neutral {
  --_c: var(--color-text-secondary);
  --_on: var(--color-text-inverse);
}

.avatar-primary, .avatar-secondary, .avatar-accent,
.avatar-success, .avatar-warning, .avatar-danger,
.avatar-info, .avatar-neutral {
  --avatar-bg: var(--_c);
  --avatar-color: var(--_on);
  --avatar-border: color-mix(in srgb, var(--_c) 50%, transparent);
}

.avatar-soft {
  --avatar-bg: color-mix(in srgb, var(--_c) 15%, var(--color-surface));
  --avatar-color: var(--_c);
  --avatar-border: color-mix(in srgb, var(--_c) 22%, transparent);
}

.avatar-outline {
  --avatar-bg: transparent;
  --avatar-color: var(--_c);
  --avatar-border: color-mix(in srgb, var(--_c) 65%, transparent);
}

.avatar-status {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(25%, 25%);
  width: calc(var(--avatar-size) * 0.26);
  height: calc(var(--avatar-size) * 0.26);
  min-width: 8px;
  min-height: 8px;
  border-radius: 50%;
  background: var(--color-status-success-icon);
  border: 2px solid var(--color-surface);
  z-index: 2;
}
.avatar-status.avatar-offline {
  background: var(--color-text-disabled);
}
.avatar-status.avatar-busy {
  background: var(--color-status-danger-icon);
}
.avatar-status.avatar-away {
  background: var(--color-status-warning-icon);
}

.avatar-group {
  display: inline-flex;
  align-items: center;
}
.avatar-group .avatar {
  margin-left: -0.5rem;
  border: 2px solid var(--color-surface);
}
.avatar-group .avatar:first-child {
  margin-left: 0;
}
.avatar-group .avatar:hover, .avatar-group .avatar:focus-visible {
  position: relative;
  z-index: 2;
}

.avatar-group-sm .avatar {
  margin-left: -0.4rem;
}

.avatar-group-lg .avatar {
  margin-left: -0.65rem;
}

.badge {
  --_c: var(--color-text-secondary);
  --_on: var(--color-text-primary);
  --badge-bg: var(--color-bg-subtle);
  --badge-color: var(--color-text-secondary);
  --badge-border: var(--color-border-subtle);
  --badge-radius: 0.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25em 0.65em;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
  vertical-align: middle;
  text-decoration: none;
  color: var(--badge-color);
  background: var(--badge-bg);
  border: 1px solid var(--badge-border);
  border-radius: var(--badge-radius);
  transition: filter 150ms ease, opacity 150ms ease;
}

a.badge,
.badge[href] {
  cursor: pointer;
}
a.badge:hover,
.badge[href]:hover {
  color: var(--badge-color);
  text-decoration: none;
  filter: brightness(0.88);
}
a.badge:focus-visible,
.badge[href]:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-focus-ring) 25%, transparent);
}

.badge-sm {
  font-size: 0.625rem;
  padding: 0.15em 0.5em;
}

.badge-lg {
  font-size: 0.875rem;
  padding: 0.35em 0.8em;
}

.badge-pill {
  --badge-radius: 9999px;
}

.badge-square {
  --badge-radius: 0;
}

.badge-primary {
  --_c: var(--color-brand-primary);
  --_on: white;
}

.badge-secondary {
  --_c: var(--color-brand-secondary);
  --_on: white;
}

.badge-accent {
  --_c: var(--color-brand-accent);
  --_on: white;
}

.badge-success {
  --_c: var(--color-status-success-icon);
  --_on: white;
}

.badge-warning {
  --_c: var(--color-status-warning-icon);
  --_on: var(--color-text-primary);
}

.badge-danger {
  --_c: var(--color-status-danger-icon);
  --_on: white;
}

.badge-info {
  --_c: var(--color-status-info-icon);
  --_on: white;
}

.badge-neutral {
  --_c: var(--color-text-secondary);
  --_on: var(--color-text-inverse);
}

.badge-primary, .badge-secondary, .badge-accent,
.badge-success, .badge-warning, .badge-danger,
.badge-info, .badge-neutral {
  --badge-bg: var(--_c);
  --badge-color: var(--_on);
  --badge-border: var(--_c);
}

.badge-soft {
  --badge-bg: color-mix(in srgb, var(--_c) 12%, var(--color-surface));
  --badge-color: var(--_c);
  --badge-border: color-mix(in srgb, var(--_c) 20%, transparent);
}

.badge-outline {
  --badge-bg: transparent;
  --badge-color: var(--_c);
  --badge-border: color-mix(in srgb, var(--_c) 60%, transparent);
}

.badge-dot::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.badge-counter {
  min-width: 1.375rem;
  height: 1.375rem;
  padding: 0 0.3rem;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-variant-numeric: tabular-nums;
}

.badge-wrapper {
  position: relative;
  display: inline-flex;
}

.badge-pos {
  position: absolute;
}
.badge-pos-tr {
  top: -0.4rem;
  right: -0.4rem;
}
.badge-pos-tl {
  top: -0.4rem;
  left: -0.4rem;
}
.badge-pos-br {
  bottom: -0.4rem;
  right: -0.4rem;
}
.badge-pos-bl {
  bottom: -0.4rem;
  left: -0.4rem;
}

.btn .badge {
  position: relative;
  top: -1px;
  margin-left: 0.25rem;
}

.tree {
  --_c: var(--color-brand-primary);
  --tree-summary-bg: var(--color-surface);
  --tree-summary-color: var(--color-text-primary);
  --tree-summary-bg-h: var(--color-bg-subtle);
  --tree-summary-color-h: var(--color-text-primary);
  --tree-summary-bg-open: var(--color-bg-subtle);
  --tree-summary-color-open: var(--color-text-primary);
  --tree-shadow: 0 1px 2px 0 color-mix(in oklch, black 8%, transparent);
  --tree-body-bg: var(--color-surface);
  --tree-body-color: var(--color-text-secondary);
  --tree-body-border: var(--color-border-subtle);
  --tree-icon-color: var(--color-text-muted);
  --tree-icon-color-open: var(--_c);
  --tree-leaf-color: var(--color-text-secondary);
  --tree-leaf-color-h: var(--_c);
  --tree-leaf-bg-h: color-mix(in oklch, var(--_c) 8%, transparent);
  --tree-accent: var(--_c);
  --tree-radius: 0.5rem;
  --tree-py: 0.625rem;
  --tree-px: 0.875rem;
  --tree-indent: 1.25rem;
  --tree-gap: 0.25rem;
  --tree-icon-size: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--tree-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tree li {
  list-style: none;
}

.tree details {
  border-radius: var(--tree-radius);
}
.tree details details {
  margin-top: var(--tree-gap);
  margin-left: var(--tree-indent);
}

.tree details > summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  user-select: none;
  outline: none;
  list-style: none;
  padding: var(--tree-py) var(--tree-px);
  padding-left: calc(var(--tree-icon-size) + var(--tree-px) + 0.5rem);
  font-weight: 600;
  color: var(--tree-summary-color);
  background-color: var(--tree-summary-bg);
  box-shadow: var(--tree-shadow);
  border-radius: var(--tree-radius);
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}
.tree details > summary::-webkit-details-marker {
  display: none;
}
.tree details > summary::marker {
  display: none;
}
.tree details > summary:hover {
  background-color: var(--tree-summary-bg-h);
  color: var(--tree-summary-color-h);
}
.tree details > summary:focus-visible {
  outline: 2px solid var(--_c);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--_c) 25%, transparent);
  position: relative;
  z-index: 1;
}
.tree details > summary::before {
  content: "›";
  position: absolute;
  left: var(--tree-px);
  top: 50%;
  transform: translateY(-50%);
  width: var(--tree-icon-size);
  height: var(--tree-icon-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--tree-icon-color);
  transition: transform 0.22s ease, color 0.15s ease;
  flex-shrink: 0;
}

.tree details[open] > summary {
  background-color: var(--tree-summary-bg-open);
  color: var(--tree-summary-color-open);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: none;
}
.tree details[open] > summary::before {
  transform: translateY(-50%) rotate(90deg);
  color: var(--tree-icon-color-open);
}

.tree .tree__body,
.tree details > div {
  background-color: var(--tree-body-bg);
  color: var(--tree-body-color);
  border-bottom-left-radius: var(--tree-radius);
  border-bottom-right-radius: var(--tree-radius);
  padding: 0.5rem var(--tree-px);
  overflow: hidden;
}

.tree details[open] > .tree__body,
.tree details[open] > div {
  animation: _tree-open 0.22s ease forwards;
}

@keyframes _tree-open {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.tree__leaf {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3125rem 0.5rem;
  border-radius: calc(var(--tree-radius) - 2px);
  color: var(--tree-leaf-color);
  cursor: default;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}
.tree__leaf > a {
  color: inherit;
  text-decoration: none;
  flex-grow: 1;
  cursor: pointer;
}
.tree__leaf > i,
.tree__leaf > svg {
  font-size: 1em;
  flex-shrink: 0;
  color: var(--color-text-muted);
  transition: color 150ms ease;
}
.tree__leaf:has(a), .tree__leaf[role=button] {
  cursor: pointer;
}
.tree__leaf:hover {
  background-color: var(--tree-leaf-bg-h);
  color: var(--tree-leaf-color-h);
}
.tree__leaf:hover > i, .tree__leaf:hover > svg {
  color: var(--_c);
}
.tree__leaf--active {
  background-color: var(--tree-leaf-bg-h);
  color: var(--tree-leaf-color-h);
  font-weight: 600;
}
.tree__leaf--active > i, .tree__leaf--active > svg {
  color: var(--_c);
}

.tree .tree__body > ul,
.tree details > div > ul {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tree--primary {
  --_c: var(--color-brand-primary);
  --tree-summary-bg-h: color-mix(in srgb, var(--color-brand-primary) 12%, var(--color-surface));
  --tree-summary-bg-open: color-mix(in srgb, var(--color-brand-primary) 14%, var(--color-surface));
}

.tree--secondary {
  --_c: var(--color-brand-secondary);
  --tree-summary-bg-h: color-mix(in srgb, var(--color-brand-secondary) 12%, var(--color-surface));
  --tree-summary-bg-open: color-mix(in srgb, var(--color-brand-secondary) 14%, var(--color-surface));
}

.tree--accent {
  --_c: var(--color-brand-accent);
  --tree-summary-bg-h: color-mix(in srgb, var(--color-brand-accent) 12%, var(--color-surface));
  --tree-summary-bg-open: color-mix(in srgb, var(--color-brand-accent) 14%, var(--color-surface));
}

.tree--success {
  --_c: var(--primitive-success-600);
  --tree-summary-bg-h: color-mix(in srgb, var(--primitive-success-600) 12%, var(--color-surface));
  --tree-summary-bg-open: color-mix(in srgb, var(--primitive-success-600) 14%, var(--color-surface));
}

.tree--warning {
  --_c: var(--primitive-warning-500);
  --tree-summary-bg-h: color-mix(in srgb, var(--primitive-warning-500) 12%, var(--color-surface));
  --tree-summary-bg-open: color-mix(in srgb, var(--primitive-warning-500) 14%, var(--color-surface));
}

.tree--danger {
  --_c: var(--primitive-danger-600);
  --tree-summary-bg-h: color-mix(in srgb, var(--primitive-danger-600) 12%, var(--color-surface));
  --tree-summary-bg-open: color-mix(in srgb, var(--primitive-danger-600) 14%, var(--color-surface));
}

.tree--info {
  --_c: var(--primitive-info-600);
  --tree-summary-bg-h: color-mix(in srgb, var(--primitive-info-600) 12%, var(--color-surface));
  --tree-summary-bg-open: color-mix(in srgb, var(--primitive-info-600) 14%, var(--color-surface));
}

.tree--neutral {
  --_c: var(--color-text-secondary);
}

.tree--bordered {
  --tree-shadow: none;
}
.tree--bordered details {
  border: 1px solid var(--tree-body-border);
  overflow: hidden;
}
.tree--bordered details > summary {
  border-radius: 0;
  box-shadow: none;
}
.tree--bordered details[open] > summary {
  border-bottom: 1px solid var(--tree-body-border);
}
.tree--bordered details > .tree__body,
.tree--bordered details > div {
  border-radius: 0;
}

.tree--ghost {
  --tree-summary-bg: transparent;
  --tree-summary-bg-open: transparent;
  --tree-body-bg: transparent;
  --tree-shadow: none;
}
.tree--ghost details > summary {
  box-shadow: none;
}

.tree--flush {
  --tree-summary-bg: transparent;
  --tree-summary-bg-open: transparent;
  --tree-body-bg: transparent;
  --tree-shadow: none;
  --tree-gap: 0;
  gap: 0;
}
.tree--flush details {
  border-radius: 0;
  border-bottom: 1px solid var(--tree-body-border);
}
.tree--flush details > summary {
  border-radius: 0;
  font-weight: 500;
  box-shadow: none;
}
.tree--flush details[open] > summary {
  border-bottom: 1px solid var(--tree-body-border);
}
.tree--flush details > .tree__body,
.tree--flush details > div {
  border-radius: 0;
}

.tree--filled details[open] > summary {
  background-color: var(--_c);
  color: var(--color-text-inverse);
  box-shadow: none;
}
.tree--filled details[open] > summary::before {
  color: var(--color-text-inverse);
}

.tree--accordion {
  --tree-gap: 0;
  gap: 0;
  border: 1px solid var(--tree-body-border);
  border-radius: var(--tree-radius);
  overflow: hidden;
}
.tree--accordion details details {
  margin-left: 0;
}
.tree--accordion details {
  border-radius: 0;
}
.tree--accordion details + details {
  border-top: 1px solid var(--tree-body-border);
}
.tree--accordion details > summary {
  border-radius: 0;
  box-shadow: none;
  padding-left: var(--tree-px);
  padding-right: calc(var(--tree-icon-size) + var(--tree-px) + 0.5rem);
}
.tree--accordion details > summary::before {
  left: unset;
  right: var(--tree-px);
}
.tree--accordion details[open] > summary {
  border-bottom: 1px solid var(--tree-body-border);
  box-shadow: none;
}
.tree--accordion details > .tree__body,
.tree--accordion details > div {
  border-radius: 0;
  border-left: 3px solid var(--tree-accent);
  padding-left: calc(var(--tree-px) - 3px);
}

.tree--plus details > summary::before {
  content: "+";
  font-size: 1.25rem;
  font-weight: 300;
  transform: translateY(-50%) rotate(0deg);
}
.tree--plus details[open] > summary::before {
  content: "−";
  transform: translateY(-50%) rotate(0deg);
}

.tree--caret details > summary::before {
  content: "▼";
  font-size: 0.65rem;
  transform: translateY(-50%) rotate(-90deg);
}
.tree--caret details[open] > summary::before {
  transform: translateY(-50%) rotate(0deg);
}

.tree--sm {
  font-size: 0.8125rem;
  --tree-py: 0.4375rem;
  --tree-px: 0.6875rem;
  --tree-icon-size: 1.125rem;
  --tree-indent: 1rem;
}

.tree--lg {
  font-size: 1.0625rem;
  --tree-py: 0.875rem;
  --tree-px: 1.125rem;
  --tree-icon-size: 1.375rem;
  --tree-indent: 1.5rem;
}

.tree--compact {
  --tree-gap: 0.125rem;
  --tree-py: 0.4375rem;
}
.tree--compact details > summary {
  font-weight: 500;
}

.pagination {
  --_c: var(--color-brand-primary);
  --_on: var(--color-text-inverse);
  --pag-item-bg: var(--color-surface);
  --pag-item-color: var(--color-text-secondary);
  --pag-item-border: var(--color-border-default);
  --pag-item-bg-h: color-mix(in oklch, var(--_c) 8%, transparent);
  --pag-item-color-h: var(--_c);
  --pag-item-border-h: var(--_c);
  --pag-active-bg: var(--_c);
  --pag-active-color: var(--_on);
  --pag-active-border: var(--_c);
  --pag-disabled-color: var(--color-text-disabled);
  --pag-disabled-border: var(--color-border-subtle);
  display: flex;
  justify-content: center;
  margin-block: 1.5rem;
}

.pagination-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pagination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  color: var(--pag-item-color);
  background-color: var(--pag-item-bg);
  border: 1px solid var(--pag-item-border);
  border-radius: 0.5rem;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
  outline: none;
}
.pagination-link > i,
.pagination-link > svg {
  font-size: 1.1em;
  flex-shrink: 0;
  line-height: 1;
}
.pagination-link:hover:not(.pagination-link--active):not(.pagination-link--disabled):not(.pagination-link--ellipsis) {
  background-color: var(--pag-item-bg-h);
  color: var(--pag-item-color-h);
  border-color: var(--pag-item-border-h);
}
.pagination-link:focus-visible {
  outline: 2px solid var(--_c);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--_c) 25%, transparent);
  position: relative;
  z-index: 1;
}
.pagination-link--active {
  background-color: var(--pag-active-bg);
  color: var(--pag-active-color);
  border-color: var(--pag-active-border);
  cursor: default;
  pointer-events: none;
  font-weight: 600;
}
.pagination-link--disabled {
  background-color: transparent;
  color: var(--pag-disabled-color);
  border-color: var(--pag-disabled-border);
  cursor: not-allowed;
  opacity: 0.55;
  pointer-events: none;
}
.pagination-link--ellipsis {
  background-color: transparent;
  border-color: transparent;
  cursor: default;
  pointer-events: none;
  color: var(--color-text-muted);
  font-weight: 400;
  letter-spacing: 0.05em;
}

.pagination-item--active > .pagination-link {
  background-color: var(--pag-active-bg);
  color: var(--pag-active-color);
  border-color: var(--pag-active-border);
  cursor: default;
  pointer-events: none;
  font-weight: 600;
}

.pagination-item--disabled > .pagination-link {
  background-color: transparent;
  color: var(--pag-disabled-color);
  border-color: var(--pag-disabled-border);
  cursor: not-allowed;
  opacity: 0.55;
  pointer-events: none;
}

.pagination--primary {
  --_c: var(--color-brand-primary);
  --_on: var(--color-text-inverse);
}

.pagination--secondary {
  --_c: var(--color-brand-secondary);
  --_on: var(--color-text-inverse);
}

.pagination--accent {
  --_c: var(--color-brand-accent);
  --_on: var(--color-text-inverse);
}

.pagination--success {
  --_c: var(--primitive-success-600);
  --_on: var(--color-text-inverse);
}

.pagination--warning {
  --_c: var(--primitive-warning-500);
  --_on: var(--primitive-warning-950);
}

.pagination--danger {
  --_c: var(--primitive-danger-600);
  --_on: var(--color-text-inverse);
}

.pagination--info {
  --_c: var(--primitive-info-600);
  --_on: var(--color-text-inverse);
}

.pagination--neutral {
  --_c: var(--color-text-secondary);
  --pag-active-bg: var(--color-bg-inverse);
  --pag-active-color: var(--color-text-inverse);
  --pag-active-border: var(--color-bg-inverse);
}

.pagination--outline .pagination-link--active,
.pagination--outline .pagination-item--active > .pagination-link {
  background-color: transparent;
  color: var(--_c);
  border-color: var(--_c);
  border-width: 2px;
}

.pagination--ghost {
  --pag-item-bg: transparent;
  --pag-item-border: transparent;
  --pag-item-bg-h: color-mix(in oklch, var(--_c) 10%, transparent);
}

.pagination--soft {
  --pag-active-bg: color-mix(in oklch, var(--_c) 14%, transparent);
  --pag-active-color: var(--_c);
  --pag-active-border: color-mix(in oklch, var(--_c) 28%, transparent);
}

.pagination--flat {
  --pag-item-bg: transparent;
  --pag-item-border: transparent;
  --pag-disabled-border: transparent;
}

.pagination--pills .pagination-link {
  border-radius: 9999px;
}

.pagination--joined .pagination-list {
  gap: 0;
}
.pagination--joined .pagination-link {
  border-radius: 0;
  border-inline-end-width: 0;
}
.pagination--joined .pagination-link:hover:not(.pagination-link--active):not(.pagination-link--disabled):not(.pagination-link--ellipsis), .pagination--joined .pagination-link:focus-visible {
  border-inline-end-width: 1px;
  margin-inline-end: -1px;
  position: relative;
  z-index: 1;
}
.pagination--joined .pagination-item:first-child .pagination-link {
  border-radius: 0.5rem 0 0 0.5rem;
}
.pagination--joined .pagination-item:last-child .pagination-link {
  border-radius: 0 0.5rem 0.5rem 0;
  border-inline-end-width: 1px;
}
.pagination--joined.pagination--pills .pagination-item:first-child .pagination-link {
  border-radius: 9999px 0 0 9999px;
}
.pagination--joined.pagination--pills .pagination-item:last-child .pagination-link {
  border-radius: 0 9999px 9999px 0;
}

.pagination--sm .pagination-link {
  min-width: 1.875rem;
  height: 1.875rem;
  padding: 0 0.625rem;
  font-size: 0.75rem;
  border-radius: 0.25rem;
}

.pagination--lg .pagination-link {
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0 1rem;
  font-size: 1rem;
  border-radius: 0.75rem;
}

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

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

#scrollTopButton {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  transition: all 500ms;
  z-index: 9999;
  width: 2rem;
  height: 2rem;
  background-color: black;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  transform: translateY(100px);
}
@media only screen and (min-width: 768px) {
  #scrollTopButton {
    width: 3rem;
    height: 3rem;
    bottom: 2rem;
    right: 2rem;
    font-size: 1.375rem;
  }
}
#scrollTopButton.scrolltop-show {
  transform: translateY(0);
}
#scrollTopButton.scrolltop-hide {
  transform: translateY(100px);
}

.bg-primary {
  background-color: var(--color-brand-primary);
  color: var(--color-text-inverse) !important;
}

.bg-secondary {
  background-color: var(--color-brand-secondary);
  color: var(--color-text-inverse);
}

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

.bg-success {
  background-color: var(--color-status-success-icon);
  color: var(--color-text-inverse);
}

.bg-warning {
  background-color: var(--color-status-warning-icon);
  color: var(--color-text-primary);
}

.bg-danger {
  background-color: var(--color-status-danger-icon);
  color: var(--color-text-inverse);
}

.bg-info {
  background-color: var(--color-status-info-icon);
  color: var(--color-text-inverse);
}

.bg-primary-soft {
  background-color: color-mix(in srgb, var(--color-brand-primary) 12%, var(--color-surface));
  color: var(--color-brand-primary);
}

.bg-secondary-soft {
  background-color: color-mix(in srgb, var(--color-brand-secondary) 12%, var(--color-surface));
  color: var(--color-brand-secondary);
}

.bg-accent-soft {
  background-color: color-mix(in srgb, var(--color-brand-accent) 12%, var(--color-surface));
  color: var(--color-brand-accent);
}

.bg-success-soft {
  background-color: var(--color-status-success-bg);
  color: var(--color-status-success-text);
}

.bg-warning-soft {
  background-color: var(--color-status-warning-bg);
  color: var(--color-status-warning-text);
}

.bg-danger-soft {
  background-color: var(--color-status-danger-bg);
  color: var(--color-status-danger-text);
}

.bg-info-soft {
  background-color: var(--color-status-info-bg);
  color: var(--color-status-info-text);
}

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

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

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

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

.bg-dark {
  background-color: oklch(10% 0.015 250deg);
  color: oklch(94% 0.006 250deg);
}

.bg-white, .bw {
  background-color: var(--color-surface);
  color: var(--color-text-primary);
}

.bg-transparent {
  background-color: transparent !important;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, var(--color-brand-primary) 0%, var(--color-brand-secondary) 100%);
  color: var(--color-text-inverse);
}

.bg-gradient-warm {
  background: linear-gradient(135deg, var(--color-brand-accent) 0%, var(--color-brand-secondary) 100%);
  color: var(--color-text-inverse);
}

.bg-gradient-cool {
  background: linear-gradient(135deg, var(--color-status-info-icon) 0%, var(--color-brand-primary) 100%);
  color: var(--color-text-inverse);
}

.bg-gradient-nature {
  background: linear-gradient(135deg, var(--color-status-success-icon) 0%, var(--color-brand-primary) 100%);
  color: var(--color-text-inverse);
}

.bg-gradient-dark {
  background: linear-gradient(135deg, oklch(14% 0.02 250deg) 0%, oklch(11% 0.025 290deg) 100%);
  color: oklch(94% 0.006 250deg);
}

.bg-gradient-mesh {
  background: radial-gradient(ellipse at top left, color-mix(in srgb, var(--color-brand-primary) 50%, transparent) 0%, transparent 55%), radial-gradient(ellipse at top right, color-mix(in srgb, var(--color-brand-accent) 40%, transparent) 0%, transparent 55%), radial-gradient(ellipse at bottom left, color-mix(in srgb, var(--color-brand-secondary) 40%, transparent) 0%, transparent 60%), var(--color-surface);
}

.bg-gradient-aurora {
  background: radial-gradient(ellipse 80% 60% at 20% 30%, color-mix(in srgb, var(--color-brand-primary) 20%, transparent)), radial-gradient(ellipse 60% 80% at 80% 70%, color-mix(in srgb, var(--color-brand-secondary) 18%, transparent)), radial-gradient(ellipse 70% 50% at 55% 5%, color-mix(in srgb, var(--color-brand-accent) 14%, transparent)), var(--color-bg-subtle);
}

.bg-pattern-dots {
  background-image: url("../images/bg/dots-pattern.svg");
  background-repeat: repeat;
}

.bg-pattern-grid {
  background-image: url("../images/bg/grid-pattern.svg");
  background-repeat: repeat;
}

.bg-pattern-vlines {
  background-image: url("../images/bg/vertical-line-small.svg");
  background-repeat: repeat;
}

.bg-pattern-body {
  background-image: url("../images/bg/bg-body.svg");
  background-repeat: repeat;
}

.bg-pattern-stripe-1 {
  background-image: url("../images/bg/stripe-1.png");
  background-repeat: repeat;
}

.bg-pattern-stripe-2 {
  background-image: url("../images/bg/stripe-2.png");
  background-repeat: repeat;
}

.bg-pattern-stripe-3 {
  background-image: url("../images/bg/stripe-3.png");
  background-repeat: repeat;
}

.bg-pattern-stripe-4 {
  background-image: url("../images/bg/stripe-4.png");
  background-repeat: repeat;
}

.bg-pattern-body-tint, .bg-pattern-vlines-tint, .bg-pattern-grid-tint, .bg-pattern-dots-tint {
  position: relative;
  overflow: hidden;
}
.bg-pattern-body-tint::before, .bg-pattern-vlines-tint::before, .bg-pattern-grid-tint::before, .bg-pattern-dots-tint::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-color: var(--pattern-color, var(--primitive-neutral-900));
  opacity: var(--pattern-opacity, 0.1);
  mask-repeat: repeat;
  mask-size: auto;
}

.bg-pattern-dots-tint::before {
  mask-image: url("../images/bg/dots-pattern.svg");
}

.bg-pattern-grid-tint::before {
  mask-image: url("../images/bg/grid-pattern.svg");
}

.bg-pattern-vlines-tint::before {
  mask-image: url("../images/bg/vertical-line-small.svg");
}

.bg-pattern-body-tint::before {
  mask-image: url("../images/bg/bg-body.svg");
}

.pattern-primary {
  --pattern-color: var(--primitive-primary-500);
}

.pattern-secondary {
  --pattern-color: var(--primitive-secondary-500);
}

.pattern-accent {
  --pattern-color: var(--primitive-accent-500);
}

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

.pattern-white {
  --pattern-color: oklch(100% 0 0);
}

.pattern-black {
  --pattern-color: oklch(0% 0 0);
}

.pattern-opacity-5 {
  --pattern-opacity: 0.05;
}

.pattern-opacity-10 {
  --pattern-opacity: 0.10;
}

.pattern-opacity-15 {
  --pattern-opacity: 0.15;
}

.pattern-opacity-20 {
  --pattern-opacity: 0.20;
}

.pattern-opacity-30 {
  --pattern-opacity: 0.30;
}

.pattern-opacity-50 {
  --pattern-opacity: 0.50;
}

.bg-pattern-1 {
  background-image: url("../images/bg/bg-1.png");
  background-position: center;
  background-repeat: repeat;
}

.bg-pattern-2 {
  background-image: url("../images/bg/bg-2.png");
  background-position: center;
  background-repeat: repeat;
}

.bg-pattern-3 {
  background-image: url("../images/bg/bg-3.png");
  background-repeat: repeat;
}

.bg-pattern-4 {
  background-image: url("../images/bg/bg-4.png");
  background-repeat: repeat;
}

.bg-pattern-5 {
  background-image: url("../images/bg/bg-5.png");
  background-repeat: repeat;
}

.bg-pattern-6 {
  background-image: url("../images/bg/bg-6.png");
  background-repeat: repeat;
}

.bg-pattern-overlay {
  background-image: url("../images/bg/overlay.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-pattern-circle {
  background-image: url("../images/bg/circle-bg-05.png");
  background-size: contain;
  background-position: left;
  background-repeat: no-repeat;
}

.bg-dots {
  --dot-color: color-mix(in srgb, currentColor 12%, transparent);
  --dot-size: 1.5px;
  --dot-gap: 22px;
  background-image: radial-gradient(circle, var(--dot-color) var(--dot-size), transparent 0);
  background-size: var(--dot-gap) var(--dot-gap);
}

.bg-grid {
  --grid-color: color-mix(in srgb, currentColor 8%, transparent);
  --grid-gap: 28px;
  background-image: linear-gradient(to right, var(--grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);
  background-size: var(--grid-gap) var(--grid-gap);
}

.bg-stripes {
  --stripe-color: color-mix(in srgb, currentColor 7%, transparent);
  --stripe-size: 20px;
  background-image: repeating-linear-gradient(-45deg, var(--stripe-color) 0, var(--stripe-color) 1px, transparent 0, transparent 50%);
  background-size: var(--stripe-size) var(--stripe-size);
}

.deco-wrap {
  position: relative;
  overflow: hidden;
}
.deco-wrap--open {
  overflow: visible;
}

.deco {
  --deco-size: 10rem;
  --deco-alpha: 0.08;
  --deco-bleed: calc(var(--deco-size) * -0.35);
  position: absolute;
  width: var(--deco-size);
  height: var(--deco-size);
  border-radius: 50%;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  background: rgba(128, 128, 128, 0.05);
}

.deco-xs {
  --deco-size: 3.5rem;
}

.deco-sm {
  --deco-size: 6rem;
}

.deco-md {
  --deco-size: 10rem;
}

.deco-lg {
  --deco-size: 16rem;
}

.deco-xl {
  --deco-size: 24rem;
}

.deco-2xl {
  --deco-size: 36rem;
}

.deco-tr {
  top: var(--deco-bleed);
  right: var(--deco-bleed);
}

.deco-tl {
  top: var(--deco-bleed);
  left: var(--deco-bleed);
}

.deco-br {
  bottom: var(--deco-bleed);
  right: var(--deco-bleed);
}

.deco-bl {
  bottom: var(--deco-bleed);
  left: var(--deco-bleed);
}

.deco-tc {
  top: var(--deco-bleed);
  left: 50%;
  transform: translateX(-50%);
}

.deco-bc {
  bottom: var(--deco-bleed);
  left: 50%;
  transform: translateX(-50%);
}

.deco-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.deco-white {
  background: rgba(255, 255, 255, var(--deco-alpha));
}

.deco-dark {
  background: rgba(0, 0, 0, var(--deco-alpha));
}

.deco-primary {
  background: color-mix(in srgb, var(--color-brand-primary) calc(var(--deco-alpha) * 100%), transparent);
}

.deco-secondary {
  background: color-mix(in srgb, var(--color-brand-secondary) calc(var(--deco-alpha) * 100%), transparent);
}

.deco-accent {
  background: color-mix(in srgb, var(--color-brand-accent) calc(var(--deco-alpha) * 100%), transparent);
}

.deco-success {
  background: color-mix(in srgb, var(--color-status-success-icon) calc(var(--deco-alpha) * 100%), transparent);
}

.deco-danger {
  background: color-mix(in srgb, var(--color-status-danger-icon) calc(var(--deco-alpha) * 100%), transparent);
}

.deco-ring {
  background: transparent !important;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
}
.deco-ring.deco-primary {
  border-color: color-mix(in srgb, var(--color-brand-primary) 30%, transparent);
}
.deco-ring.deco-secondary {
  border-color: color-mix(in srgb, var(--color-brand-secondary) 30%, transparent);
}
.deco-ring.deco-accent {
  border-color: color-mix(in srgb, var(--color-brand-accent) 30%, transparent);
}
.deco-ring.deco-success {
  border-color: color-mix(in srgb, var(--color-status-success-icon) 30%, transparent);
}
.deco-ring.deco-danger {
  border-color: color-mix(in srgb, var(--color-status-danger-icon) 30%, transparent);
}
.deco-ring.deco-dark {
  border-color: rgba(0, 0, 0, 0.15);
}

.deco-blob {
  border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
}

.deco-glow {
  --deco-alpha: 0.25;
  filter: blur(calc(var(--deco-size) * 0.35));
}

.deco-faint {
  --deco-alpha: 0.04;
}

.deco-subtle {
  --deco-alpha: 0.07;
}

.deco-bold {
  --deco-alpha: 0.18;
}

.deco-vivid {
  --deco-alpha: 0.35;
}

.text-gradient-primary {
  background: linear-gradient(135deg, var(--color-brand-primary) 0%, var(--color-brand-secondary) 60%, var(--color-brand-accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.text-gradient-warm {
  background: linear-gradient(135deg, var(--color-brand-accent) 0%, var(--color-brand-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.text-gradient-cool {
  background: linear-gradient(135deg, var(--color-status-info-icon) 0%, var(--color-brand-primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.text-gradient-nature {
  background: linear-gradient(135deg, var(--color-status-success-icon) 0%, var(--color-brand-primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* Text gradient color */
.text-blue-magenta-orange, .text-light-gray-white, .text-light-purple-light-orange, .text-sky-blue-pink, .text-light-blue-light-turquoise, .text-blue-purple-light-orange, .text-light-pink-light-purple, .text-fast-blue-purple, .text-pink-orange, .text-pink-light-yellow, .text-purple-pink, .text-gradient-light-pink-light-orange {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-light-pink-light-orange {
  background-image: linear-gradient(to right, #ffafbd, #ffb3b4, #ffb7ac, #ffbda5, #ffc3a0);
}

.text-purple-pink {
  background-image: linear-gradient(to right, #8b14b1, #ab019e, #c00c8b, #cd267b, #d53d6e);
}

.text-pink-light-yellow {
  background-image: linear-gradient(to right, #f7567f, #fe7177, #ff8a74, #ffa378, #ffba83);
}

.text-pink-orange {
  background-image: linear-gradient(to right, #de347f, #e73a70, #ed4461, #f05152, #ef5f43);
}

.text-fast-blue-purple {
  background-image: linear-gradient(to right, #2a46f4, #5f42f9, #833cfc, #a233fe, #bf25ff);
}

.text-light-pink-light-purple {
  background-image: linear-gradient(to right, #ed579b, #e855ad, #df57c0, #d15cd4, #bc63e8);
}

.text-blue-purple-light-orange {
  background-image: linear-gradient(to right top, #183fb9, #4f41df, #ae2eb9, #ef3f59, #e9522d);
}

.text-light-blue-light-turquoise {
  background-image: linear-gradient(to right, #18cdbb, #22d2ae, #3cd69d, #57da89, #73dc73);
}

.text-sky-blue-pink {
  background-image: linear-gradient(to right, #556fff, #556fff, #e05fc4, #f767a6, #ff798e);
}

.text-light-purple-light-orange {
  background-image: linear-gradient(to right, #b783ff, #b783ff, #fa7cc1, #ff85a6, #ff9393);
}

.text-light-gray-white {
  background-image: linear-gradient(to bottom, #efefef, #efefef, #f7f7f7, #fdfdfc, #ffffff);
}

.text-blue-magenta-orange {
  background-image: linear-gradient(to right, #002fff, #ab00ff, #ff137d, #ff562f, #ee8502);
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 20000;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.modal-backdrop.show {
  opacity: 1;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 20001;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
  overflow-y: auto;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s ease, opacity 0.3s ease;
}
.modal.show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.modal.show .modal-dialog {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.modal-dialog {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 1.75rem auto;
  background-color: var(--card-bg);
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform: translateY(-30px) scale(0.95);
  opacity: 0;
  pointer-events: auto;
}
.modal-dialog .modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: var(--card-bg);
  background-clip: padding-box;
  border-radius: 0.5rem;
  outline: 0;
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--color-border);
  border-top-left-radius: calc(0.5rem - 1px);
  border-top-right-radius: calc(0.5rem - 1px);
}
.modal-header .modal-title {
  margin: 0;
  line-height: 1.5;
  font-weight: 600;
}
.modal-header .modal-close {
  padding: 0.25rem;
  background-color: transparent;
  border: 0;
  font-size: 1.5rem;
  line-height: 1;
  opacity: 0.7;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.modal-header .modal-close:hover {
  opacity: 1;
}
.modal-header .modal-close:focus {
  outline: none;
  opacity: 1;
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}
.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid var(--color-border);
  border-bottom-left-radius: calc(0.5rem - 1px);
  border-bottom-right-radius: calc(0.5rem - 1px);
}
.modal-footer button {
  margin-left: 0.5rem;
}

.modal-dialog.modal-sm {
  max-width: 300px;
}

.modal-dialog.modal-md {
  max-width: 500px;
}

.modal-dialog.modal-lg {
  max-width: 800px;
}

.modal-dialog.modal-xl {
  max-width: 1140px;
}

.modal-dialog.modal-fullscreen {
  max-width: 100%;
}

.modal-fullscreen {
  padding: 0;
}
.modal-fullscreen .modal-dialog {
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3.5rem);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 3.5rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-fade .modal-dialog {
  transition: opacity 0.3s linear;
  transform: translateY(0) scale(1);
}
.modal-fade:not(.show) .modal-dialog {
  opacity: 0;
}

.modal-slide-up .modal-dialog {
  transform: translateY(100%);
}
.modal-slide-up.show .modal-dialog {
  transform: translateY(0);
}

.modal-slide-down .modal-dialog {
  transform: translateY(-100%);
}
.modal-slide-down.show .modal-dialog {
  transform: translateY(0);
}

.modal-slide-left .modal-dialog {
  transform: translateX(100%);
}
.modal-slide-left.show .modal-dialog {
  transform: translateX(0);
}

.modal-slide-right .modal-dialog {
  transform: translateX(-100%);
}
.modal-slide-right.show .modal-dialog {
  transform: translateX(0);
}

.modal-zoom .modal-dialog {
  transform: scale(1.2);
}
.modal-zoom.show .modal-dialog {
  transform: scale(1);
}

.modal-top, .modal-bottom {
  align-items: flex-start;
}
.modal-top .modal-dialog, .modal-bottom .modal-dialog {
  margin: 0 auto;
  width: 100%;
}

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

.modal-primary .modal-header {
  background-color: var(--color-brand-primary);
  color: var(--color-light);
  border-bottom-color: transparent;
}
.modal-primary .modal-header .modal-close {
  color: var(--color-light);
}

.modal-danger .modal-header {
  background-color: var(--color-action-danger);
  color: var(--color-light);
  border-bottom-color: transparent;
}
.modal-danger .modal-header .modal-close {
  color: var(--color-light);
}

.modal-success .modal-header {
  background-color: var(--color-action-success);
  color: var(--color-light);
  border-bottom-color: transparent;
}
.modal-success .modal-header .modal-close {
  color: var(--color-light);
}

.modal-static .modal-dialog {
  transform: scale(1.02);
}

@media only screen and (max-width: 767.999px) {
  .modal-dialog {
    margin: 0.5rem;
  }
  .modal-dialog-centered {
    min-height: calc(100% - 1rem);
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 1rem);
  }
  .modal-fullscreen-md-down {
    padding: 0;
  }
  .modal-fullscreen-md-down .modal-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
}
@keyframes modalZoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes modalZoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.animate-zoom-in {
  animation: modalZoomIn 0.3s;
}

.animate-zoom-out {
  animation: modalZoomOut 0.3s;
}

.modal-nested {
  background-color: rgba(0, 0, 0, 0.2);
}
.modal-nested .modal-dialog {
  margin: 3rem auto;
}

[data-theme-mode=dark] .modal-content,
.dark .modal-content {
  background-color: var(--card-bg);
}
[data-theme-mode=dark] .modal-header,
[data-theme-mode=dark] .modal-footer,
.dark .modal-header,
.dark .modal-footer {
  border-color: rgba(255, 255, 255, 0.1);
}

.modal:focus {
  outline: none;
}

.modal-dialog[tabindex="-1"]:focus {
  outline: none;
}

.modal-drawer.modal-left .modal-dialog, .modal-drawer.modal-right .modal-dialog {
  position: fixed;
  margin: 0;
  height: 100%;
  max-width: 350px;
}
.modal-drawer.modal-left .modal-content, .modal-drawer.modal-right .modal-content {
  height: 100%;
  border-radius: 0;
  display: flex;
  flex-direction: column;
}
.modal-drawer.modal-left .modal-body, .modal-drawer.modal-right .modal-body {
  overflow-y: auto;
}
.modal-drawer.modal-left .modal-dialog {
  left: 0;
  transform: translateX(-100%);
}
.modal-drawer.modal-left.show .modal-dialog {
  transform: translateX(0);
}
.modal-drawer.modal-right .modal-dialog {
  right: 0;
  transform: translateX(100%);
}
.modal-drawer.modal-right.show .modal-dialog {
  transform: translateX(0);
}

.modal-confirm .modal-footer {
  justify-content: center;
  padding-top: 1.5rem;
}
.modal-confirm .modal-footer .btn-confirm,
.modal-confirm .modal-footer .btn-cancel {
  min-width: 100px;
}
.modal-confirm .modal-body {
  padding: 1.5rem;
  text-align: center;
}
.modal-confirm .modal-body .modal-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
  font-size: 3rem;
}
.modal-confirm .modal-body .modal-icon.warning {
  color: var(--color-action-warning);
}
.modal-confirm .modal-body .modal-icon.danger {
  color: var(--color-action-danger);
}
.modal-confirm .modal-body .modal-icon.success {
  color: var(--color-action-success);
}

.modal-image .modal-content {
  background-color: transparent;
  border: none;
  box-shadow: none;
}
.modal-image .modal-body {
  padding: 0;
  text-align: center;
}
.modal-image .modal-body img {
  max-height: 90vh;
  max-width: 100%;
  border-radius: 0.25rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.modal-image .modal-caption {
  margin-top: 1rem;
  color: var(--color-light);
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.modal-video .modal-dialog {
  max-width: 800px;
}
.modal-video .modal-body {
  padding: 0;
  position: relative;
  overflow: hidden;
}
.modal-video .video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}
.modal-video .video-container iframe,
.modal-video .video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.modal-steps .modal-header {
  padding-bottom: 0;
  border-bottom: none;
}
.modal-steps .modal-steps-nav {
  display: flex;
  width: 100%;
  margin-top: 1rem;
  border-bottom: 1px solid var(--color-border);
}
.modal-steps .modal-steps-nav .step-item {
  flex: 1;
  padding: 0.75rem 1rem;
  text-align: center;
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.2s ease;
  border-bottom: 3px solid transparent;
}
.modal-steps .modal-steps-nav .step-item.active {
  opacity: 1;
  border-bottom-color: var(--color-brand-primary);
  font-weight: 600;
}
.modal-steps .modal-step {
  display: none;
}
.modal-steps .modal-step.active {
  display: block;
}
.modal-steps .modal-footer {
  display: flex;
  justify-content: space-between;
}
.modal-steps .modal-footer .btn-prev {
  margin-right: auto;
  margin-left: 0;
}

.modal-notification .modal-dialog {
  margin: 1rem;
  position: absolute;
  right: 0;
  top: 0;
  width: auto;
  max-width: 400px;
}
.modal-notification .modal-content {
  display: flex;
  flex-direction: row;
}
.modal-notification .modal-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  background-color: var(--color-brand-primary);
  border-bottom-left-radius: 0.5rem;
  border-top-left-radius: 0.5rem;
  color: var(--color-light);
  font-size: 1.5rem;
}
.modal-notification .modal-icon.success {
  background-color: var(--color-action-success);
}
.modal-notification .modal-icon.warning {
  background-color: var(--color-action-warning);
}
.modal-notification .modal-icon.danger {
  background-color: var(--color-action-danger);
}
.modal-notification .modal-icon.info {
  background-color: var(--color-action-info);
}
.modal-notification .modal-notification-content {
  flex: 1;
}
.modal-notification .modal-notification-content .notification-title {
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.modal-notification .modal-notification-content .notification-text {
  margin-bottom: 0;
  font-size: 0.875rem;
}
.modal-notification .modal-header {
  border-bottom: none;
  padding: 1rem 1rem 0.5rem;
}
.modal-notification .modal-body {
  padding: 0.5rem 1rem 1rem;
}

.modal-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
}
.modal-toast .modal-dialog {
  margin: 0;
  max-width: 350px;
}
.modal-toast .modal-content {
  border-radius: 0.25rem;
}
.modal-toast .modal-body {
  display: flex;
  align-items: center;
}
.modal-toast .modal-body .toast-icon {
  margin-right: 0.75rem;
  font-size: 1.25rem;
}
.modal-toast .modal-body .toast-icon.success {
  color: var(--color-action-success);
}
.modal-toast .modal-body .toast-icon.warning {
  color: var(--color-action-warning);
}
.modal-toast .modal-body .toast-icon.danger {
  color: var(--color-action-danger);
}
.modal-toast .modal-body .toast-icon.info {
  color: var(--color-action-info);
}

.footer {
  --footer-bg: var(--primitive-neutral-950);
  --footer-surface: var(--primitive-neutral-900);
  --footer-surface-2: var(--primitive-neutral-800);
  --footer-border: var(--primitive-neutral-800);
  --footer-text: var(--primitive-neutral-400);
  --footer-heading: var(--primitive-neutral-50);
  --footer-link: var(--primitive-neutral-400);
  --footer-link-hover: var(--primitive-neutral-50);
  --footer-muted: var(--primitive-neutral-600);
  --footer-accent: var(--primitive-secondary-400);
  --footer-accent-glow: color-mix(in oklch, var(--primitive-primary-400) 20%, transparent);
  position: relative;
  background: var(--footer-bg);
  color: var(--footer-text);
  font-size: 0.9375rem;
  line-height: 1.6;
}
.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--primitive-secondary-500) 15%, var(--primitive-primary-400) 35%, var(--primitive-accent-400) 55%, var(--primitive-primary-400) 75%, var(--primitive-secondary-500) 90%, transparent 100%);
}

.footer .container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.footer__newsletter {
  background: var(--footer-surface);
  border-bottom: 1px solid var(--footer-border);
  padding: 3rem 0;
}
.footer__newsletter .footer__newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767.999px) {
  .footer__newsletter .footer__newsletter-inner {
    flex-direction: column;
    text-align: center;
  }
}
.footer__newsletter .footer__newsletter-text {
  flex: 1;
  min-width: 200px;
}
.footer__newsletter .footer__newsletter-text h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--footer-heading);
  margin: 0 0 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media only screen and (max-width: 767.999px) {
  .footer__newsletter .footer__newsletter-text h3 {
    justify-content: center;
  }
}
.footer__newsletter .footer__newsletter-text h3 i {
  color: var(--footer-accent);
}
.footer__newsletter .footer__newsletter-text p {
  margin: 0;
  color: var(--footer-text);
  font-size: 0.9375rem;
}
.footer__newsletter .footer__newsletter-form {
  display: flex;
  gap: 0.625rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 575.999px) {
  .footer__newsletter .footer__newsletter-form {
    flex-direction: column;
    width: 100%;
  }
}
.footer__newsletter .footer__newsletter-form input[type=email] {
  padding: 0.75rem 1.25rem;
  border-radius: 0.25rem;
  border: 1px solid var(--footer-border);
  background: var(--footer-bg);
  color: var(--footer-heading);
  font-size: 0.9375rem;
  width: 280px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
@media only screen and (max-width: 575.999px) {
  .footer__newsletter .footer__newsletter-form input[type=email] {
    width: 100%;
  }
}
.footer__newsletter .footer__newsletter-form input[type=email]::placeholder {
  color: var(--footer-muted);
}
.footer__newsletter .footer__newsletter-form input[type=email]:focus {
  border-color: var(--footer-accent);
  box-shadow: 0 0 0 3px var(--footer-accent-glow);
}
.footer__newsletter .footer__newsletter-form button {
  padding: 0.75rem 1.5rem;
  border-radius: 0.25rem;
  border: none;
  background: var(--footer-accent);
  color: oklch(10% 0 0deg);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.footer__newsletter .footer__newsletter-form button:hover {
  background: var(--primitive-primary-300);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px var(--footer-accent-glow);
}
@media only screen and (max-width: 575.999px) {
  .footer__newsletter .footer__newsletter-form button {
    width: 100%;
    justify-content: center;
  }
}

.footer__contact {
  margin: 1.25rem 0 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.footer__contact p {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin: 0;
  font-size: 0.9rem;
  color: var(--footer-text);
  line-height: 1.5;
}
.footer__contact p i {
  color: var(--footer-accent);
  font-size: 0.875rem;
  flex-shrink: 0;
  margin-top: 0.15em;
}
.footer__contact p a {
  color: var(--footer-link);
  text-decoration: none;
  transition: color 0.18s ease;
}
.footer__contact p a:hover {
  color: var(--footer-link-hover);
}

.footer__main {
  padding: 4rem 0;
  border-bottom: 1px solid var(--footer-border);
}

.footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 3rem 2rem;
}
@media only screen and (max-width: 991.999px) {
  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 2rem;
  }
}
@media only screen and (max-width: 575.999px) {
  .footer__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.footer__brand .footer__logo {
  display: inline-flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--footer-heading);
  text-decoration: none;
  margin-bottom: 1.125rem;
  letter-spacing: -0.025em;
}
.footer__brand .footer__logo span {
  color: var(--footer-accent);
}
.footer__brand .footer__tagline {
  color: var(--footer-text);
  font-size: 0.9375rem;
  line-height: 1.75;
  margin-bottom: 1.75rem;
  max-width: 300px;
}

.footer__social {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.footer__social a {
  width: 40px;
  height: 40px;
  border-radius: 0.25rem;
  border: 1px solid var(--footer-border);
  background: var(--footer-surface);
  color: var(--footer-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}
.footer__social a:hover {
  border-color: var(--footer-accent);
  color: var(--footer-accent);
  background: color-mix(in oklch, var(--footer-accent) 8%, var(--footer-surface));
  transform: translateY(-3px);
  box-shadow: 0 8px 20px var(--footer-accent-glow);
}

.footer__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1.5rem;
  padding: 0.375rem 0.875rem;
  background: color-mix(in oklch, var(--footer-accent) 10%, transparent);
  border: 1px solid color-mix(in oklch, var(--footer-accent) 25%, transparent);
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--footer-accent);
  letter-spacing: 0.04em;
}
.footer__badge i {
  font-size: 0.7rem;
}

.footer__col-title {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.12em;
  color: var(--footer-heading);
  margin: 0 0 1.125rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--footer-border);
}

.footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.footer__links li a {
  color: var(--footer-link);
  text-decoration: none;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0;
  transition: color 0.18s ease, gap 0.18s ease;
}
.footer__links li a i {
  font-size: 0.8rem;
  opacity: 0.55;
  flex-shrink: 0;
  transition: opacity 0.18s ease;
}
.footer__links li a:hover {
  color: var(--footer-link-hover);
  gap: 0.625rem;
}
.footer__links li a:hover i {
  opacity: 1;
}

.footer__link-badge {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.06em;
  padding: 0.1rem 0.4rem;
  border-radius: 100px;
  background: color-mix(in oklch, var(--footer-accent) 15%, transparent);
  color: var(--footer-accent);
  border: 1px solid color-mix(in oklch, var(--footer-accent) 30%, transparent);
  line-height: 1.6;
}

.footer__col-title + .footer__col-title,
.footer__col-title--secondary {
  margin-top: 2rem;
}

.footer__stats {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding: 2rem 0;
  border-bottom: 1px solid var(--footer-border);
}
.footer__stats .footer__stat {
  flex: 1;
  min-width: 120px;
  text-align: center;
  padding: 1.25rem 1rem;
  background: var(--footer-surface);
  border-radius: 0.5rem;
  border: 1px solid var(--footer-border);
}
.footer__stats .footer__stat .stat-value {
  display: block;
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--footer-heading);
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.footer__stats .footer__stat .stat-value span {
  color: var(--footer-accent);
}
.footer__stats .footer__stat .stat-label {
  display: block;
  font-size: 0.8125rem;
  color: var(--footer-muted);
  margin-top: 0.25rem;
}

.footer__bottom {
  padding: 1.5rem 0;
}
.footer__bottom .footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
@media only screen and (max-width: 575.999px) {
  .footer__bottom .footer__bottom-inner {
    flex-direction: column;
    text-align: center;
  }
}
.footer__bottom .footer__copy {
  font-size: 0.875rem;
  color: var(--footer-muted);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.footer__bottom .footer__copy i {
  color: var(--primitive-danger-400);
  font-size: 0.75rem;
}
.footer__bottom .footer__copy a {
  color: var(--footer-accent);
  text-decoration: none;
}
.footer__bottom .footer__copy a:hover {
  text-decoration: underline;
}
.footer__bottom .footer__legal {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
.footer__bottom .footer__legal a {
  font-size: 0.875rem;
  color: var(--footer-muted);
  text-decoration: none;
  transition: color 0.18s ease;
}
.footer__bottom .footer__legal a:hover {
  color: var(--footer-link-hover);
}

.fx-consent-banner {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1400;
}

.fx-consent-card {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  justify-content: space-between;
  background: #111827;
  color: #f9fafb;
  border: 1px solid #374151;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  padding: 1rem;
}

.fx-consent-copy {
  max-width: 62ch;
}

.fx-consent-title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  line-height: 1.25;
}

.fx-consent-text {
  margin: 0;
  color: #d1d5db;
  font-size: 0.95rem;
}

.fx-consent-policy {
  display: inline-block;
  margin-top: 0.5rem;
  color: #93c5fd;
  text-decoration: underline;
}

.fx-consent-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.fx-consent-modal {
  position: fixed;
  inset: 0;
  background: rgba(17, 24, 39, 0.7);
  z-index: 1450;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.fx-consent-modal-card {
  width: min(640px, 100%);
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  padding: 1rem;
  position: relative;
}

.fx-consent-close {
  position: absolute;
  top: 0.35rem;
  right: 0.55rem;
  font-size: 1.75rem;
  border: 0;
  background: transparent;
  line-height: 1;
  color: #6b7280;
}

.fx-consent-modal-title {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
}

.fx-consent-modal-text {
  margin: 0 0 0.9rem;
  color: #374151;
}

.fx-consent-option {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0.7rem;
  margin-bottom: 0.65rem;
}

.fx-consent-option.is-required {
  background: #f9fafb;
}

.fx-consent-option span {
  display: block;
}

.fx-consent-option small {
  display: block;
  color: #6b7280;
  font-size: 0.82rem;
  margin-top: 0.2rem;
}

.fx-consent-modal-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.85rem;
}

.fx-consent-open {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 1390;
  color: #222;
  border: 1px solid var(--color-border);
  background: oklab(100% 0 -0.00011 / 0.831);
  border-radius: 999px;
  padding: 0.55rem 0.85rem;
  font-size: 0.82rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.fx-consent-open:hover {
  cursor: pointer;
}

@media (max-width: 768px) {
  .fx-consent-card {
    flex-direction: column;
    align-items: stretch;
  }
  .fx-consent-actions {
    justify-content: stretch;
  }
  .fx-consent-actions .btn {
    flex: 1 1 auto;
  }
}
.team-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media only screen and (min-width: 576px) {
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 992px) {
  .team-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.team-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 0.75rem;
  background: var(--color-surface-1);
  border: 1px solid var(--color-border-subtle);
  box-shadow: 0 1px 2px 0 color-mix(in oklch, black 8%, transparent);
  transition: box-shadow 200ms ease, transform 200ms ease, border-color 200ms ease;
}
.team-card:hover {
  box-shadow: 0 1px 3px 0 color-mix(in oklch, black 10%, transparent), 0 1px 2px -1px color-mix(in oklch, black 10%, transparent);
  transform: translateY(-2px);
  border-color: var(--color-border-default);
}
.team-card__avatar {
  flex-shrink: 0;
  line-height: 0;
}
.team-card__body {
  min-width: 0;
}
.team-card__name {
  margin: 0 0 0.25rem;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-heading-primary);
}
.team-card__role {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--color-text-muted);
}
