// ROOM BOOM Vault — mock data
// All consumer components access via window.RBData.*

const SECTIONS = [
  { id: 'welcome', num: '01', label: 'Welcome Hub' },
  { id: 'cockpit', num: '02', label: 'Live-Cockpit' },
  { id: 'karte', num: '03', label: 'Deutschlandkarte' },
  { id: 'partner', num: '04', label: 'Unterkunftsgalerie' },
  { id: 'businesscase', num: '05', label: 'Business Case' },
  { id: 'prozess', num: '06', label: 'Der Prozess' },
  { id: 'team', num: '07', label: 'Das Team' },
  { id: 'aufgaben', num: '08', label: 'Wer macht was?' },
  { id: 'faqs', num: '09', label: 'Ehrliche FAQs' },
  { id: 'downloads', num: '10', label: 'Downloads' },
  { id: 'nextstep', num: '11', label: 'Next Step' },
];

const AUFGABEN = {
  du: {
    label: 'Deine Aufgaben',
    sub: 'Darauf musst du achten',
    icon: 'DU',
    timeNote: '1–2 h / Woche',
    timeContext: 'nach Setup-Phase',
    groups: [
      {
        label: 'Im Aufbau (einmalig)',
        items: [
          'Objekt finden & bewerten',
          'Mietvertrag verhandeln & abschließen',
          'Gewerbeanmeldung',
          'Initiale Renovierung (falls nötig)',
          'Versicherungen abschließen',
        ],
      },
      {
        label: 'Laufend',
        items: [
          'Lokales Reinigungsteam beauftragen & bezahlen',
          'Bettensteuer & lokale Abgaben',
          'Vermieter-Beziehung pflegen',
          'Buchhaltung & Steuerberatung',
          'Strategische Entscheidungen für dein Objekt',
          'Wöchentlicher Ops-Call mit deinem Account-Manager',
        ],
      },
    ],
  },
  wir: {
    label: 'Unsere Aufgaben',
    sub: 'Was ROOM BOOM für dich übernimmt',
    icon: 'WIR',
    timeNote: '40+ h / Woche',
    timeContext: 'pro Objekt im Netzwerk',
    groups: [
      {
        label: 'Im Aufbau (Phase 1–3)',
        items: [
          'Objekt-Akquise-Unterstützung (Ciara)',
          'Vertragsverhandlung mit Vermieter begleiten',
          'Interior-Konzept & Vor-Ort-Setup (Celine)',
          'Foto-Shooting & Listing-Texte',
          'Pricing-Setup & Marktanalyse',
          'Onboarding 1:1 mit Nils',
        ],
      },
      {
        label: 'Laufend',
        items: [
          'Markenführung & Marketing',
          'Listing-Vertrieb (Airbnb, Booking, Direct)',
          'Dynamisches Pricing & Revenue Management',
          'Tech-Stack (Guesty, Channel Manager, Tools)',
          'Gäste-Kommunikation 24/7 (Afeta-Team)',
          'Reinigungsteam-Koordination',
          'Beschwerde- & Damage-Management',
          'Monatliche Reportings für dich',
          'Slack-Support 24/7',
          'Anwalts- & Steuerberater-Netzwerk',
          'Tech-Updates & Maintenance',
        ],
      },
    ],
  },
};

const COCKPIT = [
  { label: 'Aktive Franchise-Partner', value: 14, suffix: '', sub: 'im ROOM BOOM Netzwerk' },
  { label: 'Unterkünfte im Netzwerk', value: 18, suffix: '', sub: 'live & buchbar' },
  { label: 'Buchungen YTD', value: 1247, suffix: '', sub: 'Stand: heute' },
  { label: 'Gäste empfangen', value: 18459, suffix: '', sub: 'seit Gründung 2022' },
];

