 :root {
   --color-primary-50-rgb: 238 242 255;
   --color-primary-100-rgb: 224 231 255;
   --color-primary-400-rgb: 129 140 248;
   --color-primary-500-rgb: 99 102 241;
   --color-primary-600-rgb: 79 70 229;
   --color-primary-900-rgb: 49 46 129;
 
   --color-secondary-500-rgb: 124 58 237;
 
   --color-accent-500-rgb: 255 122 69;
   --color-success-500-rgb: 34 197 94;
   --color-warning-500-rgb: 245 158 11;
   --color-danger-500-rgb: 244 63 94;
  --color-whatsapp-500-rgb: 37 211 102;
 
   --color-neutral-0-rgb: 255 255 255;
   --color-neutral-50-rgb: 248 250 252;
   --color-neutral-100-rgb: 241 245 249;
   --color-neutral-200-rgb: 226 232 240;
   --color-neutral-400-rgb: 148 163 184;
   --color-neutral-600-rgb: 71 85 105;
   --color-neutral-900-rgb: 15 23 42;
 
   --space-0: 0px;
   --space-4: 4px;
   --space-8: 8px;
   --space-16: 16px;
   --space-24: 24px;
   --space-32: 32px;
   --space-48: 48px;
 
   --radius-4: 4px;
   --radius-8: 8px;
   --radius-16: 16px;
 
   --font-h1: 48px;
   --font-h2: 36px;
   --font-h3: 24px;
   --font-body: 16px;
   --font-body-max: 18px;
   --font-caption: 14px;
 }
 
 html {
   font-size: var(--font-body);
 }
 
 body {
   color: rgb(var(--color-neutral-900-rgb));
   background: rgb(var(--color-neutral-50-rgb));
   font-family: 'Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
   font-size: var(--font-body);
   line-height: 1.5;
 }

 html,
 body {
   overflow-x: hidden;
   text-rendering: optimizeLegibility;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
 }

 *[id] {
   scroll-margin-top: calc(var(--header-h, 120px) + 16px);
 }

 h1 { font-size: var(--font-h1); line-height: 1.1; }
 h2 { font-size: var(--font-h2); line-height: 1.15; }
 h3 { font-size: var(--font-h3); line-height: 1.2; }
 
 .ui-link {
   border-bottom: 2px solid transparent;
   border-radius: var(--radius-4);
   text-underline-offset: 2px;
   transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease;
 }
 
 .ui-link:hover {
   border-bottom-color: rgb(var(--color-primary-600-rgb));
 }
 
 .ui-link:focus-visible {
   outline: 2px solid rgb(var(--color-primary-400-rgb));
   outline-offset: 2px;
   border-bottom-color: rgb(var(--color-primary-600-rgb));
 }
 
 .ui-link:active {
   border-bottom-color: rgb(var(--color-primary-900-rgb));
 }

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
