/* Grupo Master Design System — generated from tokens.json */
:root, [data-theme="default"] {
  --gm-black: #000000;
  --gm-teal: #008f93;
  --gm-red: #cc3e27;
  --gm-teal-100: #d3eded;
  --gm-teal-300: #66c3c5;
  --gm-teal-500: #008f93;
  --gm-teal-700: #006b6e;
  --gm-teal-900: #00474a;
  --gm-red-100: #f6dcd6;
  --gm-red-300: #e08571;
  --gm-red-500: #cc3e27;
  --gm-red-700: #a32f1d;
  --gm-red-900: #6b1f13;
  --gm-ink-1000: #000000;
  --gm-ink-950: #0a0a0a;
  --gm-ink-900: #121414;
  --gm-ink-850: #181818;
  --gm-ink-800: #212121;
  --gm-ink-700: #2e2e2e;
  --gm-ink-600: #454545;
  --gm-ink-500: #6e6e6e;
  --gm-ink-400: #9a9a9a;
  --gm-ink-300: #c4c4c4;
  --gm-ink-200: #e4e4e4;
  --gm-ink-100: #efefef;
  --gm-white: #ffffff;
  --surface-stage: var(--gm-ink-1000);
  --surface-page: var(--gm-ink-900);
  --surface-card: var(--gm-ink-800);
  --surface-card-raised: var(--gm-ink-700);
  --surface-inverse: var(--gm-ink-200);
  --text-display: var(--gm-ink-100);
  --text-body: rgba(255,255,255,.78);
  --text-muted: rgba(255,255,255,.55);
  --text-eyebrow: var(--gm-ink-300);
  --text-accent: var(--gm-teal-500);
  --text-alert: var(--gm-red-500);
  --text-on-accent: var(--gm-white);
  --line-hairline: rgba(255,255,255,.22);
  --line-hairline-soft: rgba(255,255,255,.10);
  --line-strong: rgba(255,255,255,.45);
  --surface-light-stage: var(--gm-ink-200);
  --surface-light-card: var(--gm-white);
  --text-light-display: var(--gm-ink-1000);
  --text-light-body: var(--gm-ink-600);
  --text-light-muted: var(--gm-ink-500);
  --line-light-hairline: rgba(0,0,0,.14);
  --status-safe: var(--gm-teal-500);
  --status-alert: var(--gm-red-500);
  --status-warning: #e9a13b;
  --focus-ring: var(--gm-teal-300);
  --glass-dark: rgba(18,20,20,.72);
  --glass-light: rgba(255,255,255,.78);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.28);
  --shadow-md: 0 10px 30px rgba(0,0,0,.38);
  --shadow-card: 0 24px 64px rgba(0,0,0,.55);
  --shadow-inset-hairline: inset 0 0 0 1px rgba(255,255,255,.08);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 56px;
  --space-9: 72px;
  --space-10: 96px;
  --canvas-gutter: 72px;
  --canvas-gutter-tight: 48px;
  --notch: 48px;
  --border-hairline: 1px;
  --border-rule: 1.5px;
  --border-emphasis: 2px;
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 40px;
  --radius-2xl: 48px;
  --radius-3xl: 64px;
  --radius-pill: 999px;
  --ease-standard: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --dur-fast: 140ms;
  --dur-base: 220ms;
  --dur-slow: 420ms;
  --fw-hairline: 100;
  --fw-thin: 200;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;
  --lh-display: 1.06;
  --lh-title: 1.18;
  --lh-tight: 1.25;
  --ls-display: -0.02em;
  --ls-title: -0.01em;
  --gradient-brand: linear-gradient(45deg,#008F93 0%,#CC3E27 100%);
  --gradient-rule: linear-gradient(90deg,#CC3E27 0%,#008F93 100%);
  --gradient-badge: linear-gradient(135deg,#008F93 0%,#CC3E27 100%);
  --gradient-duotone: linear-gradient(160deg,rgba(0,143,147,.85) 0%,rgba(204,62,39,.85) 100%);
  --glow-red: radial-gradient(60% 60% at 0% 0%,rgba(204,62,39,.42) 0%,rgba(204,62,39,0) 70%);
  --glow-teal: radial-gradient(60% 60% at 100% 100%,rgba(0,143,147,.34) 0%,rgba(0,143,147,0) 70%);
  --scrim-bottom: linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.82) 78%);
  --scrim-left: linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 65%);
  --blur-glass: 18px;
  --font-core: "Alfabet","Helvetica Neue",Helvetica,Arial,sans-serif;
  --text-fs-hero: 400 88px/1.4 var(--font-core);
  --text-fs-display-1: 400 72px/1.4 var(--font-core);
  --text-fs-display-2: 400 60px/1.4 var(--font-core);
  --text-fs-display-3: 400 48px/1.4 var(--font-core);
  --text-fs-title-1: 400 34px/1.4 var(--font-core);
  --text-fs-title-2: 400 28px/1.4 var(--font-core);
  --text-fs-title-3: 400 22px/1.4 var(--font-core);
  --text-fs-body-lg: 400 18px/1.4 var(--font-core);
  --text-fs-body: 400 16px/1.5 var(--font-core);
  --text-fs-body-sm: 400 14px/1.4 var(--font-core);
  --text-fs-caption: 400 13px/1.4 var(--font-core);
  --text-fs-eyebrow: 400 12px/1.4 var(--font-core);
}
.fs-hero {
  font-family: var(--font-core);
  font-size: 88px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-display-1 {
  font-family: var(--font-core);
  font-size: 72px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-display-2 {
  font-family: var(--font-core);
  font-size: 60px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-display-3 {
  font-family: var(--font-core);
  font-size: 48px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-title-1 {
  font-family: var(--font-core);
  font-size: 34px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-title-2 {
  font-family: var(--font-core);
  font-size: 28px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-title-3 {
  font-family: var(--font-core);
  font-size: 22px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-body-lg {
  font-family: var(--font-core);
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-body {
  font-family: var(--font-core);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0em;
}
.fs-body-sm {
  font-family: var(--font-core);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-caption {
  font-family: var(--font-core);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-eyebrow {
  font-family: var(--font-core);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.16em;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Hairline.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Thin.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-ExtraBold.otf") format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Light-Italic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Regular-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Alfabet";
  src: url("assets/fonts/Alfabet-Bold-Italic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