// 18 properties — same dataset powers map pins + gallery
const PROPERTIES = [
  { id: 1,  name: 'HafenCity Loft',        type: 'Loft',         city: 'Hamburg',       region: 'Hamburg',                bundesland: 'HH', lat: 53.5414, lng: 10.0090, capacity: 16, since: 'Jan 2023', months: 28, occupancy: 82, adr: 92, palette: 0, tags: ['Elbblick', 'Dachterrasse', '4 Bäder'] },
  { id: 2,  name: 'Mitte Townhouse',       type: 'Townhouse',    city: 'Berlin',        region: 'Berlin-Mitte',           bundesland: 'BE', lat: 52.5200, lng: 13.4050, capacity: 24, since: 'Jul 2024', months: 22, occupancy: 76, adr: 88, palette: 1, tags: ['3 Stockwerke', '6 Bäder', 'Innenhof'] },
  { id: 3,  name: 'München-Süd Villa',     type: 'Villa',        city: 'München',       region: 'München-Süd',            bundesland: 'BY', lat: 48.1000, lng: 11.5800, capacity: 22, since: 'Sep 2022', months: 32, occupancy: 84, adr: 105, palette: 2, tags: ['Großer Garten', 'Sauna', 'Outdoor-Pool'] },
  { id: 4,  name: 'Schwabing Stadthaus',   type: 'Stadthaus',    city: 'München',       region: 'München-Nord',           bundesland: 'BY', lat: 48.2000, lng: 11.5800, capacity: 18, since: 'Mär 2025', months: 14, occupancy: 71, adr: 95, palette: 3, tags: ['Altbau', 'Designer-Interior', '5 Bäder'] },
  { id: 5,  name: 'Altstadt Köln',         type: 'Stadthaus',    city: 'Köln',          region: 'Köln-Süd',               bundesland: 'NW', lat: 50.9300, lng:  6.9600, capacity: 20, since: 'Jul 2023', months: 26, occupancy: 78, adr: 82, palette: 0, tags: ['Domnähe', '4 Schlafzimmer', 'Dachterrasse'] },
  { id: 6,  name: 'Düsseldorf-West Loft',  type: 'Loft',         city: 'Düsseldorf',    region: 'NRW-West',               bundesland: 'NW', lat: 51.2200, lng:  6.7800, capacity: 14, since: 'Nov 2024', months: 18, occupancy: 68, adr: 78, palette: 1, tags: ['Industrial', 'Riesige Fenster', 'Voll-Kueche'] },
  { id: 7,  name: 'Sauerland Lodge',       type: 'Lodge',        city: 'Sauerland',     region: 'Hochsauerland',          bundesland: 'NW', lat: 51.2000, lng:  8.5000, capacity: 28, since: 'Mai 2025', months: 10, occupancy: 64, adr: 72, palette: 2, tags: ['Sauna', 'Kamin', 'Ski-in/Ski-out'] },
  { id: 8,  name: 'Leipzig Kontor',        type: 'Loft',         city: 'Leipzig',       region: 'Sachsen',                bundesland: 'SN', lat: 51.3400, lng: 12.3700, capacity: 18, since: 'Jan 2025', months: 16, occupancy: 73, adr: 75, palette: 3, tags: ['Backstein', 'Galerie', '5 Schlafzimmer'] },
  { id: 9,  name: 'Elbtal Hideaway',       type: 'Ferienhaus',   city: 'Dresden',       region: 'Sächsische Schweiz',     bundesland: 'SN', lat: 51.0500, lng: 13.7400, capacity: 22, since: 'Mai 2025', months: 12, occupancy: 76, adr: 80, palette: 0, tags: ['Wandern', 'Großer Garten', 'Whirlpool'] },
  { id: 10, name: 'Frankfurt Riverview',   type: 'Apartment',    city: 'Frankfurt',     region: 'Rhein-Main',             bundesland: 'HE', lat: 50.1100, lng:  8.6800, capacity: 16, since: 'Nov 2023', months: 30, occupancy: 85, adr: 98, palette: 1, tags: ['Skyline-Blick', '3 Bäder', 'Concierge'] },
  { id: 11, name: 'Stuttgart Mitte Loft',  type: 'Loft',         city: 'Stuttgart',     region: 'Bawü-Mitte',             bundesland: 'BW', lat: 48.7800, lng:  9.1700, capacity: 20, since: 'Sep 2024', months: 20, occupancy: 74, adr: 85, palette: 2, tags: ['Modern', 'Dachterrasse', '6 Bäder'] },
  { id: 12, name: 'Schwarzwald Berghaus',  type: 'Berghütte',    city: 'Schwarzwald',   region: 'Südschwarzwald',         bundesland: 'BW', lat: 47.9900, lng:  7.8500, capacity: 26, since: 'Sep 2025', months:  8, occupancy: 62, adr: 76, palette: 3, tags: ['Holz-Sauna', 'Outdoor-Hot-Tub', 'Wandergebiet'] },
  { id: 13, name: 'Bodensee Strandhaus',   type: 'Strandhaus',   city: 'Lindau',        region: 'Bodensee',               bundesland: 'BY', lat: 47.5500, lng:  9.6900, capacity: 18, since: 'Nov 2024', months: 18, occupancy: 79, adr: 95, palette: 0, tags: ['Seeblick', 'Privater Steg', 'SUP-Boards'] },
  { id: 14, name: 'Rügen Strandvilla',     type: 'Strandvilla',  city: 'Rügen',         region: 'Ostsee · Rügen',         bundesland: 'MV', lat: 54.4500, lng: 13.5000, capacity: 30, since: 'Mär 2025', months: 14, occupancy: 81, adr: 102, palette: 1, tags: ['200m zum Strand', '8 Schlafzimmer', 'Sauna'] },
  { id: 15, name: 'Holstein Cottage',      type: 'Cottage',      city: 'Lübeck',        region: 'Holsteinische Schweiz',  bundesland: 'SH', lat: 54.1600, lng: 10.4200, capacity: 18, since: 'Mai 2024', months: 24, occupancy: 70, adr: 78, palette: 2, tags: ['Reet-Dach', 'Pferdestall', 'Seezugang'] },
  { id: 16, name: 'Bremen Stadtgut',       type: 'Stadthaus',    city: 'Bremen',        region: 'Bremen',                 bundesland: 'HB', lat: 53.0800, lng:  8.8000, capacity: 14, since: 'Jul 2025', months: 10, occupancy: 66, adr: 74, palette: 3, tags: ['Villenviertel', '4 Schlafzimmer', 'Garten'] },
  { id: 17, name: 'Hannover Mitte',        type: 'Apartments',   city: 'Hannover',      region: 'Niedersachsen-Mitte',    bundesland: 'NI', lat: 52.3700, lng:  9.7400, capacity: 16, since: 'Nov 2023', months: 22, occupancy: 72, adr: 78, palette: 0, tags: ['Zentrumsnah', 'Messe-Lage', 'Parking'] },
  { id: 18, name: 'Harz Berghaus',         type: 'Berghaus',     city: 'Harz',          region: 'Sachsen-Anhalt',         bundesland: 'ST', lat: 51.8400, lng: 10.7900, capacity: 24, since: 'Mai 2025', months: 12, occupancy: 68, adr: 80, palette: 1, tags: ['Brocken-Blick', 'Kamin', 'Wandern'] },
];

