Response:
# Solar Installer Widget Customization Specification

## Design Rationale

Solar installer websites in Australia typically use bold oranges/yellows (sun energy), deep navy/green (sustainability), and clean whites. The widget needs to feel professional enough for a $10K+ purchase decision while still being approachable — these are tradies, not tech companies. I've based this on common Australian solar brands like Penrith Solar Centre, SolarRun, and Smart Energy Answers.

---

## Complete JSON Configuration

```json
{
  "widget": {
    "meta": {
      "version": "1.4.0",
      "business_type": "solar_installer",
      "business_name": "SunPower Solar Solutions",
      "locale": "en-AU",
      "timezone": "Australia/Sydney",
      "created": "2025-01-15T10:00:00+11:00",
      "notes": "Configured for residential & commercial solar installer in Western Sydney"
    },

    "theme": {
      "mode": "light",
      "supportsDarkMode": true,

      "colors": {
        "light": {
          "primary": "#1B3A5C",
          "primaryHover": "#152E49",
          "primaryLight": "#E8EEF4",
          "secondary": "#F59E0B",
          "secondaryHover": "#D97706",
          "secondaryLight": "#FEF3C7",
          "accent": "#10B981",
          "accentHover": "#059669",
          "accentLight": "#D1FAE5",
          "background": "#FFFFFF",
          "backgroundElevated": "#F8FAFC",
          "backgroundOverlay": "rgba(27, 58, 92, 0.60)",
          "surface": "#FFFFFF",
          "surfaceHover": "#F1F5F9",
          "border": "#E2E8F0",
          "borderFocus": "#F59E0B",
          "textPrimary": "#1E293B",
          "textSecondary": "#64748B",
          "textInverse": "#FFFFFF",
          "textLink": "#1B3A5C",
          "error": "#EF4444",
          "errorLight": "#FEE2E2",
          "success": "#10B981",
          "successLight": "#D1FAE5",
          "warning": "#F59E0B",
          "warningLight": "#FEF3C7",
          "notificationBadge": "#EF4444",
          "shadow": "rgba(27, 58, 92, 0.12)"
        },
        "dark": {
          "primary": "#60A5FA",
          "primaryHover": "#93C5FD",
          "primaryLight": "#1E3A5F",
          "secondary": "#FBBF24",
          "secondaryHover": "#FCD34D",
          "secondaryLight": "#78350F",
          "accent": "#34D399",
          "accentHover": "#6EE7B7",
          "accentLight": "#064E3B",
          "background": "#0F172A",
          "backgroundElevated": "#1E293B",
          "backgroundOverlay": "rgba(0, 0, 0, 0.70)",
          "surface": "#1E293B",
          "surfaceHover": "#334155",
          "border": "#334155",
          "borderFocus": "#FBBF24",
          "textPrimary": "#F1F5F9",
          "textSecondary": "#94A3B8",
          "textInverse": "#0F172A",
          "textLink": "#60A5FA",
          "error": "#F87171",
          "errorLight": "#7F1D1D",
          "success": "#34D399",
          "successLight": "#064E3B",
          "warning": "#FBBF24",
          "warningLight": "#78350F",
          "notificationBadge": "#F87171",
          "shadow": "rgba(0, 0, 0, 0.40)"
        }
      },

      "cssCustomProperties": {
        "light": {
          "--sw-color-primary": "#1B3A5C",
          "--sw-color-primary-hover": "#152E49",
          "--sw-color-primary-light": "#E8EEF4",
          "--sw-color-secondary": "#F59E0B",
          "--sw-color-secondary-hover": "#D97706",
          "--sw-color-secondary-light": "#FEF3C7",
          "--sw-color-accent": "#10B981",
          "--sw-color-accent-hover": "#059669",
          "--sw-color-accent-light": "#D1FAE5",
          "--sw-color-bg": "#FFFFFF",
          "--sw-color-bg-elevated": "#F8FAFC",
          "--sw-color-bg-overlay": "rgba(27, 58, 92, 0.60)",
          "--sw-color-surface": "#FFFFFF",
          "--sw-color-surface-hover": "#F1F5F9",
          "--sw-color-border": "#E2E8F0",
          "--sw-color-border-focus": "#F59E0B",
          "--sw-color-text": "#1E293B",
          "--sw-color-text-secondary": "#64748B",
          "--sw-color-text-inverse": "#FFFFFF",
          "--sw-color-error": "#EF4444",
          "--sw-color-success": "#10B981",
          "--sw-color-warning": "#F59E0B",
          "--sw-color-badge": "#EF4444",
          "--sw-color-shadow": "rgba(27, 58, 92, 0.12)",
          "--sw-gradient-header": "linear-gradient(135deg, #1B3A5C 0%, #2D5A8E 100%)",
          "--sw-gradient-cta": "linear-gradient(135deg, #F59E0B 0%, #F97316 100%)",
          "--sw-gradient-solar": "linear-gradient(180deg, #FEF3C7 0%, #FFFFFF 40%)"
        },
        "dark": {
          "--sw-color-primary": "#60A5FA",
          "--sw-color-primary-hover": "#93C5FD",
          "--sw-color-primary-light": "#1E3A5F",
          "--sw-color-secondary": "#FBBF24",
          "--sw-color-secondary-hover": "#FCD34D",
          "--sw-color-secondary-light": "#78350F",
          "--sw-color-accent": "#34D399",
          "--sw-color-accent-hover": "#6EE7B7",
          "--sw-color-accent-light": "#064E3B",
          "--sw-color-bg": "#0F172A",
          "--sw-color-bg-elevated": "#1E293B",
          "--sw-color-bg-overlay": "rgba(0, 0, 0, 0.70)",
          "--sw-color-surface": "#1E293B",
          "--sw-color-surface-hover": "#334155",
          "--sw-color-border": "#334155",
          "--sw-color-border-focus": "#FBBF24",
          "--sw-color-text": "#F1F5F9",
          "--sw-color-text-secondary": "#94A3B8",
          "--sw-color-text-inverse": "#0F172A",
          "--sw-color-error": "#F87171",
          "--sw-color-success": "#34D399",
          "--sw-color-warning": "#FBBF24",
          "--sw-color-badge": "#F87171",
          "--sw-color-shadow": "rgba(0, 0, 0, 0.40)",
          "--sw-gradient-header": "linear-gradient(135deg, #1E293B 0%, #334155 100%)",
          "--sw-gradient-cta": "linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%)",
          "--sw-gradient-solar": "linear-gradient(180deg, #1E293B 0%, #0F172A 40%)"
        },
        "shared": {
          "--sw-font-family": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
          "--sw-font-family-heading": "'Plus Jakarta Sans', 'Inter', sans-serif",
          "--sw-font-size-xs": "0.6875rem",
          "--sw-font-size-sm": "0.8125rem",
          "--sw-font-size-base": "0.9375rem",
          "--sw-font-size-lg": "1.0625rem",
          "--sw-font-size-xl": "1.25rem",
          "--sw-font-size-2xl": "1.5rem",
          "--sw-font-weight-normal": "400",
          "--sw-font-weight-medium": "500",
          "--sw-font-weight-semibold": "600",
          "--sw-font-weight-bold": "700",
          "--sw-line-height-tight": "1.25",
          "--sw-line-height-normal": "1.5",
          "--sw-line-height-relaxed": "1.625",
          "--sw-radius-sm": "8px",
          "--sw-radius-md": "12px",
          "--sw-radius-lg": "16px",
          "--sw-radius-xl": "24px",
          "--sw-radius-full": "9999px",
          "--sw-shadow-sm": "0 1px 3px var(--sw-color-shadow)",
          "--sw-shadow-md": "0 4px 12px var(--sw-color-shadow)",
          "--sw-shadow-lg": "0 8px 32px var(--sw-color-shadow)",
          "--sw-shadow-xl": "0 16px 48px var(--sw-color-shadow)",
          "--sw-transition-fast": "150ms cubic-bezier(0.4, 0, 0.2, 1)",
          "--sw-transition-normal": "250ms cubic-bezier(0.4, 0, 0.2, 1)",
          "--sw-transition-slow": "350ms cubic-bezier(0.4, 0, 0.2, 1)",
          "--sw-z-index-widget": "9998",
          "--sw-z-index-overlay": "9999"
        }
      }
    },

    "layout": {
      "position": {
        "placement": "bottom-right",
        "reasoning": "Australian users scan left-to-right. Solar sites load heavy hero images on the left. Bottom-right avoids conflict with live chat (usually bottom-left on solar sites) and keeps clear of cookie banners. Also avoids covering the CTA 'Get a Free Quote' button most solar sites anchor top-left or centre.",
        "offsetX": 20,
        "offsetY": 20,
        "offsetUnit": "px",
        "mobileOffsetX": 12,
        "mobileOffsetY": 12
      },

      "dimensions": {
        "launcher": {
          "desktop": {
            "width": 64,
            "height": 64,
            "unit": "px"
          },
          "mobile": {
            "width": 56,
            "height": 56,
            "unit": "px"
          }
        },
        "panel": {
          "desktop": {
            "width": 400,
            "minHeight": 480,
            "maxHeight": 640,
            "unit": "px"
          },
          "tablet": {
            "width": 380,
            "minHeight": 440,
            "maxHeight": 580,
            "unit": "px"
          },
          "mobile": {
            "width": "100vw",
            "height": "100vh",
            "fullscreen": true,
            "safeAreaInsets": true
          }
        }
      },

      "responsiveBreakpoints": {
        "mobile": 480,
        "tablet": 768,
        "desktop": 1024
      }
    },

    "avatar": {
      "type": "custom_svg",
      "description": "A stylised sun icon with a small roofline silhouette at the bottom — representing solar panels on a house roof. The sun has 8 rays radiating outward. Inside the sun circle sits a friendly waveform icon (3 bars) suggesting voice/AI. Colour: white icon on the primary navy (#1B3A5C) circular background, with a subtle golden (#F59E0B) glow ring when active.",
      "states": {
        "idle": {
          "backgroundColor": "var(--sw-color-primary)",
          "iconColor": "var(--sw-color-text-inverse)",
          "glowColor": "transparent",
          "glowRadius": 0
        },
        "hover": {
          "backgroundColor": "var(--sw-color-primary-hover)",
          "iconColor": "var(--sw-color-text-inverse)",
          "glowColor": "var(--sw-color-secondary)",
          "glowRadius": 8,
          "scale": 1.08
        },
        "active": {
          "backgroundColor": "var(--sw-color-secondary)",
          "iconColor": "var(--sw-color-primary)",
          "glowColor": "var(--sw-color-secondary)",
          "glowRadius": 12,
          "pulseAnimation": true
        },
        "listening": {
          "backgroundColor": "var(--sw-color-accent)",
          "iconColor": "var(--sw-color-text-inverse)",
          "glowColor": "var(--sw-color-accent)",
          "glowRadius": 16,
          "waveformAnimation": true
        },
        "speaking": {
          "backgroundColor": "var(--sw-color-primary)",
          "iconColor": "var(--sw-color-secondary)",
          "glowColor": "var(--sw-color-primary)",
          "glowRadius": 12,
          "speakingAnimation": true
        }
      },
      "svgPath": "M32 8c1.1 0 2 .9 2 2v6c0 1.1-.9 2-2 2s-2-.9-2-2v-6c0-1.1.9-2 2-2zm16.97 6.03a2 2 0 010 2.83l-4.24 4.24a2 2 0 01-2.83-2.83l4.24-4.24a2 2 0 012.83 0zM56 30c1.1 0 2 .9 2 2s-.9 2-2 2h-6c-1.1 0-2-.9-2-2s.9-2 2-2h6zM18 44h28l2 6H16l2-6zm-2 8h32v4H16v-4z",
      "viewBox": "0 0 64 64",
      "fallbackEmoji": "☀"
    },

    "messages": {
      "welcomeMessage": {
        "text": "G'day! I'm the SunPower Solar assistant. Need a quote, got questions about panels, or want to book a site inspection? I'm here to help — just ask me anything.",
        "voiceVersion": "G'day! I'm your SunPower Solar assistant. Whether you need a quote, have questions about solar panels, or want to book a site inspection — just let me know. How can I help you today?",
        "delay": 500,
        "typingAnimation": true,
        "typingSpeed": 30
      },
      "returningVisitorMessage": {
        "text": "Welcome back! Still thinking about going solar? Happy to pick up where we left off or answer any new questions.",
        "delay": 300
      },
      "afterHoursMessage": {
        "text": "Hey there! Our team's knocked off for the day, but I can still help with quotes, answer your solar questions, or book you in for a site inspection. What do you need?",
        "delay": 500
      },
      "quickPrompts": [
        {
          "id": "quote",
          "label": "Get a free quote",
          "icon": "calculator",
          "action": "start_quote_flow",
          "bgColor": "var(--sw-color-secondary)",
          "textColor": "var(--sw-color-primary)"
        },
        {
          "id": "inspection",
          "label": "Book site inspection",
          "icon": "calendar",
          "action": "start_booking_flow",
          "bgColor": "var(--sw-color-accent)",
          "textColor": "var(--sw-color-text-inverse)"
        },
        {
          "id": "rebates",
          "label": "Rebates & STCs info",
          "icon": "dollar-sign",
          "action": "rebate_info",
          "bgColor": "var(--sw-color-primary-light)",
          "textColor": "var(--sw-color-primary)"
        },
        {
          "id": "battery",
          "label": "Battery storage options",
          "icon": "battery-charging",
          "action": "battery_info",
          "bgColor": "var(--sw-color-primary-light)",
          "textColor": "var(--sw-color-primary)"
        }
      ],
      "placeholderText": "Ask about solar panels, batteries, or rebates...",
      "micButtonLabel": "Tap to speak",
      "endCallLabel": "End conversation",
      "errorMessage": "Sorry, something went wrong on our end. Give us a bell on 1300 XXX XXX and we'll sort you out.",
      "offlineMessage": "Looks like your internet's dropped out. Check your connection and try again."
    },

    "animations": {
      "entry": {
        "launcher": {
          "type": "scale-bounce",
          "keyframes": [
            { "offset": 0, "transform": "scale(0)", "opacity": 0 },
            { "offset": 0.5, "transform": "scale(1.15)", "opacity": 1 },
            { "offset": 0.7, "transform": "scale(0.95)", "opacity": 1 },
            { "offset": 1, "transform": "scale(1)", "opacity": 1 }
          ],
          "duration": 500,
          "easing": "cubic-bezier(0.34, 1.56, 0.64, 1)",
          "delay": 1500,
          "delayReason": "Wait for page hero to load — solar sites have big images"
        },
        "panel": {
          "type": "slide-up-fade",
          "keyframes": [
            { "offset": 0, "transform": "translateY(24px) scale(0.96)", "opacity": 0 },
            { "offset": 1, "transform": "translateY(0) scale(1)", "opacity": 1 }
          ],
          "duration": 300,
          "easing": "cubic-bezier(0.4, 0, 0.2, 1)"
        },
        "mobilePanel": {
          "type": "slide-up-full",
          "keyframes": [
            { "offset": 0, "transform": "translateY(100%)" },
            { "offset": 1, "transform": "translateY(0)" }
          ],
          "duration": 350,
          "easing": "cubic-bezier(0.4, 0, 0.2, 1)"
        }
      },

      "idle": {
        "type": "gentle-float",
        "description": "Subtle up-down float to draw attention without being annoying",
        "keyframes": [
          { "offset": 0, "transform": "translateY(0px)" },
          { "offset": 0.5, "transform": "translateY(-4px)" },
          { "offset": 1, "transform": "translateY(0px)" }
        ],
        "duration": 3000,
        "iterations": "infinite",
        "easing": "ease-in-out",
        "startAfter": 10000,
        "pauseOnHover": true,
        "pauseOnInteraction": true
      },

      "notificationPulse": {
        "type": "ring-pulse",
        "description": "Golden solar ring expands outward from the launcher — suggests energy radiating like the sun",
        "keyframes": [
          {
            "offset": 0,
            "boxShadow": "0 0 0 0 rgba(245, 158, 11, 0.5)"
          },
          {
            "offset": 0.5,
            "boxShadow": "0 0 0 14px rgba(245, 158, 11, 0.15)"
          },
          {
            "offset": 1,
            "boxShadow": "0 0 0 20px rgba(245, 158, 11, 0)"
          }
        ],
        "duration": 2000,
        "iterations": 3,
        "easing": "ease-out",
        "triggerAfterIdle": 15000
      },

      "listening": {
        "type": "waveform-bars",
        "description": "Three vertical bars pulse like an audio waveform when the mic is active",
        "barCount": 3,
        "barWidth": 3,
        "barGap": 2,
        "barColor": "var(--sw-color-text-inverse)",
        "minHeight": 4,
        "maxHeight": 16,
        "duration": 600,
        "stagger": 100
      },

      "speaking": {
        "type": "concentric-rings",
        "description": "Concentric circles pulse outward from avatar — like sound waves from a speaker",
        "ringCount": 3,
        "ringColor": "var(--sw-color-primary)",
        "ringOpacity": [0.3, 0.2, 0.1],
        "duration": 1500,
        "iterations": "infinite"
      },

      "messageAppear": {
        "type": "fade-slide",
        "keyframes": [
          { "offset": 0, "transform": "translateY(8px)", "opacity": 0 },
          { "offset": 1, "transform": "translateY(0)", "opacity": 1 }
        ],
        "duration": 200,
        "easing": "ease-out"
      }
    },

    "typography": {
      "fontImports": [
        "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700&display=swap",
        "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap"
      ],
      "styles": {
        "widgetHeader": {
          "fontFamily": "var(--sw-font-family-heading)",
          "fontSize": "var(--sw-font-size-lg)",
          "fontWeight": "var(--sw-font-weight-bold)",
          "lineHeight": "var(--sw-line-height-tight)",
          "letterSpacing": "-0.01em",
          "color": "var(--sw-color-text-inverse)"
        },
        "widgetSubheader": {
          "fontFamily": "var(--sw-font-family)",
          "fontSize": "var(--sw-font-size-sm)",
          "fontWeight": "var(--sw-font-weight-normal)",
          "lineHeight": "var(--sw-line-height-normal)",
          "color": "var(--sw-color-text-inverse)",
          "opacity": 0.85
        },
        "messageBody": {
          "fontFamily": "var(--sw-font-family)",
          "fontSize": "var(--sw-font-size-base)",
          "fontWeight": "var(--sw-font-weight-normal)",
          "lineHeight": "var(--sw-line-height-relaxed)",
          "color": "var(--sw-color-text)"
        },
        "userMessage": {
          "fontFamily": "var(--sw-font-family)",
          "fontSize": "var(--sw-font-size-base)",
          "fontWeight": "var(--sw-font-weight-normal)",
          "lineHeight": "var(--sw-line-height-relaxed)",
          "color": "var(--sw-color-text-inverse)"
        },
        "quickPromptLabel": {
          "fontFamily": "var(--sw-font-family)",
          "fontSize": "var(--sw-font-size-sm)",
          "fontWeight": "var(--sw-font-weight-semibold)",
          "lineHeight": "var(--sw-line-height-tight)"
        },
        "caption": {
          "fontFamily": "var(--sw-font-family)",
          "fontSize": "var(--sw-font-size-xs)",
          "fontWeight": "var(--sw-font-weight-normal)",
          "lineHeight": "var(--sw-line-height-normal)",
          "color": "var(--sw-color-text-secondary)"
        },
        "inputText": {
          "fontFamily": "var(--sw-font-family)",
          "fontSize": "var(--sw-font-size-base)",
          "fontWeight": "var(--sw-font-weight-normal)",
          "lineHeight": "var(--sw-line-height-normal)",
          "color": "var(--sw-color-text)"
        },
        "statusBadge": {
          "fontFamily": "var(--sw-font-family)",
          "fontSize": "var(--sw-font-size-xs)",
          "fontWeight": "var(--sw-font-weight-semibold)",
          "textTransform": "uppercase",
          "letterSpacing": "0.05em"
        }
      }
    },

    "buttons": {
      "primaryCTA": {
        "background": "var(--sw-gradient-cta)",
        "color": "var(--sw-color-primary)",
        "fontSize": "var(--sw-font-size-base)",
        "fontWeight": "var(--sw-font-weight-semibold)",
        "fontFamily": "var(--sw-font-family)",
        "padding": "12px 24px",
        "borderRadius": "var(--sw-radius-full)",
        "border": "none",
        "boxShadow": "0 2px 8px rgba(245, 158, 11, 0.35)",
        "cursor": "pointer",
        "transition": "var(--sw-transition-normal)",
        "hover": {
          "background": "linear-gradient(135deg, #D97706 0%, #EA580C 100%)",
          "boxShadow": "0 4px 16px rgba(245, 158, 11, 0.45)",
          "transform": "translateY(-1px)"
        },
        "active": {
          "transform": "translateY(0px)",
          "boxShadow": "0 1px 4px rgba(245, 158, 11, 0.3)"
        },
        "disabled": {
          "background": "var(--sw-color-border)",
          "color": "var(--sw-color-text-secondary)",
          "cursor": "not-allowed",
          "boxShadow": "none"
        }
      },
      "secondaryCTA": {
        "background": "transparent",
        "color": "var(--sw-color-primary)",
        "fontSize": "var(--sw-font-size-sm)",
        "fontWeight": "var(--sw-font-weight-semibold)",
        "fontFamily": "var(--sw-font-family)",
        "padding": "10px 20px",
        "borderRadius": "var(--sw-radius-full)",
        "border": "2px solid var(--sw-color-primary)",
        "cursor": "pointer",
        "transition": "var(--sw-transition-normal)",
        "hover": {
          "background": "var(--sw-color-primary)",
          "color": "var(--sw-color-text-inverse)",
          "borderColor": "var(--sw-color-primary)"
        },
        "active": {
          "background": "var(--sw-color-primary-hover)"
        }
      },
      "micButton": {
        "background": "var(--sw-color-accent)",
        "color": "var(--sw-color-text-inverse)",
        "width": 48,
        "height": 48,
        "borderRadius": "var(--sw-radius-full)",
        "border": "none",
        "boxShadow": "0 2px 8px rgba(16, 185, 129, 0.35)",
        "transition": "var(--sw-transition-normal)",
        "hover": {
          "background": "var(--sw-color-accent-hover)",
          "boxShadow": "0 4px 16px rgba(16, 185, 129, 0.45)",
          "transform": "scale(1.05)"
        },
        "activeListening": {
          "background": "#EF4444",
          "boxShadow": "0 0 0 4px rgba(239, 68, 68, 0.25)",
          "animation": "sw-pulse 1.5s infinite"
        }
      },
      "quickPromptChip": {
        "padding": "8px 16px",
        "borderRadius": "var(--sw-radius-full)",
        "border": "1.5px solid var(--sw-color-border)",
        "background": "var(--sw-color-surface)",
        "cursor": "pointer",
        "transition": "var(--sw-transition-fast)",
        "hover": {
          "borderColor": "var(--sw-color-secondary)",
          "background": "var(--sw-color-secondary-light)",
          "transform": "translateY(-1px)"
        }
      },
      "closeButton": {
        "background": "transparent",
        "color": "var(--sw-color-text-inverse)",
        "width": 32,
        "height": 32,
        "borderRadius": "var(--sw-radius-full)",
        "border": "none",
        "opacity": 0.7,
        "transition": "var(--sw-transition-fast)",
        "hover": {
          "opacity": 1,
          "background": "rgba(255, 255, 255, 0.15)"
        }
      }
    },

    "panelStructure": {
      "header": {
        "background": "var(--sw-gradient-header)",
        "padding": "16px 20px",
        "borderRadius": "var(--sw-radius-lg) var(--sw-radius-lg) 0 0",
        "content": {
          "title": "SunPower Solar",
          "subtitle": "Your solar energy assistant",
          "statusIndicator": {
            "online": {
              "color": "var(--sw-color-accent)",
              "label": "Online now"
            },
            "afterHours": {
              "color": "var(--sw-color-secondary)",
              "label": "After hours — AI assistant active"
            }
          },
          "showBusinessLogo": true,
          "logoMaxHeight": 28
        }
      },
      "body": {
        "background": "var(--sw-color-bg)",
        "padding": "16px",
        "scrollBehavior": "smooth",
        "messageBubbles": {
          "assistant": {
            "background": "var(--sw-color-bg-elevated)",
            "color": "var(--sw-color-text)",
            "borderRadius": "4px 16px 16px 16px",
            "padding": "12px 16px",
            "maxWidth": "85%",
            "border": "1px solid var(--sw-color-border)"
          },
          "user": {
            "background": "var(--sw-color-primary)",
            "color": "var(--sw-color-text-inverse)",
            "borderRadius": "16px 16px 4px 16px",
            "padding": "12px 16px",
            "maxWidth": "85%"
          }
        }
      },
      "footer": {
        "background": "var(--sw-color-surface)",
        "padding": "12px 16px",
        "borderTop": "1px solid var(--sw-color-border)",
        "borderRadius": "0 0 var(--sw-radius-lg) var(--sw-radius-lg)",
        "inputBar": {
          "background": "var(--sw-color-bg-elevated)",
          "borderRadius": "var(--sw-radius-full)",
          "border": "1.5px solid var(--sw-color-border)",
          "padding": "10px 16px",
          "focusBorder": "var(--sw-color-border-focus)"
        },
        "poweredBy": {
          "show": true,
          "text": "Powered by Sunaiva",
          "style": "caption",
          "link": "https://sunaiva.com.au"
        }
      }
    },

    "solarIndustryElements": {
      "description": "Custom UI elements specific to solar installer businesses",

      "solarQuoteFlow": {
        "enabled": true,
        "steps": [
          {
            "id": "address",
            "question": "What's the address of the property?",
            "inputType": "google_places_autocomplete",
            "region": "au",
            "placeholder": "Start typing your address..."
          },
          {
            "id": "property_type",
            "question": "What type of property is it?",
            "inputType": "single_select",
            "options": [
              { "label": "House", "value": "house", "icon": "home" },
              { "label": "Townhouse", "value": "townhouse", "icon": "building" },
              { "label": "Unit/Apartment", "value": "unit", "icon": "building-2" },
              { "label": "Commercial", "value": "commercial", "icon": "warehouse" }
            ]
          },
          {
            "id": "roof_type",
            "question": "What's your roof type?",
            "inputType": "single_select",
            "options": [
              { "label": "Tin/Colorbond", "value": "tin", "icon": "panel-top" },
              { "label": "Tile", "value": "tile", "icon": "grid-3x3" },
              { "label": "Flat", "value": "flat", "icon": "minus" },
              { "label": "Not sure", "value": "unknown", "icon": "help-circle" }
            ]
          },
          {
            "id": "bill_amount",
            "question": "Roughly what's your quarterly electricity bill?",
            "inputType": "range_slider",
            "min": 200,
            "max": 2000,
            "step": 50,
            "unit": "$",
            "defaultValue": 600,
            "helperText": "This helps us size the right system for you"
          },
          {
            "id": "interest",
            "question": "What are you interested in?",
            "inputType": "multi_select",
            "options": [
              { "label": "Solar panels only", "value": "panels" },
              { "label": "Solar + battery", "value": "panels_battery" },
              { "label": "Battery add-on (existing solar)", "value": "battery_only" },
              { "label": "EV charger", "value": "ev_charger" }
            ]
          }
        ],
        "completionMessage": "Bonzer! I've got all the details. One of our solar specialists will put together a custom quote and be in touch within 24 hours. We service all of the {detected_region} area.",
        "progressBar": {
          "show": true,
          "color": "var(--sw-color-secondary)",
          "backgroundColor": "var(--sw-color-border)",
          "height": 3
        }
      },

      "savingsEstimateWidget": {
        "enabled": true,
        "description": "A mini card that appears in conversation showing estimated savings",
        "card": {
          "background": "var(--sw-gradient-solar)",
          "borderRadius": "var(--sw-radius-md)",
          "border": "1px solid var(--sw-color-secondary-light)",
          "padding": "16px",
          "elements": {
            "sunIcon": {
              "size": 40,
              "color": "var(--sw-color-secondary)",
              "animation": "slow-rotate 20s linear infinite"
            },
            "estimatedSavings": {
              "label": "Estimated yearly savings",
              "style": "widgetHeader",
              "color": "var(--sw-color-accent)"
            },
            "paybackPeriod": {
              "label": "Typical payback period",
              "style": "caption"
            },
            "stcRebate": {
              "label": "Current STC rebate",
              "style": "caption",
              "note": "Federal govt Small-scale Technology Certificate rebate — auto-updated via API"
            }
          }
        }
      },

      "rebateInfoCard": {
        "enabled": true,
        "description": "Quick info card about Australian solar rebates — state-specific",
        "states": {
          "NSW": {
            "headline": "NSW Solar Rebate Info",
            "body": "The federal STC rebate can knock $2,000–$3,000+ off a standard system. NSW also has the Energy Savings Scheme. We handle all the paperwork for you.",
            "ctaLabel": "Get your rebate estimate"
          },
          "VIC": {
            "headline": "Vic Solar Rebate Info",
            "body": "Victorians can access the Solar Victoria rebate — up to $1,400 off panels, plus the federal STC rebate. Interest-free loans available too. We'll sort the lot.",
            "ctaLabel": "Check your eligibility"
          },
          "QLD": {
            "headline": "QLD Solar Rebate Info",
            "body": "Queenslanders get cracking feed-in tariffs and the federal STC rebate ($2,000–$3,000+ off). Plenty of sun up here — solar's a no-brainer.",
            "ctaLabel": "Get your rebate estimate"
          },
          "SA": {
            "headline": "SA Solar Rebate Info",
            "body": "South Australia leads the nation on solar. Federal STC rebates plus SA's Home Battery Scheme for battery storage. We'll walk you through it.",
            "ctaLabel": "Get your rebate estimate"
          },
          "WA": {
            "headline": "WA Solar Rebate Info",
            "body": "WA gets massive sun exposure. Federal STC rebates apply, plus Synergy's DEBS scheme credits your exports. We'll help you maximise your return.",
            "ctaLabel": "Get your rebate estimate"
          }
        }
      },

      "trustBadges": {
        "enabled": true,
        "position": "header_subtitle_area",
        "badges": [
          {
            "label": "CEC Approved",
            "tooltip": "Clean Energy Council Approved Solar Retailer",
            "icon": "cec_badge",
            "color": "var(--sw-color-accent)"
          },
          {
            "label": "4.8 ★ Google",
            "tooltip": "Average Google Reviews rating",
            "icon": "google_stars",
            "color": "var(--sw-color-secondary)"
          }
        ],
        "style": {
          "display": "inline-flex",
          "gap": 8,
          "fontSize": "var(--sw-font-size-xs)",
          "opacity": 0.9
        }
      },

      "contextualGreetings": {
        "enabled": true,
        "rules": [
          {
            "condition": "page_url_contains('/battery')",
            "message": "G'day! Keen on battery storage? Smart move — I can help you figure out the right setup for your home."
          },
          {
            "condition": "page_url_contains('/commercial')",
            "message": "G'day! Looking at commercial solar? Great way to slash your operating costs. What kind of business are we talking about?"
          },
          {
            "condition": "referrer_contains('google') && query_contains('solar rebate')",
            "message": "G'day! Looks like you're sussing out solar rebates — good on ya. Want me to break down what you're eligible for based on your state?"
          },
          {
            "condition": "time_between(18, 6)",
            "message": "Evening! Our crew's knocked off but I'm here 24/7. Solar questions, quotes, bookings — fire away."
          },
          {
            "condition": "temperature_above(35)",
            "message": "Scorcher today, hey! Perfect solar generation weather. If your aircon bill's doing your head in, let's chat about how panels can help."
          }
        ]
      },

      "appointmentBooking": {
        "enabled": true,
        "types": [
          {
            "label": "Free site inspection",
            "duration": 60,
            "description": "Our CEC-accredited installer checks your roof, shading, and meter box",
            "icon": "clipboard-check"
          },
          {
            "label": "Phone consultation",
            "duration": 20,
            "description": "Quick chat with a solar specialist about your options",
            "icon": "phone"
          }
        ],
        "availabilitySource": "calendar_api",
        "timezone": "Australia/Sydney",
        "bufferBetweenBookings": 30,
        "confirmationMessage": "Locked in! You'll get a confirmation text and email shortly. Our installer {installer_name} will see you at {time} on {date}. Any dramas, just give us a buzz."
      }
    },

    "accessibility": {
      "ariaLabels": {
        "launcher": "Open solar energy assistant chat",
        "closeButton": "Close chat window",
        "micButton": "Press to speak to solar assistant",
        "sendButton": "Send message",
        "inputField": "Type your message to the solar assistant"
      },
      "focusManagement": {
        "trapFocusInPanel": true,
        "returnFocusOnClose": true,
        "autoFocusInput": true
      },
      "reducedMotion": {
        "respectPrefersReducedMotion": true,
        "fallback": {
          "entryAnimation": "simple-fade",
          "idleAnimation": "none",
          "notificationPulse": "static-badge"
        }
      },
      "highContrast": {
        "respectPrefersContrast": true,
        "borderWidth": "2px",
        "minimumContrastRatio": 4.5
      },
      "keyboardNavigation": {
        "escapeToClose": true,
        "tabOrder": "sequential",
        "enterToSend": true
      }
    },

    "performance": {
      "lazyLoadWidget": true,
      "deferFontLoading": true,
      "maxBundleSize": "45kb",
      "preconnect": [
        "https://fonts.googleapis.com",
        "https://api.sunaiva.com.au"
      ],
      "cacheStrategy": "stale-while-revalidate"
    }
  }
}
```

