const { useState, useEffect, useRef, useMemo } = React; // ============================================================ // TWEAKS // ============================================================ const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accentHue": 220, "accentChroma": 0.12, "accentLightness": 0.38, "headlineFont": "Inter Tight", "bodyFont": "Inter", "bgTone": "hospital", "showGrain": false, "heroLayout": "split", "ctaStyle": "filled" }/*EDITMODE-END*/; // ============================================================ // LOGO // ============================================================ function Logo({ size = 24 }) { return (
ElevateLab
); } // ============================================================ // NAV // ============================================================ function Nav() { const [scrolled, setScrolled] = useState(false); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 20); window.addEventListener("scroll", onScroll); return () => window.removeEventListener("scroll", onScroll); }, []); const links = [ ["Services", "#services"], ["Process", "#process"], ["Turnaround", "#turnaround"], ["Contact", "#contact"], ]; return ( ); } // ============================================================ // HERO // ============================================================ function Hero() { const [time, setTime] = useState(""); useEffect(() => { const tick = () => { const now = new Date(); const opts = { timeZone: "America/New_York", hour: "2-digit", minute: "2-digit", hour12: false }; setTime(now.toLocaleTimeString("en-US", opts) + " EST"); }; tick(); const id = setInterval(tick, 30000); return () => clearInterval(id); }, []); return (
{/* TOP STRIP */}
Boca Raton, FL · 26.36° N Lab open · {time}
{/* HEADLINE */}
A digital dental lab — est. 2024

Digital precision.
Delivered fast.

The agile dental lab partner for your clinic's daily needs. Scan in, design overnight, ship in the morning.

e.currentTarget.style.transform = "translateY(-2px)"} onMouseLeave={e => e.currentTarget.style.transform = "translateY(0)"} > Open an account See what we make
{/* BOTTOM METRICS */}
{[ ["24–48h", "average turnaround"], ["12k+", "cases shipped"], ["98.4%", "first-fit rate"], ["1:1", "lead designer per clinic"], ].map(([num, label], i) => (
{num}
{label}
))}
); } // ============================================================ // MARQUEE / CLIENTS // ============================================================ function Marquee() { const items = [ "Trusted by clinics across South Florida", "iTero · 3Shape · Medit compatible", "FDA-registered facility", "Same-day digital design", "Boca Raton · Delray · Fort Lauderdale · Miami", ]; const doubled = [...items, ...items, ...items]; return (
{doubled.map((s, i) => ( {s} ))}
); } // ============================================================ // SERVICES // ============================================================ function Services() { const [hovered, setHovered] = useState(null); const services = [ { n: "01", title: "Retainers & Splints", desc: "Clear printed retainers and night guards. High-strength bio-compatible resin, finished and polished in-house.", meta: ["24–48h turnaround", "Bio Splint Makertech resin", "Scan: upper / lower / bite"], sub: "Most ordered", image: "images/retainer.jpg", }, { n: "02", title: "3D Model Printing", desc: "High-resolution study models, dies, and surgical guides. Pre-print edits, low production time, made entirely in the digital flow.", meta: ["Next day", "Pre-print edits included", "Scan: upper / lower"], sub: "Bread & butter", image: "images/model.jpg", }, { n: "03", title: "Digital Design", desc: "CAD design for restorative cases. Send your scans, receive the design file or the finished printed appliance — your call.", meta: ["Overnight", "exocad · 3Shape", "Per-case or retainer"], sub: "White-label friendly", image: "images/splint-on-model.jpg", }, ]; return (
{services.map((s, i) => (
setHovered(i)} onMouseLeave={() => setHovered(null)} style={{ padding: "40px 32px 40px 0", borderBottom: "1px solid var(--rule)", borderLeft: i === 0 ? "none" : "1px solid var(--rule)", paddingLeft: i === 0 ? 0 : 32, position: "relative", cursor: "default", transition: "background 300ms", background: hovered === i ? "rgba(10,14,20,0.015)" : "transparent", }}>
{s.sub}
{/* Visual */}
{s.title}
{s.n} / 03

{s.title}

{s.desc}

    {s.meta.map((m, j) => (
  • {m}
  • ))}
))}
); } // Full-bleed UV cure visual — single accent of color in the page function CureBleed() { return (
UV post-cure of printed splints
Post-cure · 405nm

Every appliance finished in-house, under our own light.

Boca Raton
FL · 33434
); } // ============================================================ // SECTION HEADER // ============================================================ function SectionHeader({ eyebrow, number, title, sub }) { return (
{number} — {eyebrow}

{title}

{sub && ( <>

{sub}

)}
); } // ============================================================ // TURNAROUND TIMELINE // ============================================================ function Turnaround() { const [hour, setHour] = useState(0); useEffect(() => { let raf; let start; const loop = (t) => { if (!start) start = t; const elapsed = (t - start) / 60; // 60ms per hour setHour(Math.min(48, elapsed % 56)); raf = requestAnimationFrame(loop); }; raf = requestAnimationFrame(loop); return () => cancelAnimationFrame(raf); }, []); const phases = [ { at: 0, label: "Scan received", detail: "STL upload or iTero direct" }, { at: 4, label: "Case reviewed", detail: "By a lead designer, not a queue" }, { at: 12, label: "Designed", detail: "exocad / 3Shape CAD" }, { at: 24, label: "Printed & finished", detail: "Trim, polish, QC" }, { at: 36, label: "Shipped", detail: "Overnight to your clinic" }, { at: 48, label: "In-chair", detail: "First-fit verified" }, ]; return (
02 — Turnaround