const PROPERTY_TYPES = [
  { id: 'all', label: 'Alle Typen' },
  { id: 'Loft', label: 'Lofts' },
  { id: 'Villa', label: 'Villen' },
  { id: 'Stadthaus', label: 'Stadthäuser' },
  { id: 'Townhouse', label: 'Townhouses' },
  { id: 'Lodge', label: 'Lodges' },
  { id: 'Berghütte', label: 'Berghütten' },
  { id: 'Strandvilla', label: 'Strand & See' },
  { id: 'Strandhaus', label: 'Strand & See' },
  { id: 'Ferienhaus', label: 'Ferienhäuser' },
  { id: 'Apartment', label: 'Apartments' },
  { id: 'Apartments', label: 'Apartments' },
  { id: 'Cottage', label: 'Cottages' },
  { id: 'Berghaus', label: 'Berghäuser' },
];

const PROPERTY_FILTERS = [
  { id: 'all', label: 'Alle' },
  { id: 'city', label: 'Stadt' },        // Loft, Townhouse, Stadthaus, Apartments, Apartment
  { id: 'nature', label: 'Natur' },      // Lodge, Berghütte, Berghaus, Ferienhaus
  { id: 'water', label: 'Strand & See' }, // Strandvilla, Strandhaus, Cottage
];