---

## CSS Custom Properties Stylesheet

Drop this into the page head or load it alongside the widget script:

```css
/* ============================================
   Sunaiva Widget — Solar Installer Theme
   Business: SunPower Solar Solutions
   Generated: 2025-01-15
   ============================================ */

:root,
[data-sw-theme="light"] {
  /* Brand Colors */
  --sw-color-primary: #1B3A5C;
  --sw-color-primary-hover: #152E49;
  --sw-color-primary-light: #E8EEF4;
  --sw-color-secondary: #F59E0B;
  --sw-color-secondary-hover: #D97706;
  --sw-color-secondary-light: #FEF3C7;
  --sw-color-accent: #10B981;
  --sw-color-accent-hover: #059669;
  --sw-color-accent-light: #D1FAE5;

  /* Surfaces */
  --sw-color-bg: #FFFFFF;
  --sw-color-bg-elevated: #F8FAFC;
  --sw-color-bg-overlay: rgba(27, 58, 92, 0.60);
  --sw-color-surface: #FFFFFF;
  --sw-color-surface-hover: #F1F5F9;
  --sw-color-border: #E2E8F0;
  --sw-color-border-focus: #F59E0B;

  /* Text */
  --sw-color-text: #1E293B;
  --sw-color-text-secondary: #64748B;
  --sw-color-text-inverse: #FFFFFF;

  /* Status */
  --sw-color-error: #EF4444;
  --sw-color-success: #10B981;
  --sw-color-warning: #F59E0B;
  --sw-color-badge: #EF4444;

  /* Effects */
  --sw-color-shadow: rgba(27, 58, 92, 0.12);
  --sw-gradient-header: linear-gradient(135deg, #1B3A5C 0%, #2D5A8E 100%);
  --sw-gradient-cta: linear-gradient(135deg, #F59E0B 0%, #F97316 100%);
  --sw-gradient-solar: linear-gradient(180deg, #FEF3C7 0%, #FFFFFF 40%);
}

[data-sw-theme="dark"] {
  --sw-color-primary: #60A5FA;
  --sw-color-primary-hover: #93C5FD;
  --sw-color-primary-light: #1E3A5F;
  --sw-color-secondary: #FBBF24;
  --sw-color-secondary-hover: #FCD34D;
  --sw-color-secondary-light: #78350F;
  --sw-color-accent: #34D399;
  --sw-color-accent-hover: #6EE7B7;
  --sw-color-accent-light: #064E3B;
  --sw-color-bg: #0F172A;
  --sw-color-bg-elevated: #1E293B;
  --sw-color-bg-overlay: rgba(0, 0, 0, 0.70);
  --sw-color-surface: #1E293B;
  --sw-color-surface-hover: #334155;
  --sw-color-border: #334155;
  --sw-color-border-focus: #FBBF24;
  --sw-color-text: #F1F5F9;
  --sw-color-text-secondary: #94A3B8;
  --sw-color-text-inverse: #0F172A;
  --sw-color-error: #F87171;
  --sw-color-success: #34D399;
  --sw-color-warning: #FBBF24;
  --sw-color-badge: #F87171;
  --sw-color-shadow: rgba(0, 0, 0, 0.40);
  --sw-gradient-header: linear-gradient(135deg, #1E293B 0%, #334155 100%);
  --sw-gradient-cta: linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%);
  --sw-gradient-solar: linear-gradient(180deg, #1E293B 0%, #0F172A 40%);
}

/* Typography */
:root {
  --sw-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --sw-font-family-heading: 'Plus Jakarta Sans', 'Inter', sans-serif;
  --sw-font-size-xs: 0.6875rem;
  --sw-font-size-sm: 0.8125rem;
  --sw-font-size-base: 0.9375rem;
  --sw-font-size-lg: 1.0625rem;
  --sw-font-size-xl: 1.25rem;
  --sw-font-size-2xl: 1.5rem;
  --sw-font-weight-normal: 400;
  --sw-font-weight-medium: 500;
  --sw-font-weight-semibold: 600;
  --sw-font-weight-bold: 700;
  --sw-line-height-tight: 1.25;
  --sw-line-height-normal: 1.5;
  --sw-line-height-relaxed: 1.625;
}

/* Spacing & Radius */
:root {
  --sw-radius-sm: 8px;
  --sw-radius-md: 12px;
  --sw-radius-lg: 16px;
  --sw-radius-xl: 24px;
  --sw-radius-full: 9999px;
}

/* Shadows */
:root {
  --sw-shadow-sm: 0 1px 3px var(--sw-color-shadow);
  --sw-shadow-md: 0 4px 12px var(--sw-color-shadow);
  --sw-shadow-lg: 0 8px 32px var(--sw-color-shadow);
  --sw-shadow-xl: 0 16px 48px var(--sw-color-shadow);
}

/* Transitions */
:root {
  --sw-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --sw-transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --sw-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Z-index */
:root {
  --sw-z-index-widget: 9998;
  --sw-z-index-overlay: 9999;
}

/* ============================================
   Animations
   ============================================ */

@keyframes sw-scale-bounce {
  0%   { transform: scale(0); opacity: 0; }
  50%  { transform: scale(1.15); opacity: 1; }
  70%  { transform: scale(0.95); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes sw-gentle-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-4px); }
}

@keyframes sw-ring-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.5); }
  50%  { box-shadow: 0 0 0 14px rgba(245, 158, 11, 0.15); }
  100% { box-shadow: 0 0 0 20px rgba(245, 158, 11, 0); }
}

@keyframes sw-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}

@keyframes sw-slide-up {
  0%   { transform: translateY(24px) scale(0.96); opacity: 0; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes sw-waveform {
  0%, 100% { height: 4px; }
  50%      { height: 16px; }
}

@keyframes sw-slow-rotate {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .sw-widget *,
  .sw-widget *::before,
  .sw-widget *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
```

