{
  "schemaVersion": 2,
  "generatedAt": "2026-06-06T00:00:00Z",
  "title": "Design System: Bigscreen Beyond",
  "extensions": {
    "colorMeta": {
      "brand-violet": {
        "role": "primary",
        "displayName": "Signal Violet",
        "canonical": "#4D1EF7",
        "tonalRamp": [
          "#0c0524",
          "#170a47",
          "#23106b",
          "#2f168f",
          "#3b1ac4",
          "#4D1EF7",
          "#7b59f9",
          "#a991fb",
          "#d6cafd"
        ]
      },
      "ink": {
        "role": "neutral",
        "displayName": "Instrument White",
        "canonical": "#FCFCFD",
        "tonalRamp": [
          "#1a1a1b",
          "#3a3a3c",
          "#5a5a5d",
          "#7a7a7e",
          "#9a9a9f",
          "#c4c4c8",
          "#e2e2e5",
          "#f2f2f4",
          "#FCFCFD"
        ]
      },
      "paper": {
        "role": "neutral",
        "displayName": "Bench Black",
        "canonical": "#000000",
        "tonalRamp": [
          "#000000",
          "#0a0a0b",
          "#141416",
          "#1c1c1f",
          "#222425",
          "#2c2e30",
          "#3a3c3f",
          "#4a4c50",
          "#5a5c60"
        ]
      },
      "muted": {
        "role": "neutral",
        "displayName": "Reading Grey",
        "canonical": "#787E81",
        "tonalRamp": [
          "#16181a",
          "#2a2d30",
          "#3e4245",
          "#52575a",
          "#666b6f",
          "#787E81",
          "#9a9ea1",
          "#bcbfc1",
          "#dedfe0"
        ]
      },
      "card": {
        "role": "neutral",
        "displayName": "Machined Graphite",
        "canonical": "#222425",
        "tonalRamp": [
          "#0c0d0d",
          "#141516",
          "#1b1c1d",
          "#222425",
          "#2b2d2e",
          "#353739",
          "#424446",
          "#535557",
          "#67696b"
        ]
      }
    },
    "typographyMeta": {
      "display": {
        "displayName": "Display",
        "purpose": "Hero statement only; one per page (Neue Haas)."
      },
      "headline": {
        "displayName": "Headline",
        "purpose": "Section headlines (Neue Haas)."
      },
      "body": {
        "displayName": "Body",
        "purpose": "Paragraph copy (Neue Haas), 65-75ch measure."
      },
      "label": {
        "displayName": "Label",
        "purpose": "Mono kickers, spec names, measurements (Fragment Mono)."
      }
    },
    "shadows": [],
    "motion": [
      {
        "name": "ease-brand",
        "value": "cubic-bezier(0.22, 1, 0.36, 1)",
        "purpose": "Expo-out easing for UI state and entrance transitions."
      },
      {
        "name": "ease-signature",
        "value": "cubic-bezier(0.16, 1, 0.3, 1)",
        "purpose": "Long soft expo for scroll reveals (fade-up), image hover-zoom, and the lens-reveal scrub."
      },
      {
        "name": "duration-fast",
        "value": "180ms",
        "purpose": "Hover/press feedback."
      },
      {
        "name": "duration-base",
        "value": "300ms",
        "purpose": "Default transition."
      },
      {
        "name": "duration-slow",
        "value": "600ms",
        "purpose": "Section reveals."
      }
    ],
    "breakpoints": [
      {
        "name": "sm",
        "value": "641px"
      },
      {
        "name": "md",
        "value": "768px"
      },
      {
        "name": "lg",
        "value": "992px"
      },
      {
        "name": "xl",
        "value": "1200px"
      },
      {
        "name": "2xl",
        "value": "1648px"
      }
    ]
  },
  "components": [
    {
      "name": "Primary Button",
      "kind": "button",
      "refersTo": "button-primary",
      "description": "The one violet CTA, e.g. \"Order now\". Used sparingly (The Single Signal Rule).",
      "html": "<button class=\"ds-btn-primary\">Order now</button>",
      "css": ".ds-btn-primary { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 24px; border: none; border-radius: 40px; background: #4D1EF7; color: #FCFCFD; font-family: 'Neue Haas Grotesk Display Pro', sans-serif; font-weight: 500; font-size: 15px; letter-spacing: -0.01em; cursor: pointer; transition: transform 180ms cubic-bezier(0.22,1,0.36,1), filter 180ms cubic-bezier(0.22,1,0.36,1); } .ds-btn-primary:hover { transform: translateY(-1px); filter: brightness(1.08); } .ds-btn-primary:focus-visible { outline: 2px solid #4D1EF7; outline-offset: 2px; }"
    },
    {
      "name": "Outline Button",
      "kind": "button",
      "refersTo": "button-outline",
      "description": "Secondary action on the black stage (nav, \"Watch the trailer\"). Quiet, current-color border.",
      "html": "<button class=\"ds-btn-outline\">Watch the trailer</button>",
      "css": ".ds-btn-outline { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 24px; border: 1px solid rgba(252,252,253,0.5); border-radius: 40px; background: transparent; color: #FCFCFD; font-family: 'Neue Haas Grotesk Display Pro', sans-serif; font-weight: 500; font-size: 15px; cursor: pointer; transition: border-color 180ms cubic-bezier(0.22,1,0.36,1), background 180ms cubic-bezier(0.22,1,0.36,1); } .ds-btn-outline:hover { border-color: #FCFCFD; background: rgba(252,252,253,0.06); } .ds-btn-outline:focus-visible { outline: 2px solid #4D1EF7; outline-offset: 2px; }"
    },
    {
      "name": "Section Eyebrow",
      "kind": "custom",
      "refersTo": "label",
      "description": "The deliberate slash-mono kicker above section headlines.",
      "html": "<span class=\"ds-eyebrow\">/ DISPLAY &amp; OPTICS</span>",
      "css": ".ds-eyebrow { font-family: 'Fragment Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: #787E81; }"
    },
    {
      "name": "Spec Card",
      "kind": "card",
      "refersTo": "card-spec",
      "description": "A caliper readout: mono label + large Neue Haas value on a graphite tonal step.",
      "html": "<div class=\"ds-spec-card\"><span class=\"ds-spec-label\">FIELD OF VIEW</span><span class=\"ds-spec-value\">116&deg;</span></div>",
      "css": ".ds-spec-card { display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: 8px; background: #222425; color: #FCFCFD; } .ds-spec-label { font-family: 'Fragment Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: #787E81; } .ds-spec-value { font-family: 'Neue Haas Grotesk Display Pro', sans-serif; font-weight: 500; font-size: 32px; line-height: 1.1; letter-spacing: -0.01em; }"
    },
    {
      "name": "Top Navigation",
      "kind": "nav",
      "refersTo": "global-nav",
      "description": "Fixed bar, transparent over the hero, translucent dark on scroll; violet CTA right.",
      "html": "<nav class=\"ds-nav\"><span class=\"ds-nav-logo\">bigscreen</span><div class=\"ds-nav-links\"><a href=\"#\">Displays</a><a href=\"#\">Experiences</a><a href=\"#\">Software</a></div><button class=\"ds-btn-primary\">Order now</button></nav>",
      "css": ".ds-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 64px; padding: 0 24px; background: rgba(0,0,0,0.7); backdrop-filter: blur(12px); color: #FCFCFD; } .ds-nav-logo { font-family: 'Neue Haas Grotesk Display Pro', sans-serif; font-weight: 600; font-size: 18px; letter-spacing: -0.01em; } .ds-nav-links { display: flex; gap: 24px; } .ds-nav-links a { font-family: 'Neue Haas Grotesk Display Pro', sans-serif; font-size: 14px; color: #c4c4c8; text-decoration: none; transition: color 180ms cubic-bezier(0.22,1,0.36,1); } .ds-nav-links a:hover { color: #FCFCFD; } .ds-btn-primary { display: inline-flex; align-items: center; height: 38px; padding: 0 20px; border: none; border-radius: 40px; background: #4D1EF7; color: #FCFCFD; font-family: 'Neue Haas Grotesk Display Pro', sans-serif; font-weight: 500; font-size: 14px; cursor: pointer; }"
    }
  ],
  "narrative": {
    "northStar": "The Machined Object",
    "overview": "Bigscreen Beyond is presented the way a watchmaker presents a movement or an optics company presents a lens assembly: a precision object, machined to tolerance, lit on a black bench so the engineering is the argument. The surface is almost entirely black; the hardware and its motion (full-bleed product video, the scroll-scrubbed lens-reveal sequence) carry the visual weight. Type is quiet and exact. A single violet is the only chromatic voice, used like a signal light, never as decoration. The system earns a four-figure price by showing tolerances, not adjectives.",
    "keyCharacteristics": [
      "Black stage, product as hero, near-zero decorative chrome.",
      "One violet signal (#4D1EF7); everything else is an achromatic ramp.",
      "Two type voices: Neue Haas Grotesk Display Pro (headlines and reading) and Fragment Mono (measurements and labels).",
      "Motion is the reveal (video + scroll-scrubbed sequences), never ornamental transitions.",
      "Specificity over adjectives: every claim is a number."
    ],
    "rules": [
      {
        "name": "The Single Signal Rule",
        "body": "Violet appears on a small fraction of any screen, almost always as the one CTA or a single emphasis. The moment it decorates, it stops signaling.",
        "section": "colors"
      },
      {
        "name": "The Black Stage Rule",
        "body": "Surfaces are black or a near-black tonal step (#222425). Depth comes from tonal layering and the product's own lighting, never from drop shadows.",
        "section": "colors"
      },
      {
        "name": "The Caliper Rule",
        "body": "Numbers and measurements (107g, 116°, 5120×2560) are set in Fragment Mono. Mono is for data, never for body prose.",
        "section": "typography"
      },
      {
        "name": "The Two-Voice Rule",
        "body": "Neue Haas Grotesk Display Pro carries both display and body (weight provides the hierarchy); Fragment Mono is reserved for data and labels. Do not introduce a third UI typeface.",
        "section": "typography"
      },
      {
        "name": "The Flat Stage Rule",
        "body": "Surfaces are flat at rest. If something needs to feel raised, step its tone toward graphite; do not add a shadow.",
        "section": "elevation"
      }
    ],
    "dos": [
      "Do keep the stage black (#000000) and let the product carry the visual weight.",
      "Do reserve Signal Violet (#4D1EF7) for one CTA or emphasis per view.",
      "Do set every measurement in Fragment Mono; lead claims with the number.",
      "Do convey depth by tonal step (#222425 on #000000), not shadow.",
      "Do keep the slash-mono kicker as the one deliberate eyebrow system."
    ],
    "donts": [
      "Don't make it a generic Shopify storefront: no product-grid clutter, sale badges, banners, or upsell rails.",
      "Don't drift editorial-magazine: no display-serif + italic + ruled broadsheet columns.",
      "Don't ship AI/crypto gradient slop: no purple-gradient hero, no decorative glassmorphism, no big-number hero-metric template.",
      "Don't go gamer-RGB: no neon gradients, aggressive angles, or RGB lighting.",
      "Don't use gradient text, side-stripe borders, or drop shadows on cards.",
      "Don't let violet decorate. If it isn't signaling the next action or a single emphasis, it shouldn't be violet."
    ]
  }
}