const FILTER_TYPES = {
  city: ['Loft', 'Townhouse', 'Stadthaus', 'Apartment', 'Apartments'],
  nature: ['Lodge', 'Berghütte', 'Berghaus', 'Ferienhaus', 'Villa'],
  water: ['Strandvilla', 'Strandhaus', 'Cottage'],
};

// Region availability for the "Ist deine Region frei?" tool
const REGION_AVAILABILITY = {
  'Baden-Württemberg': { status: 'green', label: 'Region frei — ideal für dich' },
  'Bayern': { status: 'yellow', label: 'Begrenzte Plätze verfügbar' },
  'Berlin': { status: 'red', label: 'Region voll — sprich mit Nils über Alternativen' },
  'Brandenburg': { status: 'green', label: 'Region frei — ideal für dich' },
  'Bremen': { status: 'green', label: 'Region frei — ideal für dich' },
  'Hamburg': { status: 'red', label: 'Region voll — sprich mit Nils über Alternativen' },
  'Hessen': { status: 'yellow', label: 'Begrenzte Plätze verfügbar' },
  'Mecklenburg-Vorpommern': { status: 'green', label: 'Region frei — ideal für dich' },
  'Niedersachsen': { status: 'green', label: 'Region frei — ideal für dich' },
  'Nordrhein-Westfalen': { status: 'yellow', label: 'Begrenzte Plätze verfügbar' },
  'Rheinland-Pfalz': { status: 'green', label: 'Region frei — ideal für dich' },
  'Saarland': { status: 'green', label: 'Region frei — ideal für dich' },
  'Sachsen': { status: 'yellow', label: 'Begrenzte Plätze verfügbar' },
  'Sachsen-Anhalt': { status: 'green', label: 'Region frei — ideal für dich' },
  'Schleswig-Holstein': { status: 'yellow', label: 'Begrenzte Plätze verfügbar' },
  'Thüringen': { status: 'green', label: 'Region frei — ideal für dich' },
};

// 6-phase process
const PHASES = [
  { num: '00', title: 'Kennenlernen', duration: '1–2 Wochen', short: 'Calls, Vault, NDA, Vertragsprüfung', contact: 'Nils', details: [
    'Erstcall mit Nils (30 Min)',
    'NDA-Unterzeichnung',
    'Vault-Zugang & Selbststudium',
    'Zweitgespräch mit allen offenen Fragen',
    'Vertragsentwurf zur Prüfung',
  ] },
  { num: '01', title: 'Vertrag & Onboarding-Start', duration: 'Tag 0–7', short: 'Unterschrift, Kickoff, Tool-Zugänge', contact: 'Nils', details: [
    'Vertragsunterzeichnung',
    'Entry Fee überwiesen',
    'Kickoff-Call mit Maurice & Nils',
    'Zugänge zu Slack, Guesty, Notion',
    'Onboarding-Plan für 90 Tage',
  ] },
  { num: '02', title: 'Objektsuche & Setup', duration: 'Woche 2–8', short: 'Ciara findet, du bewertest, du signierst Mietvertrag', contact: 'Ciara', details: [
    'Akquise-Briefing mit Ciara',
    'Objekt-Pipeline aus Ciara-Netzwerk',
    'Bewertungs-Calls je Objekt',
    'Verhandlung mit Vermieter (Ciara begleitet)',
    'Du unterschreibst Mietvertrag',
  ] },
  { num: '03', title: 'Einrichtung & Soft-Launch', duration: 'Woche 8–12', short: 'Celine richtet ein, Listing geht online', contact: 'Celine', details: [
    'Interior-Plan von Celine',
    'Möbel- und Material-Sourcing',
    'Aufbau vor Ort (Celine vor Ort)',
    'Foto-Shoot der Unterkunft',
    'Listing geht in Guesty live',
  ] },
  { num: '04', title: 'Go-Live & erste Buchungen', duration: 'Woche 12+', short: 'Erster Gast, Operations laufen', contact: 'Afeta', details: [
    'Erste Buchungen kommen rein',
    'Reinigungsteam vor Ort lokal',
    'Operations über Guesty-Inbox',
    'Erste Pricing-Optimierung',
    'Wöchentliche Operations-Calls',
  ] },
  { num: '05', title: 'Skalierung & 2. Objekt', duration: 'Monat 6+', short: 'Du wächst, wir wachsen', contact: 'Maurice', details: [
    'Performance-Review nach 6 Monaten',
    'Erweiterungs-Strategie mit Maurice',
    'Akquise zweites Objekt',
    'Reduzierter Onboarding-Zyklus für #2',
    'Skalierung Operations',
  ] },
];