---

## Quick Reference: Design Decisions

| Decision | Choice | Why |
|---|---|---|
| **Primary navy** `#1B3A5C` | Deep, trustworthy blue | Solar is a $5K–$15K purchase. You need to convey reliability, not flashiness. |
| **Secondary amber** `#F59E0B` | Solar/sun energy | Universal solar colour. Instantly communicates industry. |
| **Accent green** `#10B981` | Sustainability + CTAs | Reinforces the "green energy" message. Great contrast for action buttons. |
| **Bottom-right placement** | Standard position | Avoids solar site hero CTAs (usually centered or left). Keeps clear of cookie banners. Doesn't fight SolarQuotes comparison widgets. |
| **Full-screen mobile** | Maximise conversion | Solar quotes need address input, roof type, bill info. Cramped panels = abandoned quotes. |
| **State-specific rebate cards** | Trust + urgency | Every second solar enquiry in Australia asks about rebates. Having this ready in the widget removes the #1 friction point. |
| **Temperature-based greeting** | Contextual relevance | On a 38° day in Penrith, "Scorcher today — let's talk about how panels can offset that aircon bill" hits differently. |
| **CEC badge in header** | Industry trust signal | Clean Energy Council accreditation is the #1 trust factor for Australian solar buyers. Show it early. |


