/*
 * Joint brand contract v1
 *
 * This public file is the single source for the visual foundation shared by
 * techjoint.jp (main and campaign LPs) and joint.techjoint.jp (the portal).
 * Product-specific styles may add semantic aliases, but must not redefine
 * these tokens.
 */
:root {
  /* Surfaces */
  --bg: #ffffff;
  --surface: #f8f8f8;
  --surface-input: #f1f1f1;

  /* Foreground and borders */
  --fg: #1d1c1d;
  --muted: #616061;
  --border: #dddddd;
  --border-soft: #f1f1f1;

  /* Joint anchor */
  --accent: #4a154b;
  --accent-on: #ffffff;
  --accent-hover: #611f69;
  --accent-active: #350d36;
  --accent-soft: #f3eaf3;
  --on-accent-muted: rgba(255, 255, 255, 0.72);

  /* Specialist colors */
  --role-blue: #36c5f0;
  --role-green: #2eb67d;
  --role-yellow: #ecb22e;
  --role-red: #e01e5a;
  --link: #1264a3;

  /* Type */
  --font-display: "Larsseit", "Helvetica Neue", Arial, "Hiragino Sans", "Noto Sans JP", sans-serif;
  --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  --font-mono: Monaco, Menlo, "Courier New", monospace;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 22px;
  --text-2xl: 28px;
  --text-3xl: 36px;
  --text-4xl: 48px;
  --leading-body: 1.75;
  --leading-tight: 1.15;
  --tracking-display: -0.021em;

  /* 4px-grid spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --section-y: clamp(48px, 8vw, 96px);

  /* Shape, elevation, focus, and motion */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 9999px;
  --elev-ring: 0 0 0 1px var(--border);
  --elev-raised: 0 4px 12px rgba(0, 0, 0, 0.12);
  --focus-ring: 0 0 0 2px rgba(18, 100, 163, 0.25);
  --motion-fast: 150ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);

  /* Layout */
  --container-max: 1120px;
  --gutter: clamp(16px, 4vw, 24px);
}
