@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin.woff2") format("woff2");
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/elementor/google-fonts/fonts/dmsans-002a94d0.woff2") format("woff2");
}

:root {
  /* Typography */
  --cs-font-ui: "DM Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cs-font-editorial: Georgia, "Times New Roman", serif;
  --cs-font-meta: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
  --cs-type-body-size: 16px;
  --cs-type-body-leading: 1.62;
  --cs-type-caption-size: 12px;
  --cs-type-control-size: 13px;
  --cs-type-kicker-size: 11px;

  /* Canvas and atmosphere */
  --cs-canvas-deep: #07131b;
  --cs-canvas: #263846;
  --cs-canvas-soft: #465862;
  --cs-atmosphere-cyan: 79, 169, 183;
  --cs-atmosphere-violet: 130, 105, 244;
  --cs-atmosphere-rose: 196, 107, 151;
  --cs-atmosphere-warm: 196, 143, 102;

  /* Surfaces */
  --cs-surface: rgba(15, 34, 45, 0.62);
  --cs-surface-soft: rgba(26, 45, 56, 0.5);
  --cs-surface-raised: rgba(30, 48, 58, 0.78);
  --cs-surface-recessed: rgba(3, 14, 21, 0.68);
  --cs-surface-overlay: rgba(5, 14, 23, 0.88);
  --cs-glass-highlight: rgba(244, 250, 252, 0.07);

  /* Content */
  --cs-text: #f4f7f9;
  --cs-text-soft: rgba(225, 235, 240, 0.76);
  --cs-text-muted: rgba(225, 235, 240, 0.56);
  --cs-text-faint: rgba(225, 235, 240, 0.4);
  --cs-line: rgba(203, 220, 228, 0.16);
  --cs-line-soft: rgba(203, 220, 228, 0.09);
  --cs-line-strong: rgba(203, 220, 228, 0.26);

  /* Interaction */
  --cs-accent-rgb: 170, 140, 255;
  --cs-accent: #aa8cff;
  --cs-accent-strong: #c5b6ff;
  --cs-accent-deep: #6650d6;
  --cs-focus-ring: rgba(197, 182, 255, 0.92);
  --cs-danger: #ffb9bd;
  --cs-success: #aeeacc;
  --cs-warning: #f2c078;

  /* Shape */
  --cs-radius-action: 12px;
  --cs-radius-field: 12px;
  --cs-radius-search: 18px;
  --cs-radius-panel: 18px;
  --cs-radius-media: 12px;
  --cs-radius-round: 999px;

  /* Controls */
  --cs-control-height-compact: 36px;
  --cs-control-height: 44px;
  --cs-control-height-large: 54px;
  --cs-field-height: 48px;
  --cs-field-height-large: 54px;
  --cs-search-height-compact: 54px;
  --cs-search-height-header: 60px;
  --cs-search-height-hero: 68px;
  --cs-control-border: var(--cs-line);
  --cs-control-border-hover: rgba(190, 171, 255, 0.66);
  --cs-control-bg: var(--cs-surface);
  --cs-control-bg-hover: rgba(59, 45, 90, 0.68);
  --cs-control-text: var(--cs-text);
  --cs-control-muted: var(--cs-text-muted);
  --cs-field-bg: var(--cs-surface-recessed);
  --cs-field-border: rgba(190, 214, 225, 0.18);

  /* Iconography */
  --interface-icon-stroke: 1.5;
  --interface-icon-size: 20px;
  --interface-icon-size-compact: 16px;
  --interface-icon-size-identity: 28px;

  /* Layout */
  --cs-site-header-height: 92px;
  --cs-site-nav-height: 44px;
  --cs-site-footer-height: 84px;
  --cs-site-footer-padding-top: 12px;
  --cs-site-footer-padding-bottom: 24px;
  --cs-brand-width: 184px;
  --cs-brand-height: 50px;
  --cs-site-max-width: 1728px;
  --cs-page-gutter: clamp(20px, 4.5vw, 72px);
  --cs-content-max: 1440px;

  /* Elevation and motion */
  --cs-shadow-raised: 0 18px 46px rgba(1, 8, 12, 0.24);
  --cs-shadow-control: 0 8px 22px rgba(1, 8, 12, 0.24);
  --cs-shadow-control-pressed:
    inset 4px 4px 10px rgba(0, 2, 10, 0.34),
    inset -3px -3px 8px rgba(174, 193, 228, 0.055);
  --cs-shadow-recessed:
    inset 6px 6px 14px rgba(0, 2, 10, 0.48),
    inset -5px -5px 12px rgba(174, 193, 228, 0.08);
  --cs-duration-fast: 150ms;
  --cs-duration-medium: 240ms;
  --cs-ease-standard: cubic-bezier(0.2, 0.72, 0.2, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-width: 320px;
  min-height: 100%;
}

body {
  margin: 0;
  font-family: var(--cs-font-ui);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

a {
  text-underline-offset: 0.18em;
}

::selection {
  color: #fff;
  background: rgba(var(--cs-accent-rgb), 0.58);
}

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