@font-face {
  font-family: "Oswald";
  src: url("./assets/fonts/oswald-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Bungee";
  src: url("./assets/fonts/bungee-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Caveat";
  src: url("./assets/fonts/caveat-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Playfair Display";
  src: url("./assets/fonts/playfair-display-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Roboto Slab";
  src: url("./assets/fonts/roboto-slab-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lora";
  src: url("./assets/fonts/lora-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Archivo Narrow";
  src: url("./assets/fonts/archivo-narrow-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Yellowtail";
  src: url("./assets/fonts/yellowtail-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Epilogue";
  src: url("./assets/fonts/epilogue-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Bangers";
  src: url("./assets/fonts/bangers-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Roboto";
  src: url("./assets/fonts/roboto-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Smooch Sans";
  src: url("./assets/fonts/smooch-sans-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Share Tech";
  src: url("./assets/fonts/share-tech-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Color Emoji";
  src: url("./assets/fonts/noto-color-emoji-400-normal.woff2");
  font-weight: 400;
  font-style: normal;
}

:root {
  --theme-primary: #818cf8;
  --theme-secondary: #94a3b8;
  --theme-accent: #f472b6;
  --theme-bg: #0f172a;
  --theme-surface: #1e293b;
  --theme-text: #e2e8f0;
  --theme-text-muted: #94a3b8;
  --theme-border: #334155;
  --theme-success: #34d399;
  --theme-warning: #fbbf24;
  --theme-danger: #f87171;
  --theme-font-family: "Inter", system-ui, sans-serif;
  --theme-heading-font-family: inherit;
  --theme-font-size: 16px;
  --theme-line-height: 1.6;
  --theme-heading-line-height: 1.25;
  --theme-spacing-unit: 8px;
  --theme-space-0: 2px;
  --theme-space-1: 4px;
  --theme-space-2: 8px;
  --theme-space-3: 12px;
  --theme-space-4: 16px;
  --theme-space-5: 24px;
  --theme-space-6: 32px;
  --theme-space-7: 48px;
  --theme-space-8: 64px;
  --theme-border-radius: 8px;
  --theme-border-width: 1px;
  --theme-border-color: #334155;
}

:root {
  color-scheme: light dark;
}

html[data-page-theme="light"] {
  --theme-primary: #818cf8;
  --theme-secondary: #94a3b8;
  --theme-accent: #f472b6;
  --theme-bg: #0f172a;
  --theme-surface: #1e293b;
  --theme-text: #e2e8f0;
  --theme-text-muted: #94a3b8;
  --theme-border: #334155;
  --theme-success: #34d399;
  --theme-warning: #fbbf24;
  --theme-danger: #f87171;
  --theme-font-family: "Inter", system-ui, sans-serif;
  --theme-heading-font-family: inherit;
  --theme-font-size: 16px;
  --theme-line-height: 1.6;
  --theme-heading-line-height: 1.25;
  --theme-spacing-unit: 8px;
  --theme-space-0: 2px;
  --theme-space-1: 4px;
  --theme-space-2: 8px;
  --theme-space-3: 12px;
  --theme-space-4: 16px;
  --theme-space-5: 24px;
  --theme-space-6: 32px;
  --theme-space-7: 48px;
  --theme-space-8: 64px;
  --theme-border-radius: 8px;
  --theme-border-width: 1px;
  --theme-border-color: #334155;
}

html[data-page-theme="dark"] {
  --theme-primary: #7fb2ff;
  --theme-secondary: #94a3b8;
  --theme-accent: #f59e0b;
  --theme-bg: #0f172a;
  --theme-surface: #111827;
  --theme-text: #e5e7eb;
  --theme-text-muted: #94a3b8;
  --theme-border: #334155;
  --theme-success: #34d399;
  --theme-warning: #fbbf24;
  --theme-danger: #f87171;
  --theme-font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --theme-heading-font-family: inherit;
  --theme-font-size: 16px;
  --theme-line-height: 1.6;
  --theme-heading-line-height: 1.2;
  --theme-spacing-unit: 8px;
  --theme-space-0: 2px;
  --theme-space-1: 4px;
  --theme-space-2: 8px;
  --theme-space-3: 12px;
  --theme-space-4: 16px;
  --theme-space-5: 24px;
  --theme-space-6: 32px;
  --theme-space-7: 48px;
  --theme-space-8: 64px;
  --theme-border-radius: 6px;
  --theme-border-width: 1px;
  --theme-border-color: #334155;
}

@media (prefers-color-scheme: dark) {
  html:not([data-page-theme]), html[data-page-theme="device"] {
    --theme-primary: #7fb2ff;
    --theme-secondary: #94a3b8;
    --theme-accent: #f59e0b;
    --theme-bg: #0f172a;
    --theme-surface: #111827;
    --theme-text: #e5e7eb;
    --theme-text-muted: #94a3b8;
    --theme-border: #334155;
    --theme-success: #34d399;
    --theme-warning: #fbbf24;
    --theme-danger: #f87171;
    --theme-font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --theme-heading-font-family: inherit;
    --theme-font-size: 16px;
    --theme-line-height: 1.6;
    --theme-heading-line-height: 1.2;
    --theme-spacing-unit: 8px;
    --theme-space-0: 2px;
    --theme-space-1: 4px;
    --theme-space-2: 8px;
    --theme-space-3: 12px;
    --theme-space-4: 16px;
    --theme-space-5: 24px;
    --theme-space-6: 32px;
    --theme-space-7: 48px;
    --theme-space-8: 64px;
    --theme-border-radius: 6px;
    --theme-border-width: 1px;
    --theme-border-color: #334155;
  }
}

body {
  font-family: var(--theme-font-family);
  font-size: var(--theme-font-size);
  line-height: var(--theme-line-height);
  color: var(--theme-text);
  background-color: var(--theme-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--theme-heading-font-family);
  line-height: var(--theme-heading-line-height);
  font-weight: 600;
}
h1 { font-size: 2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.17em; }
h4 { font-size: 1em; }
h5 { font-size: 0.83em; }
h6 { font-size: 0.67em; }

/* Component Theme Overrides */
.card, .card-header, .card-body, .card-footer {
  background-color: var(--theme-surface);
  border-color: var(--theme-border);
  color: var(--theme-text);
}
.card-title, .card-text, .pricing-card-title, .list-unstyled, .list-unstyled li {
  color: inherit;
}
.accordion, .accordion-item, .accordion-body {
  background-color: var(--theme-surface);
  border-color: var(--theme-border);
  color: var(--theme-text);
}
.accordion-button {
  background-color: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-border);
  box-shadow: none;
}
.accordion-button:not(.collapsed) {
  background-color: var(--theme-surface);
  color: var(--theme-text);
  box-shadow: inset 0 calc(-1 * var(--theme-border-width)) 0 var(--theme-border);
}
.accordion-button:focus {
  border-color: var(--theme-border);
  box-shadow: none;
}
.bg-light {
  background-color: var(--theme-surface) !important;
}
.text-body-emphasis {
  color: var(--theme-text) !important;
}
.text-muted {
  color: var(--theme-text-muted) !important;
}
.border-top, .border {
  border-color: var(--theme-border) !important;
}
.btn-primary {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
  filter: brightness(0.9);
}
.btn-outline-primary {
  color: var(--theme-primary);
  border-color: var(--theme-primary);
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
  background-color: var(--theme-primary);
  color: #fff;
}
.blockquote {
  color: inherit;
}
.blockquote-footer {
  color: var(--theme-text-muted);
}
.form-control, .form-select {
  background-color: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-border);
}
.form-control::placeholder {
  color: var(--theme-text-muted);
}
.form-control:focus, .form-select:focus {
  background-color: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-primary);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15);
}
.page-link {
  background-color: var(--theme-surface);
  color: var(--theme-primary);
  border-color: var(--theme-border);
}
.page-link:hover, .page-link:focus {
  background-color: var(--theme-primary);
  color: #fff;
  border-color: var(--theme-primary);
}
.page-item.active .page-link {
  background-color: var(--theme-primary);
  color: #fff;
  border-color: var(--theme-primary);
}

/* Navbar Theme Variants */
.navbar-theme-light {
  background-color: var(--theme-surface);
  color: var(--theme-text);
}
.navbar-theme-light .navbar-brand, .navbar-theme-light .nav-link {
  color: inherit;
}
.navbar-theme-light .nav-link:hover, .navbar-theme-light .nav-link:focus {
  color: var(--theme-primary);
}
.navbar-theme-light .navbar-toggler {
  color: inherit;
  border-color: currentColor;
  opacity: 0.5;
}
.navbar-theme-light .navbar-toggler-icon {
  background-image: none;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='black' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='black' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  mask-size: 100%;
  -webkit-mask-size: 100%;
}
.navbar-theme-dark {
  background-color: #212529;
  color: #fff;
}
.navbar-theme-dark .navbar-brand, .navbar-theme-dark .nav-link {
  color: inherit;
  opacity: 0.85;
}
.navbar-theme-dark .nav-link:hover, .navbar-theme-dark .nav-link:focus {
  opacity: 1;
}
.navbar-theme-dark .navbar-toggler {
  color: inherit;
  border-color: currentColor;
  opacity: 0.2;
}
.navbar-theme-dark .navbar-toggler-icon {
  background-image: none;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='black' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='black' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  mask-size: 100%;
  -webkit-mask-size: 100%;
}
.navbar-theme-primary {
  background-color: var(--theme-primary);
  color: #fff;
}
.navbar-theme-primary .navbar-brand, .navbar-theme-primary .nav-link {
  color: inherit;
  opacity: 0.85;
}
.navbar-theme-primary .nav-link:hover, .navbar-theme-primary .nav-link:focus {
  opacity: 1;
}
.navbar-theme-primary .navbar-toggler {
  color: inherit;
  border-color: currentColor;
  opacity: 0.2;
}
.navbar-theme-primary .navbar-toggler-icon {
  background-image: none;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='black' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='black' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  mask-size: 100%;
  -webkit-mask-size: 100%;
}
.navbar-transparent {
  background-color: transparent !important;
}
.navbar-backdrop-blur-sm {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  background-color: rgba(255,255,255,0.10) !important;
}
.navbar-backdrop-blur-md {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background-color: rgba(255,255,255,0.10) !important;
}
.navbar-backdrop-blur-lg {
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  background-color: rgba(255,255,255,0.10) !important;
}
.navbar-backdrop-frosted {
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  background-color: rgba(255,255,255,0.20) !important;
}
.navbar-backdrop-darken {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background-color: rgba(0,0,0,0.30) !important;
}
.navbar-backdrop-lighten {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background-color: rgba(255,255,255,0.30) !important;
}

/* --- animated-welcome-section.css --- */
.welcome-section {
  background-color: var(--theme-bg);
  background-image:
    radial-gradient(circle at 20% 30%, rgba(129, 140, 248, 0.18) 0%, transparent 35%),
    radial-gradient(circle at 80% 70%, rgba(244, 114, 182, 0.14) 0%, transparent 40%),
    radial-gradient(circle at 50% 50%, rgba(129, 140, 248, 0.1) 0%, transparent 50%);
  background-size: 180% 180%;
  animation: welcome-background-shift 14s ease-in-out infinite alternate;
}

@keyframes welcome-background-shift {
  0% {
    background-position: 0% 50%, 100% 50%, 50% 50%;
  }

  100% {
    background-position: 100% 50%, 0% 50%, 50% 65%;
  }
}

/* --- custom-styles.css --- */
.container-why {
  padding: 12pt;
  background-color: var(--theme-surface);
  animation: container-why-bg 10s ease-in-out infinite;
}

@keyframes container-why-bg {
  0%,
  100% {
    background-color: var(--theme-surface);
  }

  50% {
    background-color: #243247;
  }
}

.container-why > * + * {
  margin-top: 12pt;
}
.x-eo5dbb { font-family: Caveat !important; font-size: 28pt !important; }
.x-1smg9m4 { height: 80pt !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; width: 80pt !important; }
.x-18e9vqm { text-align: center !important; }
.x-gtw5bb { color: var(--theme-text) !important; font-family: Oswald !important; font-size: clamp(2.5rem, 5vw, 4rem) !important; font-weight: 800 !important; letter-spacing: -0.02em !important; }
.x-dj9q6 { color: var(--theme-text-muted) !important; font-family: Lora !important; }
.x-64inqw { background-color: var(--theme-primary) !important; border: none !important; font-weight: 600 !important; min-width: 200px !important; padding: 0.75rem 2rem !important; }
.x-2l4drl { background-color: var(--theme-surface) !important; border-color: var(--theme-border) !important; color: var(--theme-text) !important; font-weight: 600 !important; min-width: 200px !important; padding: 0.75rem 2rem !important; }
.x-1309irp { background-color: var(--theme-primary) !important; border: none !important; font-weight: 600 !important; padding: 0.75rem 2rem !important; }
.x-kpsx8 { background-color: var(--theme-surface) !important; border-color: var(--theme-border) !important; color: var(--theme-text) !important; font-weight: 600 !important; padding: 0.75rem 2rem !important; }
.x-1g7gtye { min-height: 80vh !important; text-align: center !important; }
.x-1l34s64 { font-family: Oswald !important; font-size: 2.5rem !important; }
.x-1vgt8cn { font-size: 1.1rem !important; text-align: center !important; }
.x-i1h2wx { background-color: var(--theme-bg) !important; border-bottom: 1px solid var(--theme-border) !important; border-top: 1px solid var(--theme-border) !important; color: var(--theme-text) !important; }
.x-p7mhjo { color: var(--theme-text-muted) !important; font-family: Caveat !important; font-size: 2rem !important; margin: 0 auto !important; margin-bottom: 1.5rem !important; max-width: 700px !important; }
.x-1sci2sg { color: var(--theme-text) !important; }
.x-ztflfk { color: var(--theme-text-muted) !important; }
.x-11iou9n { font-family: Roboto !important; }
.x-fob32c { background-color: var(--theme-surface) !important; border: var(--theme-border-width) solid var(--theme-border) !important; border-radius: var(--theme-border-radius) !important; height: 100% !important; }
.x-1xy5epx { background-color: var(--theme-bg) !important; color: var(--theme-text) !important; }
.x-18ocglf { color: var(--theme-accent) !important; font-family: Playfair Display !important; font-style: italic !important; opacity: 0.8 !important; }
.x-gop0t { font-family: Oswald !important; font-size: 28px !important; }
.x-1r0n2dc { font-family: Lora !important; }
.x-6kxcko { background-color: var(--theme-surface) !important; border-color: var(--theme-border) !important; height: 100% !important; }
.x-hcvzfg { color: var(--theme-primary) !important; font-family: Oswald !important; font-size: 24pt !important; margin-bottom: var(--theme-space-5) !important; }
.x-1vi5sdi { margin-bottom: var(--theme-space-3) !important; }
.x-1odj7jc { margin-right: var(--theme-space-2) !important; }
.x-137r4yz { border-color: #24292e !important; margin-right: var(--theme-space-2) !important; }
.x-1y98zdy { background-color: var(--theme-surface) !important; border: 1px solid var(--theme-border) !important; border-radius: var(--theme-border-radius) !important; margin: var(--theme-space-2) !important; padding: var(--theme-space-4) !important; }
.x-1pjj11b { border-color: #24292e !important; margin-right: var(--theme-space-2) !important; width: 100% !important; }