/**
 * MemoPartner — design tokens (v1.0, March 2026)
 * Import before other stylesheets. Logos: /Logo/*.svg — see docs/memopartner-brand-kit/BRAND-GUIDELINES.md
 */
:root {
  /* Primary */
  --mp-teal: #1d9e75;
  --mp-teal-deep: #0f6e56;
  --mp-teal-light: #4ecfa0;
  --mp-teal-subtle: #e1f5ee;

  /* Neutrals */
  --mp-navy: #1a2332;
  --mp-navy-mid: #2e3e55;
  --mp-slate: #888780;
  --mp-border: #d3d1c7;
  --mp-warm: #f5f4f0;
  --mp-white: #ffffff;
  --mp-rule: #c8c6be;

  /* Semantic */
  --mp-success: #1d9e75;
  --mp-warning: #ba7517;
  --mp-danger: #a32d2d;

  /* Typography scale */
  --mp-text-xs: 0.625rem;
  --mp-text-sm: 0.75rem;
  --mp-text-base: 0.9375rem;
  --mp-text-md: 1.0625rem;
  --mp-text-lg: 1.25rem;
  --mp-text-xl: 1.625rem;
  --mp-text-2xl: 2rem;
  --mp-text-3xl: 2.75rem;

  --mp-font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mp-tracking-heading: -0.03em;
  --mp-tracking-label: 0.25em;
  --mp-leading-body: 1.6;
  --mp-leading-heading: 1.2;

  /* Radii */
  --mp-radius-tag: 6px;
  --mp-radius-control: 10px;
  --mp-radius-card: 14px;
  --mp-radius-icon: 14px;
}

body {
  font-family: var(--mp-font-sans);
}

.mp-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 1.25rem;
  border-radius: var(--mp-radius-control);
  font-size: var(--mp-text-sm);
  font-weight: 700;
  line-height: 1.25;
  color: var(--mp-white);
  background: var(--mp-teal);
  border: none;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
}
.mp-btn-primary:hover {
  background: var(--mp-teal-deep);
}

.mp-heading {
  font-weight: 700;
  letter-spacing: var(--mp-tracking-heading);
  line-height: var(--mp-leading-heading);
}

.mp-subheading {
  font-weight: 300;
  letter-spacing: var(--mp-tracking-heading);
  line-height: var(--mp-leading-heading);
}

.mp-label-caps {
  font-size: var(--mp-text-xs);
  font-weight: 500;
  letter-spacing: var(--mp-tracking-label);
  text-transform: uppercase;
}