// Team
const TEAM = [
  { name: 'Maurice Schoenewolf', role: 'Founder & CEO', short: 'Strategie, Vision, Partner-Beziehung', bio: 'Maurice hat ROOM BOOM 2022 gegründet, nachdem er drei Jahre lang eigene Gruppenunterkünfte betrieben hatte. Er ist primär für die strategische Ausrichtung und die Beziehung zu allen Partnern verantwortlich.', meet: 'Im Erstcall und im 6-Monats-Review.', skills: ['Strategie', 'Sales', 'Partner-Beziehungen'], initials: 'MS', highlight: false },
  { name: 'Sascha Hildebrand', role: 'Co-Founder', short: 'Immobilien, Finanzen, Skalierung', bio: 'Sascha kommt aus dem Immobilien-Investment, war 11 Jahre in der Branche. Er verantwortet die Finanzen und die operative Skalierung des Netzwerks.', meet: 'Bei Finanzthemen und 12-Monats-Review.', skills: ['Finance', 'Real Estate', 'Skalierung'], initials: 'SH', highlight: false },
  { name: 'Nils', role: 'Onboarding & Key Account', short: 'Dein Ansprechpartner ab Tag 1', bio: 'Nils ist seit 2023 bei ROOM BOOM und betreut alle neuen Partner durch die ersten 12 Monate. Er ist deine erste Anlaufstelle für alles — Fragen, Probleme, Eskalationen.', meet: 'Ab Vertragsunterschrift in jedem wöchentlichen Onboarding-Call. Danach 2x pro Monat.', skills: ['Onboarding', 'Account Management', 'Partner Success'], initials: 'N', highlight: true },
  { name: 'Ciara', role: 'Objektakquise', short: 'Findet & prüft die Objekte für dich', bio: 'Ciara baut seit 18 Monaten das Akquise-Netzwerk auf. Sie kennt jeden relevanten Off-Market-Deal in DACH und prüft Objekte auf ROOM-BOOM-Tauglichkeit.', meet: 'In Phase 2 — Objektsuche.', skills: ['Akquise', 'Verhandlung', 'Off-Market'], initials: 'C', highlight: false },
  { name: 'Celine', role: 'Interior & Setup', short: 'Macht aus deinem Objekt eine ROOM BOOM Unterkunft', bio: 'Celine ist Innenarchitektin und sorgt dafür, dass jede Unterkunft den gleichen Premium-Standard hat. Sie kommt vor Ort und plant alles bis zur Steckdose.', meet: 'In Phase 3 — Einrichtung & Soft-Launch.', skills: ['Interior', 'Sourcing', 'Vor-Ort-Setup'], initials: 'C', highlight: false },
  { name: 'Afeta', role: 'Operations', short: 'Sorgt dafür, dass der Laden läuft', bio: 'Afeta verantwortet alle laufenden Operations — von Gäste-Kommunikation bis Reinigungsteam-Koordination. Sie ist der Grund, warum Partner nur 1–2h die Woche brauchen.', meet: 'Ab Go-Live in jedem wöchentlichen Operations-Call.', skills: ['Operations', 'Gäste-Support', 'Koordination'], initials: 'A', highlight: false },
  { name: 'Dennis', role: 'Tech & Systeme', short: 'Hält Guesty, Tools & Tech am Laufen', bio: 'Dennis ist seit Tag 0 dabei und kümmert sich um den gesamten Tech-Stack — Guesty, Pricing-Tools, Reportings, Integrationen. Du musst keine Tools selbst administrieren.', meet: 'Selten — aber wenn du ihn brauchst, ist er da.', skills: ['Tech', 'Automation', 'Reporting'], initials: 'D', highlight: false },
];