Response:
```json
{
  "$schema": "https://sunaiva.com/schemas/widget-config/v1.json",
  "meta": {
    "industry": "tree_lopping",
    "business_type": "arborist_services",
    "target_region": "Australia",
    "version": "1.0.0",
    "last_updated": "2024-01-15"
  },
  "colors": {
    "primary": "#2D5A27",
    "primary_light": "#3D7A37",
    "primary_dark": "#1D3A17",
    "secondary": "#8B5A2B",
    "secondary_light": "#A67C52",
    "accent": "#FF6B35",
    "accent_hover": "#E85A25",
    "accent_light": "#FF8F66",
    "background": "#FEFCF8",
    "background_elevated": "#FFFFFF",
    "surface": "#F5F2EB",
    "text_primary": "#1A1A1A",
    "text_secondary": "#4A4A4A",
    "text_muted": "#7A7A7A",
    "text_on_primary": "#FFFFFF",
    "border": "#E0DCD4",
    "border_focus": "#2D5A27",
    "success": "#2D8A27",
    "error": "#D32F2F",
    "shadow": "rgba(45, 90, 39, 0.15)"
  },
  "position": {
    "desktop": {
      "corner": "bottom_right",
      "offset_x": "24px",
      "offset_y": "24px",
      "z_index": 9999
    },
    "mobile": {
      "corner": "bottom_right",
      "offset_x": "16px",
      "offset_y": "16px",
      "z_index": 9999
    },
    "reasoning": "Bottom-right placement aligns with user expectations for chat/voice widgets. Position ensures visibility without obscuring critical page elements. Mobile placement accounts for thumb-zone accessibility."
  },
  "dimensions": {
    "desktop": {
      "width": "380px",
      "height": "auto",
      "max_height": "520px",
      "min_height": "200px"
    },
    "mobile": {
      "width": "calc(100% - 32px)",
      "max_width": "400px",
      "height": "auto",
      "max_height": "75vh",
      "min_height": "180px"
    },
    "launcher": {
      "desktop": "64px",
      "mobile": "56px"
    }
  },
  "avatar": {
    "type": "custom_icon",
    "icon_name": "arborist_helper",
    "description": "Friendly tree silhouette with subtle leaf accent and soft rounded edges. Represents the tree lopping industry while maintaining approachability.",
    "visual_specs": {
      "shape": "rounded_square",
      "border_radius": "16px",
      "background": "linear-gradient(135deg, #2D5A27 0%, #3D7A37 100%)",
      "icon_color": "#FFFFFF",
      "icon_size": "32px",
      "shadow": "0 4px 12px rgba(45, 90, 39, 0.3)"
    },
    "speaking_state": {
      "animation": "pulse_ring",
      "ring_color": "#FF6B35",
      "ring_width": "3px"
    },
    "idle_state": {
      "animation": "subtle_breathe",
      "duration": "3s",
      "easing": "ease-in-out"
    }
  },
  "messages": {
    "welcome": {
      "text": "G'day! 🌳 Need a hand with some tree work? I can grab your details and sort out a quote for you.",
      "voice_greeting": "G'day mate, thanks for calling. I'm the AI assistant here at [Business Name]. I can help you book in for tree lopping, hedging, or stump grinding. What's the job?"
    },
    "fallback": "No worries, one of the team will give you a buzz back shortly. Leave your number and we'll be in touch.",
    "success": "Sorted! We've got your details. Someone from the crew will confirm your booking shortly. Cheers!",
    "hours_message": {
      "after_hours": "Thanks for calling outside our usual hours. Leave your details and we'll give you a bell tomorrow to sort out your tree work."
    },
    "translations": {
      "en-AU": {
        "locale": "en-AU",
        "greeting": "G'day",
        "mate": "mate",
        "thanks": "ta",
        "no_worries": "no worries",
        "cheers": "cheers"
      }
    }
  },
  "animations": {
    "entry": {
      "type": "slide_fade",
      "direction": "up",
      "duration": "400ms",
      "easing": "cubic-bezier(0.34, 1.56, 0.64, 1)",
      "delay": "200ms"
    },
    "exit": {
      "type": "fade_scale",
      "duration": "200ms",
      "easing": "ease-out"
    },
    "idle": {
      "type": "breathe",
      "scale_range": [1, 1.02],
      "duration": "3s",
      "iteration": "infinite",
      "easing": "ease-in-out"
    },
    "notification": {
      "type": "pulse_bounce",
      "duration": "1.5s",
      "iteration": "infinite",
      "ring_color": "#FF6B35"
    },
    "listening": {
      "type": "soundwave",
      "bars": 5,
      "colors": ["#2D5A27", "#3D7A37", "#FF6B35"]
    },
    "speaking": {
      "type": "pulse_ring",
      "rings": 2,
      "color": "#FF6B35",
      "duration": "1.2s"
    }
  },
  "typography": {
    "font_family": "'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
    "font_family_loaded": false,
    "weights": {
      "regular": 400,
      "medium": 600,
      "bold": 700
    },
    "sizes": {
      "header": {
        "desktop": "20px",
        "mobile": "18px",
        "line_height": "1.3",
        "weight": "700"
      },
      "subheader": {
        "desktop": "16px",
        "mobile": "15px",
        "line_height": "1.4",
        "weight": "600"
      },
      "body": {
        "desktop": "15px",
        "mobile": "14px",
        "line_height": "1.5",
        "weight": "400"
      },
      "caption": {
        "desktop": "12px",
        "mobile": "11px",
        "line_height": "1.4",
        "weight": "400"
      },
      "button": {
        "desktop": "15px",
        "mobile": "14px",
        "line_height": "1",
        "weight": "600"
      }
    }
  },
  "buttons": {
    "primary_cta": {
      "background": "#FF6B35",
      "background_hover": "#E85A25",
      "background_active": "#D44A15",
      "text": "#FFFFFF",
      "text_hover": "#FFFFFF",
      "border": "none",
      "border_radius": "12px",
      "padding": {
        "desktop": "14px 24px",
        "mobile": "12px 20px"
      },
      "shadow": "0 4px 14px rgba(255, 107, 53, 0.35)",
      "shadow_hover": "0 6px 20px rgba(255, 107, 53, 0.45)",
      "transition": "all 0.25s cubic-bezier(0.4, 0, 0.2, 1)"
    },
    "secondary": {
      "background": "transparent",
      "background_hover": "#F5F2EB",
      "text": "#2D5A27",
      "border": "2px solid #2D5A27",
      "border_radius": "10px",
      "padding": {
        "desktop": "12px 20px",
        "mobile": "10px 16px"
      }
    },
    "icon_button": {
      "background": "#2D5A27",
      "background_hover": "#3D7A37",
      "text": "#FFFFFF",
      "border_radius": "50%",
      "size": {
        "desktop": "64px",
        "mobile": "56px"
      }
    },
    "quick_reply": {
      "background": "#F5F2EB",
      "background_hover": "#E8E4DB",
      "text": "#2D5A27",
      "border": "1px solid #E0DCD4",
      "border_radius": "20px",
      "padding": "10px 16px",
      "font_size": "14px"
    }
  },
  "dark_mode": {
    "enabled": true,
    "colors": {
      "primary": "#4A8A44",
      "primary_light": "#5AA054",
      "secondary": "#A67C52",
      "accent": "#FF8A5C",
      "accent_hover": "#FF6B35",
      "background": "#1A1D1A",
      "background_elevated": "#242824",
      "surface": "#2D322D",
      "text_primary": "#F0F0F0",
      "text_secondary": "#B8B8B8",
      "text_muted": "#888888",
      "text_on_primary": "#FFFFFF",
      "border": "#3D443D",
      "shadow": "rgba(0, 0, 0, 0.4)"
    },
    "override_detection": "system_preference",
    "manual_toggle": true,
    "toggle_position": "widget_settings"
  },
  "industry_specific": {
    "tree_lopping": {
      "iconography": {
        "primary": "tree_silhouette",
        "secondary": ["chainsaw", "chipper", "stump_grinder"],
        "decorative": ["leaf_pattern", "branch_elements"]
      },
      "color_associations": {
        "green": ["arboriculture", "environment", "safety"],
        "orange": ["visibility", "alertness", "equipment"],
        "brown": ["earth", "wood", "stumps"]
      },
      "seasonal_awareness": {
        "spring": {
          "welcome_message": "G'day! Pruning season's here — need the trees sorted?",
          "accent_color": "#7CB342"
        },
        "summer": {
          "welcome_message": "Stinking hot out there! Get those overgrown branches sorted before they cause trouble.",
          "accent_color": "#FF6B35"
        },
        "autumn": {
          "welcome_message": "Leaves dropping everywhere. Need a cleanup or full tree removal?",
          "accent_color": "#FF8F66"
        },
        "winter": {
          "welcome_message": "Great time for tree work — less mess, better pricing. What needs doing?",
          "accent_color": "#5D8A44"
        }
      },
      "quick_questions": [
        "Tree removal",
        "Pruning / trimming",
        "Hedge trimming",
        "Stump grinding",
        "Storm damage",
        "Green waste removal"
      ],
      "service_keywords": [
        "arborist",
        "tree lopper",
        "tree removal",
        "tree pruning",
        "stump grinding",
        "hedging",
        "green waste",
        "chipper hire",
        "storm damage",
        "risk assessment"
      ],
      "local_terms": {
        "job": "job",
        "quote": "quote / quote-up",
        "finished": "sorted",
        "great": "legendary",
        "understood": "no worries"
      },
      "safety_mentions": [
        "fully insured",
        "certified arborist",
        "Safety compliant",
        "free site assessment"
      ],
      "callback_scenarios": [
        "Large tree removal needs on-site quote",
        "Storm damage assessment required",
        "Complex job with multiple trees",
        "Commercial property work"
      ]
    }
  },
  "css_custom_properties": {
    "--sw-widget-primary": "#2D5A27",
    "--sw-widget-primary-light": "#3D7A37",
    "--sw-widget-primary-dark": "#1D3A17",
    "--sw-widget-secondary": "#8B5A2B",
    "--sw-widget-accent": "#FF6B35",
    "--sw-widget-accent-hover": "#E85A25",
    "--sw-widget-bg": "#FEFCF8",
    "--sw-widget-bg-elevated": "#FFFFFF",
    "--sw-widget-surface": "#F5F2EB",
    "--sw-widget-text": "#1A1A1A",
    "--sw-widget-text-muted": "#7A7A7A",
    "--sw-widget-text-on-primary": "#FFFFFF",
    "--sw-widget-border": "#E0DCD4",
    "--sw-widget-shadow": "rgba(45, 90, 39, 0.15)",
    "--sw-widget-radius-sm": "8px",
    "--sw-widget-radius-md": "12px",
    "--sw-widget-radius-lg": "16px",
    "--sw-widget-radius-full": "9999px",
    "--sw-widget-font": "'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
    "--sw-widget-font-size-sm": "12px",
    "--sw-widget-font-size-md": "15px",
    "--sw-widget-font-size-lg": "20px",
    "--sw-widget-spacing-xs": "4px",
    "--sw-widget-spacing-sm": "8px",
    "--sw-widget-spacing-md": "16px",
    "--sw-widget-spacing-lg": "24px",
    "--sw-widget-spacing-xl": "32px",
    "--sw-widget-transition": "all 0.25s cubic-bezier(0.4, 0, 0.2, 1)",
    "--sw-widget-z-index": "9999",
    "--sw-widget-launcher-size": "64px",
    "--sw-widget-width": "380px",
    "--sw-widget-max-height": "520px",
    "--sw-widget-position-bottom": "24px",
    "--sw-widget-position-right": "24px"
  },
  "accessibility": {
    "aria_labels": {
      "launcher_button": "Open voice assistant",
      "close_button": "Close widget",
      "minimize_button": "Minimize widget",
      "call_button": "Start voice call",
      "mute_button": "Mute microphone",
      "unmute_button": "Unmute microphone",
      "volume_button": "Adjust volume"
    },
    "keyboard_navigation": {
      "enabled": true,
      "trigger_key": "Tab",
      "close_escape": true,
      "focus_trap": true
    },
    "screen_reader": {
      "announce_messages": true,
      "announce_state_changes": true,
      "live_region": "polite"
    },
    "reduced_motion": {
      "respect_preference": true,
      "simplify_animations": true
    },
    "contrast_ratio": {
      "minimum": "4.5:1",
      "enhanced": "7:1"
    }
  },
  "responsive_behavior": {
    "breakpoint": "768px",
    "below_breakpoint": "mobile",
    "above_breakpoint": "desktop",
    "fullscreen_on_mobile": false,
    "expand_to_fullscreen": false,
    "respect_notch": true,
    "safe_area_insets": true
  },
  "performance": {
    "lazy_load": true,
    "preload_assets": ["avatar_icon", "font"],
    "cache_assets": true,
    "optimize_images": true


Response:
# Widget Customization Specification — Welder Business

```json
{
  "metadata": {
    "version": "1.0.0",
    "industry": "welding",
    "targetRegion": "Australia",
    "lastUpdated": "2025-01-15"
  },
  "colorScheme": {
    "description": "Industrial dark theme with welding-orange accents — matches typical tradie branding",
    "primary": {
      "name": "Carbon Black",
      "hex": "#1a1a1a",
      "usage": "Widget background, header"
    },
    "secondary": {
      "name": "Steel Grey",
      "hex": "#2d2d2d",
      "usage": "Message bubbles (received), input fields"
    },
    "accent": {
      "name": "Welding Orange",
      "hex": "#ff6b00",
      "usage": "CTA buttons, active states, highlights"
    },
    "accentHover": {
      "name": "Hot Orange",
      "hex": "#ff8533",
      "usage": "Button hover states"
    },
    "text": {
      "primary": "#ffffff",
      "secondary": "#b0b0b0",
      "muted": "#808080"
    },
    "border": {
      "color": "#404040",
      "radius": "8px"
    },
    "success": "#22c55e",
    "error": "#ef4444",
    "cssVariables": {
      "--widget-primary": "#1a1a1a",
      "--widget-secondary": "#2d2d2d",
      "--widget-accent": "#ff6b00",
      "--widget-accent-hover": "#ff8533",
      "--widget-text-primary": "#ffffff",
      "--widget-text-secondary": "#b0b0b0",
      "--widget-text-muted": "#808080",
      "--widget-border": "#404040",
      "--widget-success": "#22c55e",
      "--widget-error": "#ef4444"
    }
  },
  "widgetPosition": {
    "placement": "bottom-right",
    "offset": {
      "desktop": { "x": "24px", "y": "24px" },
      "mobile": { "x": "16px", "y": "16px" }
    },
    "reasoning": "Bottom-right is the expected position for chat widgets in Australia. Keeps the widget away from navigation menus typically placed on the left side of trade business websites. Allows space for mobile thumb reach on right-handed users.",
    "zIndex": 9999,
    "responsiveBehavior": "shifts to bottom-center on mobile viewport widths under 480px"
  },
  "widgetSize": {
    "collapsed": {
      "width": "64px",
      "height": "64px",
      "borderRadius": "50%"
    },
    "expanded": {
      "desktop": {
        "width": "380px",
        "height": "520px",
        "maxHeight": "calc(100vh - 120px)"
      },
      "mobile": {
        "width": "calc(100vw - 32px)",
        "height": "calc(100vh - 100px)",
        "maxHeight": "600px"
      }
    },
    "cssVariables": {
      "--widget-collapsed-size": "64px",
      "--widget-expanded-width-desktop": "380px",
      "--widget-expanded-height-desktop": "520px",
      "--widget-expanded-width-mobile": "calc(100vw - 32px)",
      "--widget-expanded-height-mobile": "calc(100vh - 100px)"
    }
  },
  "avatar": {
    "description": "Welder mascot representing a friendly site supervisor",
    "iconType": "custom_svg",
    "visual": {
      "style": "flat_vector",
      "subject": "Welding helmet silhouette with friendly eyes",
      "color": "orange accent on dark background",
      "size": {
        "collapsed": "40px",
        "header": "36px"
      }
    },
    "fallback": "welding_spark_icon",
    "animation": "subtle_glow_pulse",
    "cssVariables": {
      "--avatar-size-collapsed": "40px",
      "--avatar-size-header": "36px",
      "--avatar-glow-color": "rgba(255, 107, 0, 0.4)"
    }
  },
  "welcomeMessage": {
    "greeting": "G'day! 👋",
    "message": "You've reached [Business Name]. I'm our AI assistant — I can give you a quote, book you in for a job, or answer questions about our welding services. What can I help you with?",
    "voiceGreeting": "G'day mate, you've reached Business Name. I'm their AI assistant, I can give you a quote, book you in for a job, or answer questions about our welding services. What can I help you with?",
    "trigger": "on_widget_open",
    "delay": "0ms",
    "typingIndicator": true,
    "displayOptions": {
      "showAvatar": true,
      "showTimestamp": false,
      "animation": "slide_up_fade"
    }
  },
  "animations": {
    "entry": {
      "name": "slideUpFade",
      "duration": "300ms",
      "easing": "cubic-bezier(0.4, 0, 0.2, 1)",
      "description": "Widget expands upward with fade in"
    },
    "exit": {
      "name": "fadeOut",
      "duration": "200ms",
      "easing": "ease-out"
    },
    "idle": {
      "name": "subtlePulse",
      "duration": "2s",
      "iteration": "infinite",
      "description": "Collapsed state gently pulses to draw attention without being annoying",
      "trigger": "after_30s_inactive"
    },
    "notification": {
      "name": "ringPulse",
      "duration": "1.5s",
      "iteration": "3",
      "description": "New message notification ring animation",
      "color": "var(--widget-accent)"
    },
    "messageAppear": {
      "name": "messageSlideIn",
      "duration": "250ms",
      "easing": "ease-out"
    },
    "cssVariables": {
      "--animation-entry-duration": "300ms",
      "--animation-exit-duration": "200ms",
      "--animation-idle-duration": "2s",
      "--animation-notification-duration": "1.5s",
      "--animation-message-duration": "250ms",
      "--animation-ease-default": "cubic-bezier(0.4, 0, 0.2, 1)"
    }
  },
  "typography": {
    "fontFamily": {
      "primary": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
      "monospace": "'JetBrains Mono', 'Fira Code', monospace"
    },
    "sizes": {
      "header": {
        "fontSize": "18px",
        "fontWeight": "600",
        "lineHeight": "1.3"
      },
      "subheader": {
        "fontSize": "14px",
        "fontWeight": "500",
        "lineHeight": "1.4"
      },
      "body": {
        "fontSize": "15px",
        "fontWeight": "400",
        "lineHeight": "1.5"
      },
      "caption": {
        "fontSize": "12px",
        "fontWeight": "400",
        "lineHeight": "1.4"
      },
      "button": {
        "fontSize": "14px",
        "fontWeight": "600",
        "lineHeight": "1"
      },
      "input": {
        "fontSize": "15px",
        "fontWeight": "400"
      }
    },
    "cssVariables": {
      "--font-family": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
      "--font-size-header": "18px",
      "--font-size-subheader": "14px",
      "--font-size-body": "15px",
      "--font-size-caption": "12px",
      "--font-size-button": "14px",
      "--font-size-input": "15px",
      "--font-weight-semibold": "600",
      "--font-weight-medium": "500",
      "--font-weight-regular": "400"
    }
  },
  "buttonStyles": {
    "primary": {
      "background": "var(--widget-accent)",
      "color": "#ffffff",
      "border": "none",
      "borderRadius": "8px",
      "padding": "12px 20px",
      "fontSize": "var(--font-size-button)",
      "fontWeight": "600",
      "hover": {
        "background": "var(--widget-accent-hover)",
        "transform": "translateY(-1px)",
        "boxShadow": "0 4px 12px rgba(255, 107, 0, 0.3)"
      },
      "active": {
        "background": "#e55f00",
        "transform": "translateY(0)"
      }
    },
    "secondary": {
      "background": "transparent",
      "color": "var(--widget-accent)",
      "border": "2px solid var(--widget-accent)",
      "borderRadius": "8px",
      "padding": "10px 18px",
      "hover": {
        "background": "rgba(255, 107, 0, 0.1)"
      }
    },
    "quickReply": {
      "background": "var(--widget-secondary)",
      "color": "var(--widget-text-primary)",
      "border": "1px solid var(--widget-border)",
      "borderRadius": "20px",
      "padding": "8px 16px",
      "fontSize": "13px",
      "hover": {
        "borderColor": "var(--widget-accent)",
        "background": "rgba(255, 107, 0, 0.1)"
      }
    },
    "closeButton": {
      "size": "32px",
      "iconSize": "20px",
      "color": "var(--widget-text-muted)",
      "hoverColor": "var(--widget-text-primary)",
      "background": "transparent",
      "borderRadius": "50%"
    },
    "cssVariables": {
      "--btn-primary-bg": "var(--widget-accent)",
      "--btn-primary-color": "#ffffff",
      "--btn-primary-radius": "8px",
      "--btn-secondary-bg": "transparent",
      "--btn-secondary-color": "var(--widget-accent)",
      "--btn-quickreply-bg": "var(--widget-secondary)",
      "--btn-quickreply-radius": "20px"
    }
  },
  "darkModeVariant": {
    "description": "Dark mode is the default theme for welders — no separate variant needed. The widget is already dark by default.",
    "isDefault": true,
    "autoDetect": true,
    "lightModeOverride": null,
    "note": "Welding businesses rarely use light themes. If a light mode is needed, invert primary/secondary colors and use dark text on light background."
  },
  "industrySpecificElements": {
    "description": "Design elements that resonate with Australian welding businesses",
    "decorative": {
      "weldingSparks": {
        "type": "subtle_background_pattern",
        "description": "Faint welding spark pattern in widget header area",
        "opacity": "0.08",
        "color": "var(--widget-accent)",
        "animated": false
      },
      "metalTexture": {
        "type": "gradient_overlay",
        "description": "Subtle brushed metal gradient on widget edges",
        "direction": "diagonal",
        "stops": ["transparent", "rgba(255,255,255,0.03)", "transparent"]
      }
    },
    "quickReplyButtons": {
      "defaults": [
        "Get a quote",
        "Book a job",
        "What do you weld?",
        "Trading hours"
      ],
      "industryContext": [
        "Structural welding",
        "Mobile welding",
        "Custom fabrications",
        "Emergency repairs"
      ]
    },
    "businessHours": {
      "autoUpdate": true,
      "displayFormat": "Open now / Closed",
      "timezone": "AEST/AEDT"
    },
    "specializedCapabilities": {
      "showAsTags": [
        "Mobile welding",
        "On-site repairs",
        "Custom fabrications",
        "Certifications: ISO, ASME"
      ]
    },
    "cssVariables": {
      "--spark-pattern-opacity": "0.08",
      "--metal-gradient-color": "rgba(255,255,255,0.03)"
    }
  },
  "accessibility": {
    "ariaLabels": {
      "openButton": "Open chat with [Business Name] AI assistant",
      "closeButton": "Close chat",
      "sendMessage": "Send message",
      "voiceCall": "Start voice call"
    },
    "keyboardNavigation": true,
    "focusVisible": "2px solid var(--widget-accent)",
    "screenReaderAnnouncements": true,
    "contrastRatio": "4.5:1 minimum"
  },
  "cssVariables": {
    "--widget-primary": "#1a1a1a",
    "--widget-secondary": "#2d2d2d",
    "--widget-accent": "#ff6b00",
    "--widget-accent-hover": "#ff8533",
    "--widget-text-primary": "#ffffff",
    "--widget-text-secondary": "#b0b0b0",
    "--widget-text-muted": "#808080",
    "--widget-border": "#404040",
    "--widget-success": "#22c55e",
    "--widget-error": "#ef4444",
    "--widget-collapsed-size": "64px",
    "--widget-expanded-width-desktop": "380px",
    "--widget-expanded-height-desktop": "520px",
    "--widget-expanded-width-mobile": "calc(100vw - 32px)",
    "--widget-expanded-height-mobile": "calc(100vh - 100px)",
    "--avatar-size-collapsed": "40px",
    "--avatar-size-header": "36px",
    "--avatar-glow-color": "rgba(255, 107, 0, 0.4)",
    "--font-family": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
    "--font-size-header": "18px",
    "--font-size-subheader": "14px",
    "--font-size-body": "15px",
    "--font-size-caption": "12px",
    "--font-size-button": "14px",
    "--font-size-input": "15px",
    "--font-weight-semibold": "600",
    "--font-weight-medium": "500",
    "--font-weight-regular": "400",
    "--animation-entry-duration": "300ms",
    "--animation-exit-duration": "200ms",
    "--animation-idle-duration": "2s",
    "--animation-notification-duration": "1.5s",
    "--animation-message-duration": "250ms",
    "--animation-ease-default": "cubic-bezier(0.4, 0, 0.2, 1)",
    "--btn-primary-bg": "var(--widget-accent)",
    "--btn-primary-color": "#ffffff",
    "--btn-primary-radius": "8px",
    "--btn-secondary-bg": "transparent",
    "--btn-secondary-color": "var(--widget-accent)",
    "--btn-quickreply-bg": "var(--widget-secondary)",
    "--btn-quickreply-radius": "20px",
    "--spark-pattern-opacity": "0.08",
    "--metal-gradient-color": "rgba(255,255,255,0.03)"
  }
}
```

## Usage Notes

**CSS Custom Properties Injection**
Add these variables to your site's CSS or inject them via the widget initialization:

```css
:root {
  --widget-primary: #1a1a1a;
  --widget-secondary: #2d2d2d;
  --widget-accent: #ff6b00;
  --widget-accent-hover: #ff8533;
  --widget-text-primary: #ffffff;
  --widget-text-secondary: #b0b0b0;
  --widget-text-muted: #808080;
  --widget-border: #404040;
  --widget-success: #22c55e;
  --widget-error: #ef4444;
  /* ... all other variables from the JSON */
}
```

**Replaceable Placeholders**
- `[Business Name]` — Auto-populated from your configuration
- Avatar SVG — Use the welding helmet silhouette design described in the avatar section

This config is ready to drop into the Sunaiva widget renderer. The dark industrial theme matches tradie expectations, and the orange accent matches the welding spark aesthetic most Australian welding businesses use in their branding.


Response:
```json
{
  "widgetConfig": {
    "version": "1.0.0",
    "industry": "bricklaying",
    "businessType": "trade_services"
  },

  "colors": {
    "primary": {
      "name": "Brick Red",
      "hex": "#B91C1C",
      "rgb": "185, 28, 28",
      "usage": "Header background, primary accents"
    },
    "secondary": {
      "name": "Concrete Grey",
      "hex": "#4B5563",
      "rgb": "75, 85, 99",
      "usage": "Body text, secondary elements"
    },
    "accent": {
      "name": "Safety Orange",
      "hex": "#F97316",
      "rgb": "249, 115, 22",
      "usage": "CTA buttons, call-to-action highlights"
    },
    "background": {
      "light": "#F9FAFB",
      "card": "#FFFFFF",
      "dark": "#1F2937"
    },
    "text": {
      "primary": "#1F2937",
      "secondary": "#6B7280",
      "muted": "#9CA3AF",
      "inverted": "#F9FAFB"
    },
    "border": {
      "light": "#E5E7EB",
      "medium": "#D1D5DB"
    },
    "status": {
      "online": "#10B981",
      "busy": "#F59E0B",
      "offline": "#6B7280"
    }
  },

  "layout": {
    "position": {
      "desktop": "bottom-right",
      "mobile": "bottom-right",
      "offset": {
        "desktop": { "x": "24px", "y": "24px" },
        "mobile": { "x": "16px", "y": "16px" }
      }
    },
    "dimensions": {
      "launcher": {
        "desktop": "64px",
        "mobile": "56px"
      },
      "window": {
        "desktop": {
          "width": "380px",
          "maxHeight": "520px"
        },
        "mobile": {
          "width": "calc(100% - 32px)",
          "maxHeight": "70vh",
          "bottom": "80px"
        },
        "borderRadius": "16px"
      }
    },
    "zIndex": {
      "value": "9999",
      "note": "Ensure above footer but below modals"
    }
  },

  "avatar": {
    "type": "custom_icon",
    "design": {
      "description": "Stylised brick pattern icon with friendly face silhouette",
      "visual": "A rounded square icon featuring a subtle brick-laid pattern in primary red, with a simple white silhouette of a friendly face in the centre. The face has a hard hat silhouette on top to indicate construction/trade industry.",
      "style": "Flat design, minimalist, easily recognizable at small sizes",
      "fallback": "Use a simple phone/headset icon in primary red if custom avatar unavailable"
    },
    "size": {
      "launcher": "48px",
      "chatHeader": "36px"
    },
    "animation": {
      "idle": "subtle_pulse",
      "interval": "3s",
      "scale": "1.0 to 1.05"
    }
  },

  "content": {
    "welcomeMessage": "G'day! I'm your site assistant. I can help you get a quote, book a job, or answer questions about our bricklaying services. What can I do for you?",
    "fallbackMessage": "No worries, I'll get someone to call you back. What's your number?",
    "closingMessage": "Great chat! If you need anything else, just open me up. See you on the job!",
    "businessHours": {
      "display": "Mon-Fri 7am-5pm, Sat 8am-12pm",
      "note": "Shows when real humans are available"
    },
    "quickReplies": [
      "Get a quote",
      "Book a job",
      "Our services",
      "Call me back"
    ]
  },

  "animations": {
    "entry": {
      "type": "slide_fade",
      "direction": "up",
      "duration": "300ms",
      "easing": "cubic-bezier(0.16, 1, 0.3, 1)",
      "delay": "0ms"
    },
    "exit": {
      "type": "fade",
      "duration": "200ms",
      "easing": "ease-out"
    },
    "launcher": {
      "idle": {
        "type": "pulse",
        "duration": "2s",
        "repeat": "infinite",
        "scale": "1.0 to 1.08"
      },
      "hover": {
        "type": "scale",
        "scale": "1.1",
        "duration": "150ms"
      }
    },
    "notification": {
      "type": "bounce",
      "count": "3",
      "duration": "600ms",
      "color": "#F97316"
    },
    "message": {
      "type": "slide_in",
      "direction": "left",
      "duration": "250ms",
      "stagger": "50ms"
    }
  },

  "typography": {
    "fontFamily": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
    "baseSize": "15px",
    "lineHeight": "1.5",
    "weights": {
      "regular": 400,
      "medium": 500,
      "semibold": 600,
      "bold": 700
    },
    "sizes": {
      "header": {
        "desktop": "18px",
        "mobile": "16px",
        "weight": "600",
        "lineHeight": "1.3"
      },
      "body": {
        "desktop": "15px",
        "mobile": "14px",
        "weight": "400",
        "lineHeight": "1.5"
      },
      "caption": {
        "desktop": "13px",
        "mobile": "12px",
        "weight": "400",
        "lineHeight": "1.4"
      },
      "button": {
        "desktop": "15px",
        "mobile": "14px",
        "weight": "600"
      }
    }
  },

  "buttons": {
    "primary": {
      "background": "#F97316",
      "color": "#FFFFFF",
      "border": "none",
      "borderRadius": "8px",
      "padding": {
        "desktop": "12px 20px",
        "mobile": "10px 16px"
      },
      "hover": {
        "background": "#EA580C",
        "transform": "translateY(-1px)",
        "boxShadow": "0 4px 12px rgba(249, 115, 22, 0.3)"
      },
      "active": {
        "background": "#C2410C",
        "transform": "translateY(0)"
      },
      "transition": "all 150ms ease"
    },
    "secondary": {
      "background": "#F3F4F6",
      "color": "#374151",
      "border": "1px solid #E5E7EB",
      "borderRadius": "8px",
      "padding": {
        "desktop": "12px 20px",
        "mobile": "10px 16px"
      },
      "hover": {
        "background": "#E5E7EB",
        "borderColor": "#D1D5DB"
      }
    },
    "quickReply": {
      "background": "#FEF3C7",
      "color": "#92400E",
      "border": "1px solid #FCD34D",
      "borderRadius": "20px",
      "padding": "8px 16px",
      "fontSize": "14px",
      "hover": {
        "background": "#FDE68A",
        "borderColor": "#F59E0B"
      }
    },
    "close": {
      "size": "32px",
      "iconSize": "20px",
      "color": "#6B7280",
      "hover": {
        "background": "#F3F4F6",
        "color": "#1F2937"
      }
    }
  },

  "darkMode": {
    "enabled": true,
    "trigger": "system_preference",
    "manualToggle": true,
    "colors": {
      "background": "#1F2937",
      "card": "#374151",
      "text": {
        "primary": "#F9FAFB",
        "secondary": "#D1D5DB",
        "muted": "#9CA3AF"
      },
      "border": "#4B5563",
      "button": {
        "primary": "#F97316",
        "secondary": "#4B5563"
      }
    },
    "typography": {
      "adjustForContrast": true,
      "bodyWeight": "400"
    }
  },

  "industrySpecific": {
    "bricklaying": {
      "accentPatterns": [
        {
          "type": "brick_pattern",
          "opacity": "0.05",
          "color": "#B91C1C",
          "position": "header_background"
        }
      ],
      "icons": {
        "services": "brick_wall",
        "quote": "calculator",
        "booking": "calendar",
        "contact": "phone"
      },
      "localisation": {
        "region": "Australia",
        "language": "en-AU",
        "currency": "AUD",
        "dateFormat": "DD/MM/YYYY",
        "phoneFormat": "+61"
      },
      "trustElements": {
        "showLicence": true,
        "licenceLabel": "QBCC Licensed",
        "showABN": false,
        "showAwards": ["Master Bricklayer Award 2023"]
      },
      "quickActions": [
        {
          "label": "Get a Quote",
          "action": "start_quote_flow",
          "icon": "clipboard"
        },
        {
          "label": "Book a Job",
          "action": "start_booking_flow",
          "icon": "calendar"
        },
        {
          "label": "Our Services",
          "action": "show_services",
          "icon": "list"
        },
        {
          "label": "Call the Boss",
          "action": "transfer_to_phone",
          "icon": "phone"
        }
      ],
      "services": [
        "Brick walls & fencing",
        "Retaining walls",
        "Patios & paving",
        "Repairs & maintenance",
        "Extensions & renovations"
      ],
      "typicalQuestions": [
        "How much does a brick fence cost?",
        "Do you do council approvals?",
        "How long will the job take?",
        "What bricks do you recommend?"
      ]
    }
  },

  "cssCustomProperties": {
    "--widget-primary": "#B91C1C",
    "--widget-secondary": "#4B5563",
    "--widget-accent": "#F97316",
    "--widget-bg": "#FFFFFF",
    "--widget-bg-dark": "#1F2937",
    "--widget-text": "#1F2937",
    "--widget-text-dark": "#F9FAFB",
    "--widget-text-muted": "#6B7280",
    "--widget-border": "#E5E7EB",
    "--widget-border-dark": "#4B5563",
    "--widget-radius": "16px",
    "--widget-radius-sm": "8px",
    "--widget-shadow": "0 10px 40px rgba(0, 0, 0, 0.15)",
    "--widget-shadow-hover": "0 15px 50px rgba(0, 0, 0, 0.2)",
    "--widget-font": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
    "--widget-z-index": "9999",
    "--widget-launcher-size": "64px",
    "--widget-launcher-size-mobile": "56px",
    "--widget-width": "380px",
    "--widget-width-mobile": "calc(100% - 32px)",
    "--widget-max-height": "520px",
    "--widget-max-height-mobile": "70vh",
    "--widget-spacing": "16px",
    "--widget-spacing-sm": "12px",
    "--widget-spacing-xs": "8px",
    "--widget-transition": "all 200ms cubic-bezier(0.16, 1, 0.3, 1)",
    "--widget-status-online": "#10B981",
    "--widget-status-busy": "#F59E0B",
    "--widget-quickreply-bg": "#FEF3C7",
    "--widget-quickreply-text": "#92400E"
  },

  "accessibility": {
    "ariaLabels": {
      "launcher": "Open chat assistant",
      "close": "Close chat",
      "minimise": "Minimise chat",
      "input": "Type your message"
    },
    "keyboardNav": {
      "toggleKey": "Enter",
      "closeKey": "Escape"
    },
    "screenReader": {
      "announceMessages": true,
      "liveRegion": "polite"
    },
    "focusManagement": {
      "trapFocus": true,
      "returnToLaunch": true
    }
  },

  "performance": {
    "lazyLoad": true,
    "preload": false,
    "cacheAssets": true,
    "animationOptimization": "respect_reduced_motion"
  }
}
```

## Implementation Notes

### CSS Variables Usage

```css
/* In your main stylesheet or widget CSS */
.sunaiva-widget {
  --widget-primary: #B91C1C;
  --widget-secondary: #4B5563;
  --widget-accent: #F97316;
  /* ... rest of variables */

  font-family: var(--widget-font);
  background: var(--widget-bg);
  border-radius: var(--widget-radius);
  box-shadow: var(--widget-shadow);
}

