/* mgba. Design System — generated from tokens.json */
@font-face {
  font-family: "Newsreader";
  src: url("fonts/Newsreader-Variable.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("fonts/Newsreader-Italic-Variable.woff2") format("woff2");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Italic-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Outfit";
  src: url("fonts/Outfit-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root, [data-theme="light"] {
  --color-ink: #1d1c1a;
  --color-ink-soft: #2a2926;
  --color-ink-raised: #353330;
  --color-cream: #f3f0e8;
  --color-cream-dark: #e7e0d0;
  --color-white: #ffffff;
  --color-terracotta: #c4512f;
  --color-terracotta-dark: #b34c2d;
  --color-prussian: #214c69;
  --color-grey-umlaut: #7f7a71;
  --color-grey-text: #615e56;
  --color-grey-text-light: #b5b0a6;
  --color-surface: var(--color-cream);
  --color-surface-alt: var(--color-cream-dark);
  --color-surface-raised: var(--color-white);
  --color-surface-deep: var(--color-prussian);
  --color-text: var(--color-ink);
  --color-text-muted: var(--color-grey-text);
  --color-link: var(--color-ink);
  --color-link-underline: var(--color-grey-text);
  --color-link-arrow-hover: var(--color-terracotta);
  --color-focus: var(--color-prussian);
  --color-action: var(--color-terracotta);
  --color-action-hover: var(--color-terracotta-dark);
  --color-on-action: var(--color-white);
  --color-on-deep: var(--color-cream);
  --color-caret: var(--color-terracotta);
}
[data-theme="dark"] {
  --color-surface: var(--color-ink);
  --color-surface-alt: var(--color-ink-soft);
  --color-surface-raised: var(--color-ink-raised);
  --color-text: var(--color-cream);
  --color-text-muted: var(--color-grey-text-light);
  --color-link: var(--color-cream);
  --color-link-underline: var(--color-grey-text-light);
  --color-focus: var(--color-cream);
}
:root {
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --radius-pill: 999px;
  --radius-card: 12px;
  --radius-input: 8px;
  --radius-focus: 4px;
  --width-content: 1200px;
  --width-text: 680px;
  --page-margin: clamp(24px, 8.629vw - 8.36px, 80px);
  --tap-min: 44px;
  --logo-height: 34px;
  --logo-min-width: 96px;
  --breakpoint-sm: 640px;
  --focus-width: 2px;
  --focus-offset: 2px;
  --link-underline: 1px;
  --link-underline-hover: 2px;
  --link-underline-offset: 3px;
  --button-outline: 1.5px;
  --text-display: clamp(40px, 2.465vw + 30.76px, 56px);
  --text-h1: clamp(32px, 1.233vw + 27.38px, 40px);
  --text-h2: clamp(26px, 0.616vw + 23.69px, 30px);
  --text-h3: clamp(20px, 0.308vw + 18.84px, 22px);
  --text-lg: clamp(18px, 0.154vw + 17.42px, 19px);
  --text-md: clamp(16px, 0.154vw + 15.42px, 17px);
  --text-sm: 14px;
  --text-xs: 13px;
  --text-label: 12px;
  --lh-display: 1.05;
  --lh-h1: 1.1;
  --lh-h2: 1.2;
  --lh-h3: 1.3;
  --lh-body: 1.6;
  --lh-sm: 1.5;
  --lh-label: 1.4;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --tracking-label: 0.08em;
  --button-padding-inline: 18px;
  --caret-width: 2px;
  --caret-height: 1.1em;
  --caret-gap: 3px;
  --caret-baseline: -0.15em;
  --link-arrow-shift: 2px;
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 400ms;
  --duration-blink: 1100ms;
  --easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --easing-exit: cubic-bezier(0.4, 0, 1, 1);
  --opacity-disabled: 0.4;
  --font-display: Newsreader, Georgia, serif;
  --font-body: Inter, system-ui, sans-serif;
  --font-logo: Outfit, sans-serif;
}
.type-display { font-family: var(--font-display); font-size: 56px; line-height: 1.05; font-weight: 400; }
.type-h1 { font-family: var(--font-display); font-size: 40px; line-height: 1.1; font-weight: 500; }
.type-h2 { font-family: var(--font-display); font-size: 30px; line-height: 1.2; font-weight: 500; }
.type-h3 { font-family: var(--font-display); font-size: 22px; line-height: 1.3; font-weight: 500; }
.type-quote { font-family: var(--font-display); font-size: 30px; line-height: 1.2; font-weight: 400; font-style: italic; }
.type-body-lg { font-family: var(--font-body); font-size: 19px; line-height: 1.6; font-weight: 400; }
.type-body { font-family: var(--font-body); font-size: 17px; line-height: 1.6; font-weight: 400; }
.type-small { font-family: var(--font-body); font-size: 14px; line-height: 1.5; font-weight: 400; }
.type-caption { font-family: var(--font-body); font-size: 13px; line-height: 1.5; font-weight: 400; }
.type-label { font-family: var(--font-body); font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: 0.08em; }
.logo-mark { font-family: var(--font-logo); font-size: 48px; line-height: 1; font-weight: 600; }
.logo-service { font-family: var(--font-logo); font-size: 48px; line-height: 1; font-weight: 400; }