// FAQs — 26 honest questions across 5 categories
const FAQS = {
  'money': {
    label: 'Geld & Investment',
    icon: '💸',
    items: [
      { q: 'Was ist wenn ich die 50k nicht auf einmal zahlen kann?', a: 'Wir machen Ratenmodelle. 20k zur Vertragsunterschrift, der Rest in 6 Raten über 12 Monate. Klingt fair, weil es so ist — wir wollen die richtigen Partner, nicht nur die mit voller Kasse.' },
      { q: 'Wann bin ich frühestens profitabel?', a: 'Monatlich positiv: ab Monat 4 nach Go-Live. Entry Fee komplett amortisiert: 14–22 Monate. Wer schneller will, lügt. Wer langsamer braucht, hat ein falsches Objekt.' },
      { q: 'Was passiert wenn ich ein schlechtes Jahr habe — muss ich trotzdem 20% zahlen?', a: 'Ja, die 20% sind auf Umsatz, nicht auf Gewinn. Wenn dein Jahr schlecht ist, ist unser Jahr auch schlechter — wir haben dasselbe Interesse. Wenn es nach 18 Monaten strukturell nicht funktioniert, schauen wir gemeinsam ehrlich.' },
      { q: 'Welche versteckten Kosten kommen auf mich zu?', a: 'Keine versteckten. Sichtbare: Miete/Pacht, Strom/Wasser/Internet, Versicherung, Reinigungspersonal (über uns vermittelt, aber du zahlst), GEZ, Steuerberater. Alles im Businessplan v2 transparent gelistet.' },
      { q: 'Was ist mit Renovierungskosten am Objekt?', a: 'Das ist deine Sache. Wir suchen mit Ciara Objekte, die wenig brauchen. Im Schnitt zwischen 0 und 15.000 € initial. Größere Sanierungen würden wir auf Vermieter-Seite verhandeln.' },
      { q: 'Kann ich die 50k steuerlich absetzen?', a: 'Ja — als Betriebsausgabe über 5 Jahre. Frag deinen Steuerberater. Wir haben Standard-Templates für die Buchung und können dir 2 spezialisierte Steuerberater empfehlen.' },
    ],
  },
  'object': {
    label: 'Objekt & Setup',
    icon: '🏠',
    items: [
      { q: 'Was wenn ich kein passendes Objekt finde?', a: 'Das ist selten. Ciara hat im Schnitt 3–5 Vorschläge in den ersten 4 Wochen. Wenn nach 90 Tagen wirklich nichts passt, pausieren wir und du bekommst 70% der Entry Fee zurück. Stand 2025 noch nie vorgekommen.' },
      { q: 'Muss ich das Objekt kaufen oder reicht Miete?', a: 'Miete reicht. Tatsächlich bevorzugen wir Miete — du bist beweglicher, und der Hebel auf dein eingesetztes Kapital ist höher. Kauf ist für später, wenn du das Modell kennst.' },
      { q: 'Was wenn der Vermieter Stress macht?', a: 'Ciara verhandelt deinen Mietvertrag mit. Wir kennen die Standard-Fallen (Lärmschutz, Untervermietungsverbot, Gewerbe-Klausel). Wenn nachträglich Stress kommt: wir haben eine Anwalts-Kanzlei mit Spezialisierung.' },
      { q: 'Wer haftet bei Schäden?', a: 'Du als Betreiber. Aber: Du brauchst eine Betriebshaftpflicht (~600 €/Jahr), die wir vermitteln. Damage Deposit von Gästen läuft über Guesty automatisch. Im Schnitt zahlt ein Partner 2x pro Jahr aus eigener Tasche für Reparaturen.' },
      { q: 'Kann ich mein bestehendes Objekt umwandeln?', a: 'Ja — wenn es passt. Sandra (Bodensee) und Katrin (Dresden) haben genau das gemacht. Voraussetzung: Größe ab 10 Gäste-Kapazität, Lage stimmt, Zustand grundsätzlich tauglich. Wir checken vorab.' },
    ],
  },
  'contract': {
    label: 'Vertrag & Exit',
    icon: '🤝',
    items: [
      { q: 'Wie lange läuft der Vertrag?', a: '5 Jahre Initiallaufzeit, danach Verlängerung in 2-Jahres-Schritten. Du kannst nach 12 Monaten mit 6 Monaten Frist aussteigen. Wir sind nicht auf der Suche nach Geiseln.' },
      { q: 'Was wenn ich nach 1 Jahr aussteigen will?', a: '12 Monate Mindestlaufzeit. Danach 6 Monate Kündigungsfrist. Entry Fee wird anteilig zurückerstattet, wenn der Ausstiegsgrund nicht in deiner Sphäre liegt (z.B. Erkrankung). Wir sind hier fair, nicht hart.' },
      { q: 'Was wenn ich an einen Dritten verkaufen will?', a: 'Möglich. Wir haben Vorkaufsrecht zum Marktpreis. Wenn wir nicht kaufen, kannst du frei verkaufen — der Käufer muss den Franchise-Vertrag übernehmen. Bereits 2x in 2024 passiert.' },
      { q: 'Was passiert wenn ROOM BOOM pleite geht?', a: 'Du behältst Objekt, Mietvertrag, Gäste-Pipeline, Daten. Die Marke verlierst du. Operations müsstest du selbst übernehmen oder zu einer anderen Plattform wechseln. Liquiditätsreserven sind 18 Monate Operations.' },
      { q: 'Habt ihr schon Partner verloren? Warum?', a: 'Ja — 2 von 16. Einer wollte zurück in die Festanstellung (Lebensumstände). Einer wollte sein Objekt verkaufen statt vermieten. Beide sind in gutem Verhältnis ausgestiegen. Frag Nils für Kontaktdaten, beide sprechen offen darüber.' },
      { q: 'Was ist im Vertrag versteckt, das ich kennen sollte?', a: 'Nichts. Wir haben den Vertrag absichtlich auf 14 Seiten Klartext gehalten. Wichtigste Klausel: Wettbewerbsverbot für ähnliche Konzepte während Laufzeit. Lies ihn vor Unterschrift — wir empfehlen sogar einen Anwalt drüberschauen zu lassen.' },
    ],
  },
  'ops': {
    label: 'Operations & Alltag',
    icon: '⚙️',
    items: [
      { q: 'Wie viel Zeit muss ich wirklich investieren?', a: 'Setup-Phase (Monat 1–3): 8–10h/Woche. Steady-State danach: 1–2h/Woche. Die meiste Zeit geht in 1 wöchentlichen Ops-Call und gelegentliche Vor-Ort-Termine.' },
      { q: 'Was wenn ein Gast randaliert?', a: 'Damage Deposit + Versicherung + Guesty Trust & Safety. Im Schnitt 1 Incident pro 80 Buchungen. Afeta managed das vom Hauptquartier. Polizei-Anrufe gabs in 2 Jahren ROOM BOOM 3x — wurden alle gelöst.' },
      { q: 'Wer kümmert sich um Reinigung?', a: 'Lokales Reinigungsteam, das wir vermitteln. Du als Partner stellst sicher, dass der Vertrag läuft und du zahlst. Koordination läuft über Guesty automatisch. Du machst nicht selbst sauber.' },
      { q: 'Was wenn ich in den Urlaub will?', a: 'Du bist nicht im operativen Betrieb. Afeta und das Team können 4 Wochen ohne dich. Urlaub erlaubt — kein Witz. Maurice ist 6 Wochen im Jahr weg.' },
      { q: 'Brauche ich ein Gewerbe?', a: 'Ja — Einzelunternehmen oder GmbH/UG. Wir empfehlen GmbH ab 2 Objekten, davor reicht Einzelunternehmen. Du gründest selbst, wir helfen mit Templates und Steuerberater-Empfehlung.' },
    ],
  },
  'strategy': {
    label: 'Strategie & Wachstum',
    icon: '🎯',
    items: [
      { q: 'Wann lohnt sich ein 2. Objekt?', a: 'Wenn das erste 6 Monate stabil über Plan läuft. Reduziertes Onboarding für #2 (50% Entry Fee, da du das System schon kennst). Aktuell 4 Partner mit 2 Objekten.' },
      { q: 'Kann ich Mitarbeiter einstellen?', a: 'Ja, ab 3 Objekten macht es Sinn (lokaler Site-Manager). Wir helfen bei Stellenbeschreibung und Onboarding. Bei 1–2 Objekten brauchst du keinen.' },
      { q: 'Was ist eure 5-Jahres-Vision?', a: '120 Partner in DACH bis Ende 2030. Internationalisierung AT/CH ab 2027. Eigenes Tech-Layer statt Guesty ab 2028. Keine Investoren-Runde geplant — wir wachsen aus Cashflow.' },
      { q: 'Was unterscheidet euch von [Konkurrenten]?', a: 'Drei Sachen: 1) Wir nehmen 20%, nicht 30–40% wie andere Premium-Franchises. 2) Wir haben echte Partner-Zahlen, die du prüfen kannst. 3) Wir sagen Nein zu Partnern, die nicht passen — andere nehmen jeden mit Cash.' },
    ],
  },
};