From scan to seat in 48 hours, typically less.

We run a small, focused operation — no offshore handoffs, no week-long queues. Most cases ship the next morning.

{/* Timeline */}
{/* Filled progress */}
{/* Cursor */}
{/* Phase ticks */} {phases.map((p, i) => (
))}
{phases.map((p, i) => { const reached = hour >= p.at; return (
H+{p.at.toString().padStart(2, "0")}
{p.label}
{p.detail}
); })}
Live demo · simulated 48-hour cycle H+{Math.floor(hour).toString().padStart(2, "0")}:{Math.floor((hour % 1) * 60).toString().padStart(2, "0")}
); } // ============================================================ // PROCESS / WHY US // ============================================================ function Process() { const points = [ { n: "A", title: "Talk to a designer, not a portal.", body: "Your clinic gets a named lead designer. Text us a question, get an answer the same hour." }, { n: "B", title: "Local, not offshore.", body: "Designed and printed in Boca Raton. Cases never leave Florida, so they never get stuck in customs." }, { n: "C", title: "One flat per-case price.", body: "No surprise fees for revisions, rush, or shipping. You'll know the price before you upload." }, ]; return (
{points.map((p, i) => (
({p.n})

{p.title}

{p.body}

))}
); } // ============================================================ // CONTACT FORM // ============================================================ function Contact() { const [form, setForm] = useState({ name: "", clinic: "", email: "", phone: "", services: [], scanner: "", volume: "1-5", message: "", }); const [errors, setErrors] = useState({}); const [submitted, setSubmitted] = useState(false); const [step, setStep] = useState(1); const update = (k, v) => { setForm(f => ({ ...f, [k]: v })); setErrors(e => ({ ...e, [k]: null })); }; const toggleService = (s) => { setForm(f => ({ ...f, services: f.services.includes(s) ? f.services.filter(x => x !== s) : [...f.services, s], })); }; const validateStep1 = () => { const e = {}; if (!form.name.trim()) e.name = "Required"; if (!form.clinic.trim()) e.clinic = "Required"; if (!form.email.trim()) e.email = "Required"; else if (!/^[^@]+@[^@]+\.[^@]+$/.test(form.email)) e.email = "Invalid email"; setErrors(e); return Object.keys(e).length === 0; }; const next = () => { if (validateStep1()) setStep(2); }; const submit = async (ev) => { ev.preventDefault(); if (form.services.length === 0) { setErrors({ services: "Pick at least one" }); return; } try { const fd = new FormData(); Object.entries(form).forEach(([k, v]) => { fd.append(k, Array.isArray(v) ? v.join(", ") : v); }); const res = await fetch("send.php", { method: "POST", body: fd }); if (!res.ok) throw new Error("Send failed"); setSubmitted(true); } catch (err) { setErrors({ services: "Could not send. Please try again or email lab@elevatelab3d.com." }); } }; const inputStyle = (err) => ({ width: "100%", padding: "14px 0 12px", background: "transparent", border: "none", borderBottom: `1px solid ${err ? "#c44" : "rgba(10,14,20,0.18)"}`, fontSize: 17, fontFamily: "var(--font-body)", color: "var(--ink)", outline: "none", transition: "border-color 200ms", }); const labelStyle = { fontSize: 11, fontFamily: "var(--font-mono)", textTransform: "uppercase", letterSpacing: "0.08em", opacity: 0.55, display: "block", marginBottom: 6, }; if (submitted) { return (

We'll be in touch shortly.

Thanks, {form.name.split(" ")[0]}. A lead designer from Elevate Lab will email you at {form.email} within one business hour to set up your account.

); } return (
= 1 ? 1 : 0.4, display: "flex", gap: 10, alignItems: "center" }}> = 1 ? "var(--ink)" : "transparent", color: step >= 1 ? "var(--bg)" : "currentColor", borderColor: step >= 1 ? "var(--ink)" : "currentColor", }}>1 You
= 2 ? 1 : 0.4, display: "flex", gap: 10, alignItems: "center" }}> = 2 ? "var(--ink)" : "transparent", color: step >= 2 ? "var(--bg)" : "currentColor", borderColor: step >= 2 ? "var(--ink)" : "currentColor", }}>2 Your work
{step === 1 && (
update("name", e.target.value)} placeholder="Dr. Jane Doe" />
update("clinic", e.target.value)} placeholder="Doe Family Dentistry" />
update("email", e.target.value)} placeholder="jane@clinic.com" />
update("phone", e.target.value)} placeholder="(561) 555-0100" />
)} {step === 2 && (
{["Retainers", "Splints / Night guards", "Study models", "Surgical guides", "CAD design", "Crown / bridge"].map(s => ( ))}
{["1-5", "5-15", "15-30", "30+"].map(v => ( ))}