{
  "schemaVersion": 2,
  "name": "Joist",
  "slug": "joist",
  "description": "Warm project-led builder sheets with timber-toned photo frames, measured drawing lines and before-and-after build logs.",
  "audience": [
    "builder",
    "extension specialist",
    "loft conversion contractor",
    "renovation team"
  ],
  "category": "Business",
  "job": "home-trades",
  "categoryId": "trades",
  "alsoFits": [
    "builder",
    "carpenter",
    "renovation",
    "loft conversions"
  ],
  "direction": "Project-led builder, blueprint lines",
  "mood": [
    "light",
    "calm",
    "modern"
  ],
  "schemaOrg": "GeneralContractor",
  "palette": {
    "--bg": "#f5f3ed",
    "--ink": "#303b3b",
    "--timber": "#bf9671",
    "--accent": "#c4421c"
  },
  "fonts": [
    "Red Hat Display",
    "Red Hat Mono"
  ],
  "files": [
    "index.html",
    "services.html",
    "projects.html",
    "areas.html",
    "reviews.html",
    "quote.html",
    "privacy.html",
    "404.html",
    "styles.css",
    "script.js",
    "favicon.svg",
    "og.png",
    "apple-touch-icon.png",
    "art/extension-before.svg",
    "art/extension-after.svg",
    "art/loft-before.svg",
    "art/loft-after.svg",
    "art/kitchen-before.svg",
    "art/kitchen-after.svg",
    "art/team.svg",
    "art/area-map.svg"
  ],
  "pages": [
    {
      "path": "index.html",
      "label": "Home",
      "purpose": "Builder and service area, credentials, services, featured build, team and homeowner note"
    },
    {
      "path": "services.html",
      "label": "Services",
      "purpose": "Four build scopes with typical VAT-inclusive costs, on-site timelines and allowances"
    },
    {
      "path": "projects.html",
      "label": "Projects",
      "purpose": "Three before-and-after comparisons with keyboard range controls and weekly build logs"
    },
    {
      "path": "areas.html",
      "label": "Areas",
      "purpose": "Local service area diagram, workshop address, access and site visit questions"
    },
    {
      "path": "reviews.html",
      "label": "Reviews",
      "purpose": "Sample homeowner notes, project context and references invitation"
    },
    {
      "path": "quote.html",
      "label": "Discuss your build",
      "purpose": "Quote slot with working telephone and pre-filled email fallbacks"
    }
  ],
  "slots": [
    {
      "id": "quote",
      "kind": "form",
      "page": "quote.html",
      "fallback": "tel + mailto"
    }
  ],
  "facts": [
    "business name",
    "phone",
    "email",
    "address",
    "hours",
    "licence or membership number",
    "insurance cover",
    "service area",
    "project names and scope",
    "build costs including VAT",
    "build timelines and sizes",
    "team members",
    "reviews",
    "coordinates"
  ],
  "interview": [
    "What is your building business called?",
    "Which towns do you work in?",
    "What phone number should homeowners call?",
    "Which trade memberships do you hold?",
    "What public liability cover do you have?",
    "Which completed builds can we show?",
    "What are your typical budgets including VAT?"
  ],
  "customise": {
    "strings": [
      "Replace every data-pl-fill fact, including FMB member 104738 and £5m insurance; verify these before publishing.",
      "Keep Joist Building Co., 01632 960 347 and 24 Sawpit Lane, Merewick, MW2 6JT consistent in all footers, areas.html and JSON-LD.",
      "Replace Kit Hallett and Dougal Tarrant, project titles, costs, floor areas, service coverage and programmes.",
      "Remove all data-pl-fill=review sample notes unless the owner supplies permission to publish real reviews.",
      "Replace hello@joist.example.com in all mailto fallbacks and use the real opening hours."
    ],
    "colours": "Edit the documented :root colour tokens at the top of styles.css; preserve accessible button contrast.",
    "fonts": "Change the Google Fonts link in all eight pages and --font-display/--font-body/--font-mono; at most two families and four files.",
    "sections": "Keep the mobile credentials above the main content, the Call / Quote bar and end CTA. Comparisons show both frames without JS; JS overlays the after frame using a range input. Build logs remain static. Quote form stays inert in its template until a real forms plugin is connected.",
    "images": "Replace extension-, loft- and kitchen-before/after.svg with paired photos from the same viewpoint, 1600×1000; team.svg with an on-site team image 1000×1000; area-map.svg with a service diagram 1200×1000. Preserve data-pl-photo, dimensions and frame ratios. Aim for WebP under 300 KB. Pipeline generates og.png and apple-touch-icon.png."
  },
  "weightKB": 132,
  "updated": "2026-10-11",
  "validation": {
    "date": "2026-10-11",
    "staticReview": "gpt-6.1-sol high: reviewed and corrections verified; no remaining material findings.",
    "claudeReview": "Unavailable: Claude CLI is not logged in.",
    "browserReview": "Unavailable: localhost server denied by sandbox (EPERM), headless Chrome could not launch, and no CUA browser is enabled.",
    "generatedAssets": "og.png and apple-touch-icon.png are referenced and listed, intentionally left for the pipeline."
  },
  "visuals": {
    "notes": "Project photos are placeholder SVG illustrations in art/ (kitchen, loft, extension as before/after pairs, team, area map): flat paths over a linear-gradient paper fill with a diagonal hatch pattern. A CSS clip-path inset driven by a JS custom property makes the before/after slider.",
    "prompt": "Draw a flat SVG architectural illustration of a renovated kitchen in timber, sage and off-white, with light diagonal hatching for shade and an orange accent detail."
  }
}
