{
  "$description": "2Rivers Church design tokens. W3C Design Tokens Community Group format. Source: Brand Guide V1.1 · Edition 01 · Fall 2026 (2rbranding.pages.dev/#digital). Every value here is published in the guide; where they ever disagree, the guide wins.",
  "color": {
    "brand": {
      "blue": {
        "$type": "color",
        "$value": "#00A5E5",
        "$description": "2RC Blue. PMS 2995 C. Primary. Never put white text on it (2.79:1)."
      },
      "blue-bright": {
        "$type": "color",
        "$value": "#4EC3F0",
        "$description": "Blue on Navy."
      },
      "blue-deep": {
        "$type": "color",
        "$value": "#0066A3",
        "$description": "Blue text, links and white-text buttons on light grounds. White on it 6.12:1."
      },
      "navy": {
        "$type": "color",
        "$value": "#001B2E",
        "$description": "Atmospheric dark."
      }
    },
    "neutral": {
      "ink": {
        "$type": "color",
        "$value": "#0A0A0D",
        "$description": "Dark canvas. PMS Black 6 C."
      },
      "ink-elev": {
        "$type": "color",
        "$value": "#15151A",
        "$description": "Raised panel on Ink."
      },
      "graphite": {
        "$type": "color",
        "$value": "#2A2D33",
        "$description": "Elevated dark."
      },
      "slate": {
        "$type": "color",
        "$value": "#58595B",
        "$description": "Original gray. Secondary text on LIGHT only (fails on dark)."
      },
      "ash": {
        "$type": "color",
        "$value": "#8A8C90",
        "$description": "Labels/metadata on dark. 5.87:1 on Ink."
      },
      "mist": {
        "$type": "color",
        "$value": "#C6CDD4",
        "$description": "Body text on dark."
      },
      "stone": {
        "$type": "color",
        "$value": "#F4F5F7",
        "$description": "Light canvas. PMS Cool Gray 1 C."
      },
      "paper": {
        "$type": "color",
        "$value": "#FFFFFF",
        "$description": "Pure white."
      }
    },
    "gradient-stop": {
      "sky": {
        "$type": "color",
        "$value": "#6CB4F0",
        "$description": "Gradient stop 0%."
      },
      "electric": {
        "$type": "color",
        "$value": "#6A4CFF",
        "$description": "Gradient stop 25%."
      },
      "magenta": {
        "$type": "color",
        "$value": "#B53DE8",
        "$description": "Gradient stop 50%."
      },
      "hot-pink": {
        "$type": "color",
        "$value": "#FF3D8A",
        "$description": "Gradient stop 75%."
      },
      "signal": {
        "$type": "color",
        "$value": "#FF2935",
        "$description": "Gradient stop 100%."
      },
      "signal-deep": {
        "$type": "color",
        "$value": "#C8102E",
        "$description": "Error red on light grounds. 5.39:1 on Stone, 5.88:1 on Paper. Signal stays the error red on dark (5.29:1 on Ink)."
      }
    },
    "line": {
      "on-dark": {
        "$type": "color",
        "$value": "#FFFFFF1F",
        "$description": "Hairline on dark, white 12%."
      },
      "on-dark-soft": {
        "$type": "color",
        "$value": "#FFFFFF0F",
        "$description": "Soft hairline on dark, white 6%."
      },
      "on-light": {
        "$type": "color",
        "$value": "#0A0A0D24",
        "$description": "Hairline on light, Ink 14%."
      },
      "on-light-soft": {
        "$type": "color",
        "$value": "#0A0A0D14",
        "$description": "Soft hairline on light, Ink 8%."
      }
    },
    "semantic": {
      "light": {
        "bg": {
          "$type": "color",
          "$value": "{color.neutral.stone}",
          "$description": "Page background, light mode."
        },
        "surface": {
          "$type": "color",
          "$value": "{color.neutral.paper}",
          "$description": "Card/panel, light mode."
        },
        "text": {
          "$type": "color",
          "$value": "{color.neutral.ink}",
          "$description": "Primary text."
        },
        "text-muted": {
          "$type": "color",
          "$value": "{color.neutral.slate}",
          "$description": "Secondary text."
        },
        "link": {
          "$type": "color",
          "$value": "{color.brand.blue-deep}",
          "$description": "Links on light."
        },
        "accent": {
          "$type": "color",
          "$value": "{color.brand.blue}",
          "$description": "Fills and large display only."
        },
        "error": {
          "$type": "color",
          "$value": "{color.gradient-stop.signal-deep}",
          "$description": "Error text and field borders on light."
        },
        "focus": {
          "$type": "color",
          "$value": "{color.brand.blue}",
          "$description": "2px focus ring, offset 2px from the element."
        }
      },
      "dark": {
        "bg": {
          "$type": "color",
          "$value": "{color.neutral.ink}",
          "$description": "Page background, dark mode."
        },
        "surface": {
          "$type": "color",
          "$value": "{color.neutral.ink-elev}",
          "$description": "Card/panel, dark mode."
        },
        "text": {
          "$type": "color",
          "$value": "{color.neutral.stone}",
          "$description": "Primary text."
        },
        "text-body": {
          "$type": "color",
          "$value": "{color.neutral.mist}",
          "$description": "Paragraphs."
        },
        "text-muted": {
          "$type": "color",
          "$value": "{color.neutral.ash}",
          "$description": "Labels/metadata."
        },
        "link": {
          "$type": "color",
          "$value": "{color.brand.blue}",
          "$description": "Links on dark (7.07:1)."
        },
        "accent": {
          "$type": "color",
          "$value": "{color.brand.blue}",
          "$description": "Fills and accents."
        },
        "error": {
          "$type": "color",
          "$value": "{color.gradient-stop.signal}",
          "$description": "Error text and field borders on dark."
        },
        "focus": {
          "$type": "color",
          "$value": "{color.brand.blue}",
          "$description": "2px focus ring, offset 2px from the element."
        }
      }
    }
  },
  "gradient": {
    "signature": {
      "$type": "gradient",
      "$value": [
        {
          "color": "{color.gradient-stop.sky}",
          "position": 0
        },
        {
          "color": "{color.gradient-stop.electric}",
          "position": 0.25
        },
        {
          "color": "{color.gradient-stop.magenta}",
          "position": 0.5
        },
        {
          "color": "{color.gradient-stop.hot-pink}",
          "position": 0.75
        },
        {
          "color": "{color.gradient-stop.signal}",
          "position": 1
        }
      ],
      "$description": "Always 135deg, top-left to bottom-right. Add light grain on large surfaces. One per frame. CSS: linear-gradient(135deg, #6CB4F0 0%, #6A4CFF 25%, #B53DE8 50%, #FF3D8A 75%, #FF2935 100%)",
      "$extensions": {
        "org.2rivers.angle": "135deg"
      }
    }
  },
  "font": {
    "family": {
      "display": {
        "$type": "fontFamily",
        "$value": [
          "CMG Sans",
          "Archivo",
          "Inter Tight",
          "system-ui",
          "sans-serif"
        ],
        "$description": "Headlines. Archivo is the approved digital fallback."
      },
      "accent": {
        "$type": "fontFamily",
        "$value": [
          "Instrument Serif",
          "Times New Roman",
          "serif"
        ],
        "$description": "Italic only. One word per composition."
      },
      "body": {
        "$type": "fontFamily",
        "$value": [
          "Host Grotesk",
          "system-ui",
          "-apple-system",
          "sans-serif"
        ],
        "$description": "Body and UI. Use below 18px."
      },
      "mono": {
        "$type": "fontFamily",
        "$value": [
          "JetBrains Mono",
          "ui-monospace",
          "SFMono-Regular",
          "monospace"
        ],
        "$description": "Labels. Uppercase, +0.14em."
      },
      "youth-display": {
        "$type": "fontFamily",
        "$value": [
          "Bebas Neue",
          "Archivo",
          "sans-serif"
        ],
        "$description": "2Rivers Youth only. Not finalized."
      }
    },
    "weight": {
      "regular": {
        "$type": "fontWeight",
        "$value": 400
      },
      "medium": {
        "$type": "fontWeight",
        "$value": 500
      },
      "semibold": {
        "$type": "fontWeight",
        "$value": 600
      },
      "bold": {
        "$type": "fontWeight",
        "$value": 700
      },
      "extrabold": {
        "$type": "fontWeight",
        "$value": 800
      },
      "black": {
        "$type": "fontWeight",
        "$value": 900
      }
    }
  },
  "typography": {
    "display": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.display}",
        "fontSize": "200px",
        "fontWeight": 900,
        "lineHeight": 0.86,
        "letterSpacing": "-0.045em"
      },
      "$description": "Guide: 200 / 0.86 / 900. Web: clamp(64px, 12vw, 200px)."
    },
    "h1": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.display}",
        "fontSize": "144px",
        "fontWeight": 800,
        "lineHeight": 0.88,
        "letterSpacing": "-0.04em"
      },
      "$description": "Guide: 144 / 0.88 / 800. Web: clamp(48px, 9vw, 144px)."
    },
    "h2": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.display}",
        "fontSize": "96px",
        "fontWeight": 800,
        "lineHeight": 0.92,
        "letterSpacing": "-0.03em"
      },
      "$description": "Guide: 96 / 0.92 / 800. Web: clamp(36px, 6vw, 96px)."
    },
    "h3": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.display}",
        "fontSize": "48px",
        "fontWeight": 700,
        "lineHeight": 1.0,
        "letterSpacing": "-0.02em"
      },
      "$description": "Guide: 48 / 1.0 / 700. Web: clamp(24px, 3.4vw, 48px)."
    },
    "h4": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.display}",
        "fontSize": "22px",
        "fontWeight": 800,
        "lineHeight": 1.15,
        "letterSpacing": "-0.015em"
      },
      "$description": "Guide: 22 / 1.15 / 800."
    },
    "accent": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.accent}",
        "fontSize": "26px",
        "fontWeight": 400,
        "lineHeight": 1.3,
        "letterSpacing": "-0.01em"
      },
      "$description": "Italic. Lead paragraphs and single accent words."
    },
    "body-lg": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.body}",
        "fontSize": "20px",
        "fontWeight": 400,
        "lineHeight": 1.5,
        "letterSpacing": "0em"
      },
      "$description": "Guide: 20pt / 1.5."
    },
    "body": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.body}",
        "fontSize": "16px",
        "fontWeight": 400,
        "lineHeight": 1.55,
        "letterSpacing": "0em"
      },
      "$description": "Guide: 16pt / 1.55."
    },
    "small": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.body}",
        "fontSize": "14px",
        "fontWeight": 400,
        "lineHeight": 1.5,
        "letterSpacing": "0em"
      },
      "$description": "Captions. Guide: 14 / 1.5."
    },
    "label": {
      "$type": "typography",
      "$value": {
        "fontFamily": "{font.family.mono}",
        "fontSize": "11px",
        "fontWeight": 500,
        "lineHeight": 1.4,
        "letterSpacing": "0.14em"
      },
      "$description": "Guide: 11px minimum / 1.4, uppercase, +0.14em. Section markers may use +0.18em."
    }
  },
  "space": {
    "1": {
      "$type": "dimension",
      "$value": "4px"
    },
    "2": {
      "$type": "dimension",
      "$value": "8px"
    },
    "3": {
      "$type": "dimension",
      "$value": "12px"
    },
    "4": {
      "$type": "dimension",
      "$value": "16px"
    },
    "6": {
      "$type": "dimension",
      "$value": "24px"
    },
    "8": {
      "$type": "dimension",
      "$value": "32px"
    },
    "12": {
      "$type": "dimension",
      "$value": "48px"
    },
    "16": {
      "$type": "dimension",
      "$value": "64px"
    },
    "24": {
      "$type": "dimension",
      "$value": "96px"
    },
    "32": {
      "$type": "dimension",
      "$value": "128px"
    }
  },
  "layout": {
    "max-width": {
      "$type": "dimension",
      "$value": "1440px",
      "$description": "Brand guide container."
    },
    "content-width": {
      "$type": "dimension",
      "$value": "1200px",
      "$description": "Web content container."
    },
    "measure": {
      "$type": "dimension",
      "$value": "68ch",
      "$description": "Max body text width (guide: never wider than 8 of 12 columns)."
    },
    "gutter-min": {
      "$type": "dimension",
      "$value": "20px"
    },
    "gutter-max": {
      "$type": "dimension",
      "$value": "72px",
      "$description": "Guide gutter is clamp(20px, 4vw, 72px)."
    },
    "breakpoint": {
      "sm": {
        "$type": "dimension",
        "$value": "480px",
        "$description": "Phone"
      },
      "md": {
        "$type": "dimension",
        "$value": "768px",
        "$description": "Tablet"
      },
      "lg": {
        "$type": "dimension",
        "$value": "1024px",
        "$description": "Laptop"
      },
      "xl": {
        "$type": "dimension",
        "$value": "1440px",
        "$description": "Desktop"
      }
    }
  },
  "radius": {
    "none": {
      "$type": "dimension",
      "$value": "0px",
      "$description": "Default for everything rectangular."
    },
    "sm": {
      "$type": "dimension",
      "$value": "4px",
      "$description": "Only where a platform forces rounding (Wix, Subsplash, app stores). 4px is the most allowed."
    },
    "pill": {
      "$type": "dimension",
      "$value": "999px",
      "$description": "Tags and chips."
    },
    "round": {
      "$type": "dimension",
      "$value": "50%",
      "$description": "Dots and avatars."
    }
  },
  "border": {
    "hairline-dark": {
      "$type": "border",
      "$value": {
        "color": "{color.line.on-dark}",
        "width": "1px",
        "style": "solid"
      }
    },
    "hairline-light": {
      "$type": "border",
      "$value": {
        "color": "{color.line.on-light}",
        "width": "1px",
        "style": "solid"
      }
    }
  },
  "shadow": {
    "overlay": {
      "$type": "shadow",
      "$value": {
        "color": "#0A0A0D2E",
        "offsetX": "0px",
        "offsetY": "12px",
        "blur": "40px",
        "spread": "0px"
      },
      "$description": "Menus and modals only, on light. No shadows on cards, none on dark."
    },
    "halo": {
      "$type": "shadow",
      "$value": {
        "color": "#B53DE826",
        "offsetX": "0px",
        "offsetY": "0px",
        "blur": "0px",
        "spread": "6px"
      },
      "$description": "Magenta 15% halo seen on the guide."
    }
  },
  "duration": {
    "fast": {
      "$type": "duration",
      "$value": "150ms",
      "$description": "Hovers."
    },
    "base": {
      "$type": "duration",
      "$value": "250ms",
      "$description": "Reveals."
    },
    "slow": {
      "$type": "duration",
      "$value": "600ms",
      "$description": "Type entering: rise and fade."
    }
  },
  "easing": {
    "standard": {
      "$type": "cubicBezier",
      "$value": [
        0.2,
        0,
        0,
        1
      ],
      "$description": "The one easing for everything."
    }
  }
}