/* ============================================================ Product (cPanel Hosting), Locations, Contact, Docs, Legal pages ============================================================ */ const { useState: useStateX } = React; /* ---------- Hosting product page ---------- */ function HostingPage() { return (
cPanel shared hosting · LiteSpeed · NVMe

The control panel you
know. Faster than ever.

cPanel hosting on LiteSpeed Web Server and pure NVMe storage. Unlimited disk, unlimited bandwidth, free SSL, free migration — and a support team that actually answers.

See pricing
{/* What's included */}
{[ { t: "LiteSpeed + LSCache", b: "Up to 9× faster than Apache for dynamic PHP. Built-in page cache no plugin can match." }, { t: "Pure NVMe storage", b: "No spinning disks, no SATA SSDs — every plan on enterprise NVMe with RAID-10 redundancy." }, { t: "Softaculous 280+ apps", b: "One-click WordPress, Magento, Joomla, Drupal, Ghost, and more. Updates handled for you." }, { t: "Free SSL (AutoSSL)", b: "Every domain gets a Let's Encrypt cert, auto-renewed. Wildcard support included." }, { t: "Daily + offsite backups", b: "JetBackup with 7-day retention plus weekly offsite snapshots. One-click restore." }, { t: "Imunify360 security", b: "Real-time malware scanning, WAF, brute-force protection, reputation management." }, { t: "Free migration", b: "Point us at your old host — we do the work. Zero downtime cutover on Business+." }, { t: "cPanel + WHM tools", b: "Email, file manager, DNS, cron, SSH, PHP selector (7.4–8.3), WP Toolkit." }, { t: "99.9% uptime SLA", b: "If we miss it, you get credit. Published status page with per-datacenter history." }, ].map((f, i) => (
0{i + 1}

{f.t}

{f.b}

))}
{/* Migration strip */}
Free migration

We'll move your site.
You pour a coffee.

Whether it's a cPanel full backup, a WordPress install, a static site, or a custom setup — we handle the migration end-to-end. No downtime, no broken links.

    {[ ["Submit a migration request", "Tell us where your site lives."], ["We pull a full backup", "Files, databases, DNS, emails — all of it."], ["Staging & sanity check", "We restore on our infra and test everything."], ["You point DNS, we monitor", "Zero downtime cutover, 24-hour monitoring."], ].map(([t, b], i) => (
  1. {i + 1}
    {t}
    {b}
  2. ))}
{/* Apps grid */}
One-click apps

Install anything in a click.

{["WordPress", "Magento", "Joomla", "Drupal", "Ghost", "PrestaShop", "OpenCart", "phpBB", "MediaWiki", "Moodle", "Laravel", "Node.js"].map(app => (
{app}
))}
+ 268 more via Softaculous
); } /* ---------- Locations page ---------- */ function LocationsPage() { const dcs = [ { city: "Miami", flag: "🇺🇸", region: "Florida, United States", dc: "NAP of the Americas", ip: "xxx.xx.xxx.xx", uplink: "100 Gbps", peers: ["Telia", "NTT", "Zayo", "GTT"], servers: 18, tz: "UTC−5 (EST)", }, { city: "Seattle", flag: "🇺🇸", region: "Washington, United States", dc: "Westin Building Exchange", ip: "xxx.xx.xxx.xx", uplink: "100 Gbps", peers: ["Telia", "NTT", "Level3", "HE"], servers: 14, tz: "UTC−8 (PST)", }, { city: "Frankfurt", flag: "🇩🇪", region: "Hesse, Germany", dc: "Maincubes FRA01", ip: "xxx.xxx.xx.x", uplink: "100 Gbps", peers: ["DE-CIX", "Level3", "NTT", "Cogent"], servers: 12, tz: "UTC+1 (CET)", }, ]; return (
Global network

Three datacenters.
One fast network.

Pick the region closest to your audience. All regions run identical hardware, identical stack, identical pricing — so you can switch or span without surprises.

{dcs.map(d => (
{d.flag}

{d.city}

Online
{d.region}
{d.dc} · {d.tz}
Carriers
{d.peers.map(p => ( {p} ))}
))}
); } function Field({ label, value }) { return (
{label}
{value}
); } /* ---------- Speed tester (real HTTP round-trip) ---------- Times fetch() against publicly-reachable CORS-friendly endpoints geographically near each datacenter. Approximates real network latency. */ function SpeedTester() { const targets = [ { city: "Miami", flag: "🇺🇸", region: "Florida, US", // Cloudflare anycast — routes to nearest PoP url: "https://speed.cloudflare.com/__down?bytes=1024", note: "via nearest Cloudflare PoP", }, { city: "Seattle", flag: "🇺🇸", region: "Washington, US", // Cloudflare Seattle PoP — speed test endpoint, CORS-enabled url: "https://speed.cloudflare.com/__down?bytes=1024", note: "via nearest Cloudflare PoP", }, { city: "Frankfurt", flag: "🇩🇪", region: "Hesse, DE", // Cloudflare anycast — routes to nearest PoP url: "https://speed.cloudflare.com/__down?bytes=1024", note: "via nearest Cloudflare PoP", }, ]; const [results, setResults] = React.useState( Object.fromEntries(targets.map(t => [t.city, { state: "idle", ms: null, samples: [] }])) ); const [running, setRunning] = React.useState(false); async function timeOnce(url) { const u = url + (url.includes("?") ? "&" : "?") + "t=" + Math.random().toString(36).slice(2); const t0 = performance.now(); try { await fetch(u, { method: "GET", mode: "no-cors", cache: "no-store" }); return performance.now() - t0; } catch (e) { return null; } } async function runTest() { setRunning(true); setResults(Object.fromEntries(targets.map(t => [t.city, { state: "running", ms: null, samples: [] }]))); await Promise.all(targets.map(async (t) => { const samples = []; // warm-up (DNS/TLS) await timeOnce(t.url); for (let i = 0; i < 5; i++) { const ms = await timeOnce(t.url); if (ms != null) samples.push(ms); setResults(r => ({ ...r, [t.city]: { state: "running", ms: null, samples: [...samples] } })); } const sorted = [...samples].sort((a, b) => a - b); const median = sorted.length ? sorted[Math.floor(sorted.length / 2)] : null; setResults(r => ({ ...r, [t.city]: { state: median != null ? "done" : "error", ms: median != null ? Math.round(median) : null, samples, }, })); })); setRunning(false); } // auto-run once on mount React.useEffect(() => { runTest(); /* eslint-disable-next-line */ }, []); return (
Live test

Test the network from your browser.

Real HTTP round-trip from your browser to public servers near each region. 5 requests per region; we take the median.

{targets.map(t => { const r = results[t.city]; return (
{t.flag}
{t.city}
{t.note}
{r.state === "idle" && } {r.state === "running" && {r.samples.length}/5} {r.state === "done" && {r.ms} ms} {r.state === "error" && blocked}
); })}
); } /* ---------- Contact page ---------- */ function ContactPage() { const [sent, setSent] = useStateX(false); const [dept, setDept] = useStateX("sales"); return (
We're here

Questions? Talk to us.

Real humans on the other end. Sales replies within an hour, support within two. No bots, no ticket purgatory.

{/* Info column */}
Get in touch
Sales
sales@loominost.com
Support
support@loominost.com
General
hello@loominost.com
Response times
{[ ["Sales", "< 1 hour"], ["Support · Advanced+", "< 2 hours"], ["Support · Basic", "< 8 hours"], ["Abuse reports", "< 24 hours"], ].map(([l, v]) => (
{l} {v}
))}
{/* Form */}
{ e.preventDefault(); setSent(true); }} style={{ background: "#fff", border: "1px solid var(--line)", borderRadius: 18, padding: 32 }}> {sent ? (

Message sent.

We'll get back to you shortly at the email you provided.

) : ( <>
Send a message
{[["sales", "Sales"], ["support", "Support"], ["abuse", "Abuse"]].map(([k, l]) => ( ))}