/* Landing copy — EN / PL */
/* global window */

window.LANDING_COPY = {
  en: {
    nav: {
      product: 'Product',
      howItWorks: 'How it works',
      forOps: 'For operators',
      forInv: 'For investors',
      login: 'Log in',
      demo: 'Book demo',
    },
    hero: {
      eyebrow: 'Revenue intelligence for European rail',
      title: ['Every seat. Every kilometre.', 'Priced like it ', 'matters', '.'],
      sub: 'Rubin is a revenue management platform for passenger rail. We turn booking data, competitor pricing, and demand signals into pricing decisions — per train, per day, per fare class.',
      primary: 'Book a demo',
      secondary: 'See live map',
      note: 'Live pilot · 2 carriers · PL+CZ',
    },
    ticker: [
      { k: 'WAW → KRK', v: 'Load factor', n: '82.4%', d: '+3.1pp', up: true },
      { k: 'WAW → GDN', v: 'Yield', n: '0.41 zł/pkm', d: '+4.8%', up: true },
      { k: 'KRK → PRG', v: 'Competitor gap', n: '−18 zł', d: 'undercut', up: false },
      { k: 'POZ → WRO', v: 'Forecast var.', n: '±2.2%', d: 'on track', up: true },
      { k: 'WAW → POZ', v: 'Fare class C', n: '14 days lead', d: 'reprice', up: false },
      { k: 'WAW → WRO', v: 'RASK', n: '0.37 zł', d: '+6.1%', up: true },
      { k: 'WRO → BER', v: 'Channel mix', n: '62% direct', d: '+4pp', up: true },
      { k: 'KRK → GDN', v: 'Overbook risk', n: '3 trains', d: 'alert', up: false },
    ],
    problem: {
      label: '01 / The gap',
      title: ['Rail is a ', '€90bn market', ' still priced like a timetable.'],
      sub: "Airlines rebuild their pricing hundreds of times a day. Most rail operators still publish a fare sheet and hope. The gap between what a seat could earn and what it actually earns is not small.",
      cards: [
        { big: ['30', '%'], t: 'Seats that fly empty', d: 'Average European IC load factor. Half the trains leaving tomorrow are underpriced. The other half are overpriced.', src: 'UIC, 2024' },
        { big: ['6', 'x'], t: 'Faster price changes in aviation', d: 'Rail operators reprice on a calendar. Airlines reprice on demand, competitor moves, and weather — in minutes.', src: 'IATA vs. CER benchmark' },
        { big: ['€2.1', 'bn'], t: 'Revenue left on the table', d: 'Our estimate of yield uplift across European open-access carriers if modern RM were deployed on mainline services.', src: 'Rubin internal model' },
      ],
    },
    caps: {
      label: '02 / Product',
      title: ['One control surface for ', 'revenue, capacity, and price', '.'],
      sub: 'Four modules that share the same booking backbone. Built for revenue managers who live in spreadsheets and want to stop.',
      items: [
        {
          num: 'Module 01',
          tag: 'Forecast',
          title: 'Demand forecasting, per train, per fare class',
          desc: 'Booking-curve forecasts that update every hour. See exactly how each departure is pacing versus same-day-of-week, same-season, and your own plan.',
          bullets: [
            'Hour-level refresh on 100% of departures',
            'Per fare-class elasticity model',
            'Weather, events & holiday uplifts built in',
          ],
          viz: 'curve',
        },
        {
          num: 'Module 02',
          tag: 'Price',
          title: 'Dynamic pricing with guardrails you actually trust',
          desc: 'Recommend fares by fare class and date-to-departure. Set floors, ceilings, and competitive rules. Approve in one click — or let it auto-apply within limits you set.',
          bullets: [
            'Rule-based or ML-driven, your choice',
            'What-if simulator on every recommendation',
            'Audit trail for regulators & board',
          ],
          viz: 'pricing',
        },
        {
          num: 'Module 03',
          tag: 'Compete',
          title: 'Competitive intelligence on every corridor',
          desc: 'Scraped and reconciled fares from every open-access competitor, bus operators, and low-cost airlines. Know the price gap before your customer does.',
          bullets: [
            'Koleo · RegioJet · Leo Express · FlixBus · Ryanair',
            'Corridor-level share of capacity',
            'Alerts on price moves > threshold',
          ],
          viz: 'compete',
        },
        {
          num: 'Module 04',
          tag: 'Optimise',
          title: 'Capacity optimisation across the network',
          desc: 'See where your trains run empty and where you turn away revenue. Rebalance rolling stock, add coaches, or re-time slots — with the revenue impact quantified up front.',
          bullets: [
            'O&D matrix across every stop pair',
            'Rolling-stock reassignment simulator',
            'Board-ready capacity reports',
          ],
          viz: 'matrix',
        },
      ],
    },
    how: {
      label: '03 / How it works',
      title: ['From raw ticketing data to ', 'priced departures', ', in under an hour.'],
      cols: [
        { step: 'Step 01 — Connect', t: 'We speak your systems', p: 'Plug into GTFS, your PSS, payment gateway, and channel partners. No rip-and-replace. Historical import in days, not quarters.', sources: ['GTFS-RT', 'PSS / PAO', 'PCI-compliant channels', 'BI warehouse'] },
        { step: 'Step 02 — Model', t: 'Your demand, your patterns', p: 'We train on two years of your history. Every model is your model — no pooled data, no leakage, no surprise anywhere in the audit log.', sources: ['Per-departure model', 'Competitive signal', 'Weather & events', 'Elasticity priors'] },
        { step: 'Step 03 — Act', t: 'One screen. One decision.', p: 'Revenue managers review recommendations and approve. Or define rules and let Rubin apply them inside the guardrails you set. Every change is logged.', sources: ['Dashboard', 'API', 'Slack / Teams alerts', 'Approval workflow'] },
      ],
    },
    demo: {
      label: '04 / See it live',
      title: ['The same data we price on, ', 'shown to the public', '.'],
      sub: '"Gdzie jest złoty pociąg?" is our public-facing live map — the consumer-friendly surface of the engine that powers Rubin. Every dot is a real train, with a real revenue number behind it.',
      cta: 'Open live dashboard',
      sub2: 'Built from the same GTFS-RT, PSS, and booking feeds that drive our pricing engine. What you see on the map is a 5% slice of what operators see in Rubin.',
    },
    audiences: {
      label: '05 / Who it’s for',
      title: ['Two buyers. ', 'One platform', '.'],
      ops: {
        icon: 'For operators',
        h: 'Revenue managers & commercial directors',
        pitch: 'You are running 2024 trains on 1994 pricing logic. Rubin is the first platform built by ex-airline RM people for the way rail actually works — mandatory reservation or not.',
        bullets: [
          'Deploy on a single corridor in 6 weeks',
          'Proven +4.8% RASK uplift in open-access pilot',
          'Works with mandatory-reservation & open-seating',
          'Polish, Czech, German, English UI',
        ],
        cta: 'Request pilot',
      },
      inv: {
        icon: 'For investors',
        h: 'Infrastructure, mobility & vertical SaaS funds',
        pitch: 'European rail liberalisation is a decade-long tailwind. Every new open-access entrant needs revenue tooling on day one. We want to be the default.',
        bullets: [
          '€90bn addressable market, <2% digitised',
          'Seed round closed Q1 2026 · Series A opening',
          'Team: ex-Amadeus, ex-PKP IC, ex-Uber',
          'Pilot revenue from day 30',
        ],
        cta: 'Request deck',
      },
    },
    metrics: {
      label: '06 / Early numbers',
      title: ['What ', 'the pilot', ' has shown so far.'],
      sub: 'Two carriers, four corridors, six months. Numbers benchmarked against the same operators’ same-corridor performance one year prior.',
      items: [
        { v: ['+4.8', '%'], l: 'RASK uplift', d: 'vs. same corridor, prior year' },
        { v: ['+6.1', 'pp'], l: 'Load factor gain', d: 'on high-demand departures' },
        { v: ['−18', '%'], l: 'Price under-cut events', d: 'caught within 60 seconds' },
        { v: ['2', 'h'], l: 'From sign-off to live', d: 'for a new fare-class rule' },
      ],
    },
    cta: {
      h: ['Ready to stop pricing by spreadsheet?'],
      p: 'We ship pilots in six weeks. We do not do year-long integrations. Tell us which corridor, and we will quote you the revenue upside before the contract is signed.',
      primary: 'Book a 30-min demo',
      secondary: 'hello@rubin.rail',
    },
    footer: {
      copy: '© 2026 Rubin sp. z o.o. · Warszawa · All data shown on this page is illustrative.',
      links: ['Privacy', 'Terms', 'Cookies', 'Contact'],
      hrefs: ['/privacy.html', '/terms.html', '/cookies.html', '/demo.html'],
    },
  },
  pl: {
    nav: {
      product: 'Produkt',
      howItWorks: 'Jak to działa',
      forOps: 'Dla przewoźników',
      forInv: 'Dla inwestorów',
      login: 'Zaloguj',
      demo: 'Umów demo',
    },
    hero: {
      eyebrow: 'Revenue intelligence dla europejskiej kolei',
      title: ['Każde miejsce. Każdy kilometr.', 'Wycenione tak, jakby ', 'miało znaczenie', '.'],
      sub: 'Rubin to platforma zarządzania przychodem dla kolei pasażerskiej. Zamieniamy dane rezerwacyjne, ceny konkurencji i sygnały popytu w decyzje cenowe — dla każdego pociągu, dnia i klasy taryfowej.',
      primary: 'Umów demo',
      secondary: 'Zobacz mapę live',
      note: 'Pilotaż · 2 przewoźników · PL+CZ',
    },
    ticker: [
      { k: 'WAW → KRK', v: 'Obłożenie', n: '82,4%', d: '+3,1pp', up: true },
      { k: 'WAW → GDN', v: 'Yield', n: '0,41 zł/pkm', d: '+4,8%', up: true },
      { k: 'KRK → PRG', v: 'Luka do konkur.', n: '−18 zł', d: 'poniżej', up: false },
      { k: 'POZ → WRO', v: 'Odchyl. progn.', n: '±2,2%', d: 'OK', up: true },
      { k: 'WAW → POZ', v: 'Klasa C', n: '14 dni', d: 'do zmiany', up: false },
      { k: 'WAW → WRO', v: 'RASK', n: '0,37 zł', d: '+6,1%', up: true },
      { k: 'WRO → BER', v: 'Kanały', n: '62% direct', d: '+4pp', up: true },
      { k: 'KRK → GDN', v: 'Overbook', n: '3 pociągi', d: 'alert', up: false },
    ],
    problem: {
      label: '01 / Problem',
      title: ['Kolej to rynek wart ', '90 mld €', ' wyceniany jak rozkład jazdy.'],
      sub: 'Linie lotnicze przeliczają ceny setki razy dziennie. Większość kolei wciąż publikuje cennik i czeka. Różnica między tym, co mogłoby zarobić miejsce, a tym co faktycznie zarabia, nie jest mała.',
      cards: [
        { big: ['30', '%'], t: 'Miejsc jeździ pustych', d: 'Średnie obłożenie pociągów IC w Europie. Połowa pociągów jutro jest za tania. Druga połowa — za droga.', src: 'UIC, 2024' },
        { big: ['6', 'x'], t: 'Szybsze zmiany cen w lotnictwie', d: 'Kolej zmienia ceny według kalendarza. Linie lotnicze — na podstawie popytu, ruchów konkurencji i pogody. W minutach.', src: 'Porównanie IATA / CER' },
        { big: ['2,1', ' mld €'], t: 'Przychód zostawiony na stole', d: 'Nasze oszacowanie wzrostu yieldu u europejskich przewoźników open-access przy wdrożeniu nowoczesnego RM.', src: 'Model Rubin' },
      ],
    },
    caps: {
      label: '02 / Produkt',
      title: ['Jedna powierzchnia dla ', 'przychodu, pojemności i ceny', '.'],
      sub: 'Cztery moduły na jednym fundamencie rezerwacyjnym. Dla revenue managerów, którzy mieszkają w arkuszach i chcą z nich wyjść.',
      items: [
        {
          num: 'Moduł 01',
          tag: 'Prognoza',
          title: 'Prognozowanie popytu, dla każdego pociągu i klasy',
          desc: 'Krzywe booking-pace odświeżane co godzinę. Widzisz dokładnie, jak dany kurs zapełnia się względem tego samego dnia tygodnia, sezonu i Twojego planu.',
          bullets: [
            'Odświeżanie godzinowe dla 100% kursów',
            'Model elastyczności na poziomie klasy',
            'Pogoda, wydarzenia i święta w modelu',
          ],
          viz: 'curve',
        },
        {
          num: 'Moduł 02',
          tag: 'Cena',
          title: 'Dynamic pricing z ograniczeniami, którym ufasz',
          desc: 'Rekomendacje taryf wg klasy i dni do odjazdu. Ustawiasz dolne, górne i konkurencyjne limity. Zatwierdzasz kliknięciem — albo Rubin stosuje je automatycznie w Twoich widełkach.',
          bullets: [
            'Regułowo lub ML — wybierasz',
            'Symulator „co jeśli" przy każdej rekomendacji',
            'Ślad audytowy dla regulatora i zarządu',
          ],
          viz: 'pricing',
        },
        {
          num: 'Moduł 03',
          tag: 'Konkurencja',
          title: 'Wywiad cenowy na każdej relacji',
          desc: 'Zebrane i ujednolicone ceny wszystkich przewoźników open-access, autobusów i tanich linii. Znasz lukę cenową, zanim pozna ją Twój klient.',
          bullets: [
            'Koleo · RegioJet · Leo Express · FlixBus · Ryanair',
            'Udział pojemności na korytarzu',
            'Alerty przy zmianach ceny > próg',
          ],
          viz: 'compete',
        },
        {
          num: 'Moduł 04',
          tag: 'Optymalizacja',
          title: 'Optymalizacja pojemności w sieci',
          desc: 'Widzisz, gdzie pociągi jadą puste i gdzie odprawiasz pasażerów. Przesuwasz tabor, dostawiasz wagony, zmieniasz sloty — z wpływem na przychód policzonym z góry.',
          bullets: [
            'Macierz O&D dla każdej pary stacji',
            'Symulator realokacji taboru',
            'Raporty pojemności gotowe na zarząd',
          ],
          viz: 'matrix',
        },
      ],
    },
    how: {
      label: '03 / Jak to działa',
      title: ['Od surowych danych biletowych do ', 'wycenionych kursów', ', w mniej niż godzinę.'],
      cols: [
        { step: 'Krok 01 — Integracja', t: 'Mówimy Twoimi systemami', p: 'Łączymy się z GTFS, PSS, bramkami płatności i partnerami sprzedażowymi. Bez wymiany systemu. Import historii w dniach, nie kwartałach.', sources: ['GTFS-RT', 'PSS / PAO', 'Kanały PCI', 'Hurtownia BI'] },
        { step: 'Krok 02 — Model', t: 'Twój popyt, Twoje wzorce', p: 'Uczymy model na dwóch latach Twojej historii. Każdy model jest Twój — bez mieszania danych, bez wycieków, wszystko w logu audytowym.', sources: ['Model per-kurs', 'Sygnał konkurencyjny', 'Pogoda i wydarzenia', 'Priors elastyczności'] },
        { step: 'Krok 03 — Działanie', t: 'Jeden ekran. Jedna decyzja.', p: 'Revenue manager przegląda rekomendacje i zatwierdza. Albo definiuje reguły i Rubin działa w Twoich limitach. Każda zmiana w logu.', sources: ['Dashboard', 'API', 'Alerty Slack / Teams', 'Workflow akceptacji'] },
      ],
    },
    demo: {
      label: '04 / Zobacz na żywo',
      title: ['Te same dane, na których wyceniamy, ', 'pokazane publicznie', '.'],
      sub: '„Gdzie jest złoty pociąg?" to nasza publiczna mapa live — konsumencka twarz silnika, który napędza Rubin. Każda kropka to prawdziwy pociąg z prawdziwym przychodem.',
      cta: 'Otwórz dashboard live',
      sub2: 'Zbudowane na tych samych źródłach GTFS-RT, PSS i bookingowych, które zasilają nasz silnik cenowy. Mapa pokazuje 5% tego, co widzą przewoźnicy w Rubin.',
    },
    audiences: {
      label: '05 / Dla kogo',
      title: ['Dwóch odbiorców. ', 'Jedna platforma', '.'],
      ops: {
        icon: 'Dla przewoźników',
        h: 'Revenue managerowie i dyrektorzy handlowi',
        pitch: 'Prowadzisz pociągi z 2024 na logice cenowej z 1994. Rubin to pierwsza platforma zbudowana przez ludzi z RM z lotnictwa dla kolei — z rezerwacją obowiązkową lub bez.',
        bullets: [
          'Wdrożenie na jednej relacji w 6 tygodni',
          'Udokumentowany wzrost RASK o 4,8% w pilotażu',
          'Dla rezerwacji obowiązkowej i wolnych miejsc',
          'Interfejs PL, CZ, DE, EN',
        ],
        cta: 'Zamów pilotaż',
      },
      inv: {
        icon: 'Dla inwestorów',
        h: 'Fundusze infra, mobility i vertical SaaS',
        pitch: 'Liberalizacja europejskiej kolei to trend na dekadę. Każdy nowy przewoźnik open-access potrzebuje narzędzi RM od dnia zero. Chcemy być standardem.',
        bullets: [
          'Rynek 90 mld €, digitalizacja <2%',
          'Seed zamknięty Q1 2026 · otwieramy rundę A',
          'Zespół: ex-Amadeus, ex-PKP IC, ex-Uber',
          'Przychód pilotażowy od dnia 30',
        ],
        cta: 'Poproś o deck',
      },
    },
    metrics: {
      label: '06 / Pierwsze wyniki',
      title: ['Co ', 'pilotaż', ' pokazał do tej pory.'],
      sub: 'Dwóch przewoźników, cztery korytarze, sześć miesięcy. Wyniki odniesione do tych samych relacji rok wcześniej.',
      items: [
        { v: ['+4,8', '%'], l: 'Wzrost RASK', d: 'vs. ta sama relacja, rok wcześniej' },
        { v: ['+6,1', 'pp'], l: 'Wzrost obłożenia', d: 'na kursach szczytowych' },
        { v: ['−18', '%'], l: 'Zdarzeń podcięcia ceny', d: 'wykrytych w 60 sekund' },
        { v: ['2', 'h'], l: 'Od akceptu do produkcji', d: 'dla nowej reguły taryfowej' },
      ],
    },
    cta: {
      h: ['Koniec z wyceną w arkuszu.'],
      p: 'Pilotaże wdrażamy w sześć tygodni. Nie robimy rocznych integracji. Powiedz nam, który korytarz — wycenimy Ci wzrost przychodu przed podpisaniem umowy.',
      primary: 'Umów 30-min demo',
      secondary: 'hello@rubin.rail',
    },
    footer: {
      copy: '© 2026 Rubin sp. z o.o. · Warszawa · Wszystkie dane na tej stronie są poglądowe.',
      links: ['Prywatność', 'Regulamin', 'Pliki cookie', 'Kontakt'],
      hrefs: ['/privacy.html?lang=pl', '/terms.html?lang=pl', '/cookies.html?lang=pl', '/demo.html?lang=pl'],
    },
  },
};