// Downloads
const DOWNLOADS = [
  { title: 'Businessplan v2', desc: 'Die schlanke Version. 25 Seiten statt 88.', pages: 25, size: '5 MB' },
  { title: 'Mustervertrag', desc: 'Zum Vorabstudium. Inkl. aller Anlagen.', pages: 14, size: '2 MB' },
  { title: 'FAQ-Kompendium', desc: 'Alle 26 Fragen als PDF zum Drucken.', pages: 18, size: '1 MB' },
  { title: 'Beispiel-Monatsreporting', desc: 'Was du jeden Monat von uns bekommst (anonymisiert).', pages: 12, size: '3 MB' },
  { title: 'Pressespiegel & Social Proof', desc: 'Reichweite, Erwähnungen, Awards.', pages: 22, size: '4 MB' },
];

const BUNDESLAENDER = [
  'Baden-Württemberg', 'Bayern', 'Berlin', 'Brandenburg', 'Bremen',
  'Hamburg', 'Hessen', 'Mecklenburg-Vorpommern', 'Niedersachsen',
  'Nordrhein-Westfalen', 'Rheinland-Pfalz', 'Saarland', 'Sachsen',
  'Sachsen-Anhalt', 'Schleswig-Holstein', 'Thüringen',
];

// Bundesland heat intensity (count of properties)
const BUNDESLAND_HEAT = (() => {
  const counts = {};
  PROPERTIES.forEach(p => { counts[p.bundesland] = (counts[p.bundesland] || 0) + 1; });
  const max = Math.max(...Object.values(counts));
  const heat = {};
  ['SH','HH','MV','NI','HB','BB','BE','ST','NW','HE','TH','SN','RP','SL','BW','BY'].forEach(code => {
    heat[code] = (counts[code] || 0) / max;
  });
  return heat;
})();

window.RBData = {
  SECTIONS, COCKPIT, PROPERTIES, PROPERTY_TYPES, PROPERTY_FILTERS, FILTER_TYPES,
  REGION_AVAILABILITY, PHASES, TEAM, AUFGABEN, FAQS, DOWNLOADS,
  BUNDESLAENDER, BUNDESLAND_HEAT,
};