/* Dark mode override */
@media (prefers-color-scheme: dark) {
  .sunaiva-widget {
    --widget-bg: var(--widget-bg-dark);
    --widget-text: var(--widget-text-dark);
    --widget-border: var(--widget-border-dark);
  }
}
```

### Key Design Decisions

| Element | Choice | Rationale |
|---------|--------|-----------|
| Primary Color | Brick Red #B91C1C | Instantly communicates "bricklayer" to visitors |
| Position | Bottom-right | Standard for conversion; thumb-friendly on mobile |
| Accent | Safety Orange #F97316 | High contrast CTAs; construction industry standard |
| Font | Inter | Clean, readable, modern; excellent at small sizes |
| Dark Mode | Auto-detect | Respects user preference; maintains readability |

### Australian Specifics

- Welcome message uses "G'day" and casual tone
- Phone number format expects +61 prefix
- Date format is DD/MM/YYYY
- Trust element shows "QBCC Licensed" (Queensland Building and Construction Commission)
- Quick replies written in Australian English


Response:
```json
{
  "widgetConfig": {
    "version": "1.0.0",
    "businessType": "carpenter",
    "themeName": "Timber & Tools",

    "colors": {
      "primary": "#8B5A2B",
      "primaryDark": "#6B4423",
      "primaryLight": "#A67C52",
      "secondary": "#F5F0E8",
      "secondaryDark": "#E8E0D4",
      "accent": "#D4763C",
      "accentHover": "#E88A52",
      "textPrimary": "#2C2416",
      "textSecondary": "#5C5347",
      "textOnPrimary": "#FFFFFF",
      "border": "#D4C9B8",
      "success": "#4A7C59",
      "error": "#C44536"
    },

    "darkMode": {
      "enabled": true,
      "colors": {
        "background": "#1E1B18",
        "surface": "#2A2520",
        "surfaceHover": "#352F28",
        "textPrimary": "#F5F0E8",
        "textSecondary": "#B8B0A4",
        "border": "#3D3530"
      }
    },

    "dimensions": {
      "desktop": {
        "width": "380px",
        "height": "520px",
        "borderRadius": "16px"
      },
      "mobile": {
        "width": "100vw",
        "height": "70vh",
        "borderRadius": "24px 24px 0 0",
        "position": "bottom"
      },
      "triggerButton": {
        "width": "64px",
        "height": "64px",
        "borderRadius": "50%"
      }
    },

    "position": {
      "desktop": {
        "corner": "bottom-right",
        "offsetX": "24px",
        "offsetY": "24px"
      },
      "mobile": {
        "corner": "bottom-right",
        "offsetX": "16px",
        "offsetY": "16px"
      }
    },

    "typography": {
      "fontFamily": "'Outfit', -apple-system, BlinkMacSystemFont, sans-serif",
      "fontFamilyMonospace": "'JetBrains Mono', monospace",
      "sizes": {
        "header": "20px",
        "subheader": "16px",
        "body": "14px",
        "caption": "12px",
        "button": "15px"
      },
      "weights": {
        "regular": 400,
        "medium": 500,
        "semibold": 600,
        "bold": 700
      },
      "lineHeights": {
        "tight": 1.2,
        "normal": 1.5,
        "relaxed": 1.7
      }
    },

    "avatar": {
      "enabled": true,
      "type": "character",
      "characterStyle": "friendly_tradesperson",
      "gender": "male",
      "appearance": {
        "clothing": "high-vis_vest",
        "accessories": "tool_belt",
        "expression": "welcoming_smile"
      },
      "fallbackIcon": "hammer",
      "size": {
        "widget": "48px",
        "notification": "12px"
      },
      "borderColor": "#8B5A2B"
    },

    "messages": {
      "welcome": {
        "text": "G'day! I'm your site assistant. Need a quote for some cabinetry, or want to book a job? I'm here to help, 24/7.",
        "voiceGreeting": "G'day mate! Need a quote or want to book a job? I'm here to help."
      },
      "fallback": "No worries, one of the team will get back to you shortly. What's your name and number?",
      "closing": "Sorted! We'll shoot you a confirmation text. Cheers!",
      "error": "Had a bit of trouble there. Want to try again or leave a message?"
    },

    "buttons": {
      "cta": {
        "background": "#8B5A2B",
        "backgroundHover": "#6B4423",
        "textColor": "#FFFFFF",
        "borderRadius": "10px",
        "border": "none",
        "padding": "14px 24px",
        "fontWeight": 600,
        "shadow": "0 4px 12px rgba(139, 90, 43, 0.3)",
        "shadowHover": "0 6px 16px rgba(139, 90, 43, 0.4)",
        "transition": "all 0.2s ease"
      },
      "secondary": {
        "background": "transparent",
        "backgroundHover": "#F5F0E8",
        "textColor": "#8B5A2B",
        "borderRadius": "10px",
        "border": "2px solid #8B5A2B",
        "padding": "12px 22px",
        "fontWeight": 500
      },
      "icon": {
        "background": "#8B5A2B",
        "textColor": "#FFFFFF",
        "size": "48px",
        "hoverScale": 1.05
      }
    },

    "animations": {
      "entry": {
        "type": "slide-fade",
        "direction": "up",
        "duration": "400ms",
        "easing": "cubic-bezier(0.34, 1.56, 0.64, 1)",
        "delay": "200ms"
      },
      "exit": {
        "type": "fade",
        "duration": "200ms",
        "easing": "ease-out"
      },
      "idle": {
        "enabled": true,
        "type": "subtle-pulse",
        "scaleRange": [1, 1.02],
        "duration": "2s",
        "repeat": true,
        "pauseOnHover": true
      },
      "notification": {
        "type": "bounce",
        "count": 3,
        "duration": "600ms",
        "color": "#D4763C"
      },
      "typing": {
        "enabled": true,
        "dotCount": 3,
        "animation": "bounce-delay"
      },
      "microInteractions": {
        "buttonHover": "scale(1.02)",
        "cardHover": "translateY(-2px)",
        "iconSpin": "rotate(360deg)"
      }
    },

    "industrySpecific": {
      "carpenter": {
        "iconSet": ["hammer", "saw", "tape_measure", "pencil", "square"],
        "accentPatterns": {
          "enabled": true,
          "type": "wood-grain-subtle",
          "opacity": 0.05
        },
        "serviceKeywords": [
          "custom cabinets",
          "decking",
          "renovations",
          "fit-offs",
          "framing",
          "joinery",
          "pergolas",
          "wardrobes"
        ],
        "quickReplyButtons": [
          "Get a Quote",
          "Book a Job",
          "View Portfolio",
          "Call Me Back"
        ],
        "businessHours": {
          "display": true,
          "format": "Mon-Fri: 7am - 5pm"
        },
        "badgeText": "Licensed & Insured"
      }
    },

    "accessibility": {
      "ariaLabels": {
        "openButton": "Open chat with builder's assistant",
        "closeButton": "Close chat",
        "sendButton": "Send message",
        "voiceButton": "Start voice call"
      },
      "focusVisible": "#D4763C",
      "reduceMotion": false,
      "screenReaderAnnouncements": true
    },

    "responsive": {
      "breakpoints": {
        "mobile": "480px",
        "tablet": "768px",
        "desktop": "1024px"
      },
      "breakpointBehavior": "transform-to-bottom-sheet"
    },

    "customCss": {
      "widget": {
        "boxShadow": "0 8px 32px rgba(44, 36, 22, 0.15)",
        "backdropFilter": "blur(10px)",
        "border": "1px solid rgba(139, 90, 43, 0.2)"
      },
      "header": {
        "background": "linear-gradient(135deg, #8B5A2B 0%, #6B4423 100%)"
      },
      "input": {
        "background": "#FFFFFF",
        "border": "2px solid #D4C9B8",
        "focusBorder": "#8B5A2B"
      },
      "scrollbar": {
        "width": "6px",
        "track": "#F5F0E8",
        "thumb": "#C4B8A4"
      }
    }
  },

  "cssVariables": {
    "--sun-primary": "#8B5A2B",
    "--sun-primary-dark": "#6B4423",
    "--sun-primary-light": "#A67C52",
    "--sun-secondary": "#F5F0E8",
    "--sun-secondary-dark": "#E8E0D4",
    "--sun-accent": "#D4763C",
    "--sun-accent-hover": "#E88A52",
    "--sun-text-primary": "#2C2416",
    "--sun-text-secondary": "#5C5347",
    "--sun-text-on-primary": "#FFFFFF",
    "--sun-border": "#D4C9B8",
    "--sun-success": "#4A7C59",
    "--sun-error": "#C44536",
    "--sun-font": "'Outfit', -apple-system, BlinkMacSystemFont, sans-serif",
    "--sun-radius-sm": "8px",
    "--sun-radius-md": "12px",
    "--sun-radius-lg": "16px",
    "--sun-radius-full": "9999px",
    "--sun-shadow-sm": "0 2px 8px rgba(44, 36, 22, 0.1)",
    "--sun-shadow-md": "0 4px 16px rgba(44, 36, 22, 0.12)",
    "--sun-shadow-lg": "0 8px 32px rgba(44, 36, 22, 0.15)",
    "--sun-transition": "all 0.2s ease",
    "--sun-z-index": "9999",
    "--sun-width-desktop": "380px",
    "--sun-height-desktop": "520px",
    "--sun-trigger-size": "64px"
  },

  "metadata": {
    "configId": "sunaiva-carpenter-timber-v1",
    "lastUpdated": "2025-01-15",
    "targetAudience": "Australian carpentry businesses",
    "recommendedVoice": "australian_male_Builder_Mate",
    "typicalPricePoint": "$197-$397/mo",
    "conversionGoals": [
      "Quote requests",
      "Job bookings",
      "Phone call routing"
    ]
  }
}
```


Response:
```json
{
  "widgetConfig": {
    "version": "1.0.0",
    "industry": "demolition_contractor",
    "businessType": "trade_services",
    "targetRegion": "Australia"
  },

  "colorScheme": {
    "primary": {
      "hex": "#1A1A1A",
      "rgb": "26, 26, 26",
      "name": "Carbon Black",
      "usage": "Widget header, primary text on light backgrounds"
    },
    "secondary": {
      "hex": "#FF6B00",
      "rgb": "255, 107, 0",
      "name": "Safety Orange",
      "usage": "Primary buttons, active states, accent highlights"
    },
    "accent": {
      "hex": "#FFD600",
      "rgb": "255, 214, 0",
      "name": "Caution Yellow",
      "usage": "Notification badges, important highlights, hover states"
    },
    "background": {
      "light": "#FFFFFF",
      "dark": "#2D2D2D",
      "surface": "#F5F5F5"
    },
    "text": {
      "light": "#FFFFFF",
      "dark": "#1A1A1A",
      "muted": "#6B6B6B"
    },
    "status": {
      "success": "#28A745",
      "error": "#DC3545",
      "warning": "#FFC107",
      "info": "#17A2B8"
    },
    "border": {
      "light": "#E0E0E0",
      "dark": "#404040"
    }
  },

  "widgetPosition": {
    "primary": {
      "position": "bottom-right",
      "desktop": {
        "bottom": "24px",
        "right": "24px"
      },
      "mobile": {
        "bottom": "16px",
        "right": "16px"
      },
      "reasoning": "Bottom-right is the industry standard for chat widgets, avoiding primary content areas while remaining easily accessible. It doesn't interfere with left-aligned navigation menus common on trade business websites."
    },
    "fallback": {
      "position": "bottom-left",
      "desktop": {
        "bottom": "24px",
        "left": "24px"
      },
      "mobile": {
        "bottom": "16px",
        "left": "16px"
      },
      "reasoning": "Good alternative for sites with right-side ads or competing elements. Also better for RTL consideration if ever needed."
    },
    "zIndex": "9999",
    "respectsContentWidth": true,
    "minimisesOnMobileScroll": false
  },

  "widgetDimensions": {
    "desktop": {
      "collapsed": {
        "width": "64px",
        "height": "64px"
      },
      "expanded": {
        "width": "400px",
        "height": "600px",
        "maxHeight": "calc(100vh - 120px)"
      }
    },
    "mobile": {
      "collapsed": {
        "width": "56px",
        "height": "56px"
      },
      "expanded": {
        "width": "calc(100vw - 32px)",
        "maxWidth": "400px",
        "height": "calc(100vh - 120px)",
        "maxHeight": "600px"
      },
      "fullscreenBreakpoint": "480px"
    },
    "borderRadius": {
      "collapsed": "50%",
      "expanded": "16px",
      "header": "16px 16px 0 0",
      "footer": "0 0 16px 16px"
    }
  },

  "avatarIcon": {
    "type": "illustration",
    "style": "friendly_technical",
    "description": "A friendly, modern AI avatar wearing a white hard hat with the business logo subtly integrated. The character has a warm, approachable expression - not too corporate, not too cartoonish. Think 'friendly tradie who knows their stuff'.",
    "visualElements": [
      "White and orange hard hat (recognisable construction iconography)",
      "Friendly smile with professional undertone",
      "Circular background in safety orange",
      "Optional: subtle excavator or wrecking ball silhouette in background"
    ],
    "fallbackIcon": {
      "type": "emoji_or_svg",
      "icon": "🏗",
      "name": "Construction Wrecking Ball"
    },
    "size": {
      "collapsed": "64px",
      "header": "40px",
      "message": "32px"
    },
    "animation": "gentle_bob"
  },

  "welcomeMessage": {
    "voice": "friendly_professional_australian",
    "greeting": "G'day! 👋",
    "primary": "Welcome to [Business Name]. I'm your AI assistant - think of me as your virtual receptionist who's available 24/7.",
    "offer": "I can help you with:\n• Free quotes for house demolition\n• Concrete removal and site clearing\n• Commercial demolition projects\n•bobcat and excavation work\n• Tip truck and rubbish removal",
    "callToAction": "What can I help you with today?",
    "quickReplies": [
      "Get a quote",
      "Book a site inspection",
      "What services do you offer?",
      "How much does demolition cost?"
    ],
    "meta": {
      "displayDuration": 8000,
      "typingIndicatorDuration": 1500,
      "transitionDelay": 500
    }
  },

  "animations": {
    "entry": {
      "type": "slide_bounce",
      "direction": "from-bottom-right",
      "duration": "400ms",
      "easing": "cubic-bezier(0.68, -0.55, 0.265, 1.55)",
      "properties": {
        "opacity": "0 → 1",
        "transform": "translateY(20px) → translateY(0)"
      }
    },
    "idle": {
      "type": "gentle_float",
      "duration": "3s",
      "iteration": "infinite",
      "easing": "ease-in-out",
      "properties": {
        "transform": "translateY(0) → translateY(-4px) → translateY(0)"
      },
      "trigger": "after 5s of inactivity"
    },
    "notification": {
      "type": "pulse_ring",
      "duration": "2s",
      "iteration": "infinite",
      "properties": {
        "boxShadow": "0 0 0 0 rgba(255, 107, 0, 0.7)",
        "transform": "scale(1)"
      },
      "keyframes": [
        { "boxShadow": "0 0 0 0 rgba(255, 107, 0, 0.7)" },
        { "boxShadow": "0 0 0 12px rgba(255, 107, 0, 0)" },
        { "boxShadow": "0 0 0 0 rgba(255, 107, 0, 0)" }
      ]
    },
    "messageAppear": {
      "type": "fade_slide_up",
      "duration": "300ms",
      "easing": "ease-out",
      "stagger": "50ms between messages"
    },
    "buttonHover": {
      "type": "scale_shadow",
      "duration": "200ms",
      "scale": "1.02",
      "easing": "ease-out"
    },
    "collapseExpand": {
      "type": "height_transition",
      "duration": "300ms",
      "easing": "ease-in-out"
    },
    "loading": {
      "type": "typing_dots",
      "threeDots": true,
      "duration": "1500ms per cycle"
    }
  },

  "typography": {
    "fontFamily": {
      "primary": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
      "monospace": "'JetBrains Mono', 'Fira Code', monospace"
    },
    "fontWeights": {
      "regular": 400,
      "medium": 500,
      "semibold": 600,
      "bold": 700
    },
    "fontSizes": {
      "header": {
        "primary": "18px",
        "secondary": "16px",
        "lineHeight": "1.3"
      },
      "body": {
        "regular": "15px",
        "small": "14px",
        "lineHeight": "1.5"
      },
      "caption": {
        "regular": "12px",
        "small": "11px",
        "lineHeight": "1.4"
      }
    },
    "letterSpacing": {
      "normal": "0",
      "tight": "-0.01em",
      "wide": "0.02em"
    }
  },

  "buttonStyles": {
    "primary": {
      "background": "#FF6B00",
      "backgroundHover": "#E55A00",
      "backgroundActive": "#CC4F00",
      "text": "#FFFFFF",
      "textHover": "#FFFFFF",
      "border": "none",
      "borderRadius": "10px",
      "padding": {
        "vertical": "12px",
        "horizontal": "20px"
      },
      "fontSize": "15px",
      "fontWeight": "600",
      "boxShadow": "0 4px 12px rgba(255, 107, 0, 0.25)",
      "boxShadowHover": "0 6px 16px rgba(255, 107, 0, 0.35)",
      "transition": "all 200ms ease"
    },
    "secondary": {
      "background": "#F5F5F5",
      "backgroundHover": "#EBEBEB",
      "backgroundActive": "#DEDEDE",
      "text": "#1A1A1A",
      "border": "1px solid #E0E0E0",
      "borderRadius": "10px",
      "padding": {
        "vertical": "12px",
        "horizontal": "20px"
      },
      "fontSize": "15px",
      "fontWeight": "500"
    },
    "quickReply": {
      "background": "#1A1A1A",
      "backgroundHover": "#333333",
      "text": "#FFFFFF",
      "border": "none",
      "borderRadius": "20px",
      "padding": {
        "vertical": "10px",
        "horizontal": "16px"
      },
      "fontSize": "14px",
      "fontWeight": "500"
    },
    "icon": {
      "background": "transparent",
      "backgroundHover": "rgba(26, 26, 26, 0.08)",
      "iconColor": "#1A1A1A",
      "iconColorHover": "#FF6B00",
      "borderRadius": "50%",
      "size": "40px"
    },
    "ctaBanner": {
      "background": "linear-gradient(135deg, #1A1A1A 0%, #333333 100%)",
      "text": "#FFFFFF",
      "borderRadius": "12px",
      "padding": "16px",
      "fontSize": "14px"
    }
  },

  "darkModeVariant": {
    "enabled": true,
    "trigger": "system_preference",
    "overrideOption": true,
    "styles": {
      "widget": {
        "background": "#2D2D2D",
        "headerBackground": "#1A1A1A",
        "footerBackground": "#1A1A1A",
        "borderColor": "#404040"
      },
      "text": {
        "primary": "#FFFFFF",
        "secondary": "#B0B0B0",
        "muted": "#808080"
      },
      "buttons": {
        "primary": {
          "background": "#FF6B00",
          "backgroundHover": "#FF7A1A",
          "text": "#FFFFFF"
        },
        "secondary": {
          "background": "#3A3A3A",
          "backgroundHover": "#454545",
          "text": "#FFFFFF",
          "borderColor": "#505050"
        },
        "quickReply": {
          "background": "#404040",
          "backgroundHover": "#4A4A4A",
          "text": "#FFFFFF"
        }
      },
      "input": {
        "background": "#3A3A3A",
        "borderColor": "#505050",
        "text": "#FFFFFF",
        "placeholder": "#808080"
      },
      "messages": {
        "userBubble": {
          "background": "#FF6B00",
          "text": "#FFFFFF"
        },
        "botBubble": {
          "background": "#3A3A3A",
          "text": "#FFFFFF"
        }
      }
    },
    "icons": {
      "chat": "brightness(0) invert(1)",
      "close": "brightness(0) invert(1)",
      "send": "brightness(0) invert(1)"
    }
  },

  "industrySpecificElements": {
    "demolitionContractor": {
      "serviceCategories": [
        "House demolition",
        "Commercial demolition",
        "Concrete removal",
        "Site clearing",
        "Rubbish removal",
        "Excavation & bobcat work",
        "Asbestos removal",
        "Pool demolition"
      ],
      "commonQueries": [
        "How much does house demolition cost?",
        "Do I need a permit for demolition?",
        "How long does demolition take?",
        "What's included in the quote?",
        "Do you handle asbestos removal?",
        "Can you do partial demolition?",
        "What happens to the rubble?",
        "Do you service my area?"
      ],
      "brandingOpportunities": {
        "accentPatterns": [
          "caution_tape_stripe",
          "diagonal_stripes",
          "hazard_pattern_subtle"
        ],
        "iconography": [
          "hard_hat",
          "excavator",
          "wrecking_ball",
          "bobcat",
          "tip_truck",
          "skips_bin"
        ],
        "seasonalThemes": {
          "summer": "Lighter orange, more outdoor imagery",
          "winter": "Darker tones, indoor work emphasis"
        }
      },
      "localisedContent": {
        "australianTerms": {
          "demolition": "demolition / strip-out",
          "quote": "quote / quote-up",
          "rubbish": "rubbish / waste / debris",
          "site": "site / job site / block",
          "excavator": "excavator / bobcat / digger"
        },
        "typicalAreas": [
          "Sydney metro",
          "Melbourne suburbs",
          "Brisbane north side",
          "Perth western suburbs",
          "Adelaide inner suburbs"
        ],
        "commonQuestions": [
          "Do I need council approval?",
          "Are you licensed and insured?",
          "What's your availability?",
          "Can you start next week?"
        ]
      },
      "trustIndicators": {
        "showLicenceNumber": true,
        "showInsurance": true,
        "showMemberOf": [
          "Master Builders Association",
          "Housing Industry Association"
        ],
        "