// Commercial hero, use cases, case study, how it works, AI, service areas, FAQ, final CTA, footer function CommercialHero({ onQuote }){ return (
COMMERCIAL
Your property. On display.
Permanent lighting for commercial exteriors.

Storefronts, shopping plazas, restaurants, dealerships, hotels, office parks. Architectural RGBWW lighting that turns your property into a 24/7 advertisement. Schedule game day colors, holiday themes, brand-aligned ambient. No seasonal install crews. No tangled cords. One system, fully controllable from your phone.

); } const COMM_USE_CASES = [ { title:'Concerts & Live Venues', cap:'Stage washes · live cues · band lighting', img:'public/img/usecase-venue.png' }, { title:'Restaurants & Hospitality', cap:'Patio · facade · seasonal accent', img:'public/img/usecase-pavilion.png' }, { title:'Hotels & Resorts', cap:'24/7 architectural ambient + event modes', img:'public/img/photo-pool.jpg' }, { title:'Railbikes & Rail Tourism', cap:'Holiday tunnels · evening rides · sellout drivers', placeholder:'tunnel', href:'Railbike Lighting.html' }, { title:'Outdoor Recreation', cap:'Campgrounds · ziplines · ropes courses · mini golf', placeholder:'outdoor' }, { title:'Showrooms & Gaming Lounges', cap:'Brand-aligned color on demand', img:'public/img/usecase-gameroom.png' }, { title:'Office Parks & Corporate', cap:'Wayfinding · security · brand accent', img:'public/img/usecase-park.png' }, { title:'QSR & Drive-Thru', cap:'24/7 brand presence · night visibility', img:'public/img/photo-dq.jpg' }, ]; function PlaceholderArt({ kind }){ if (kind === 'tunnel'){ return ( {[...Array(7)].map((_,i)=>())} ); } // outdoor return ( {/* trees silhouette */} {/* string lights arc */} {[...Array(11)].map((_,i)=>{ const t=i/10; const x=20+360*t; const y=100-Math.sin(t*Math.PI)*40; const c=['#FFB347','#C8102E','#FFFFFF','#FFB347','#3FB950','#FFFFFF','#C8102E','#FFB347','#FFFFFF','#3FB950','#C8102E'][i]; return ; })} ); } function CommUseCases(){ return (
COMMERCIAL APPLICATIONS
If it's outside, we light it.

A non-exhaustive list. If your customers spend time outdoors after dark — or could — Thraxel turns the venue itself into the attraction.

{COMM_USE_CASES.map((c,i)=>( { if(!c.href) e.preventDefault(); }} style={{position:'relative',aspectRatio:'4/3',overflow:'hidden',border:'1px solid #2a2a2e',background:'#0a0a0a',cursor: c.href ? 'pointer' : 'default', display:'block', textDecoration:'none'}}> {c.img ? ( e.currentTarget.style.transform='scale(1.05)'} onMouseLeave={e=>e.currentTarget.style.transform='scale(1)'}/> ) : ( )}
{c.href && (
CASE STUDY ↗
)}
{c.title}
{c.cap}
))}
); } function CommCaseStudy(){ return (
FEATURED INSTALL
Shopping Plaza
{[ ['LINEAR FOOTAGE','2,840 ft'], ['ZONES','14'], ['SCENE PROGRAMS','22'], ['LED COUNT','3,408 px'], ].map(([k,v])=>(
{k} {v}
))}
); } const HIW = [ { num:'01', title:'Consultation', body:'We come to you. Walk the property, listen to use cases, propose zones. No high-pressure sales pitch.', img:'public/img/photo-pool.jpg' }, { num:'02', title:'Design', body:'We render your property in 3D with the proposed install. Color-matched track. Zone breakdown. Scene programs.', img:'public/img/photo-halloween.jpg' }, { num:'03', title:'Install', body:'Permanent. Warrantied — 3-year parts, 1-year labor. App-controlled day one.', img:'public/img/photo-dock.jpg' }, ]; function HowItWorks({ onQuote }){ return (
PROCESS
How it works.
{HIW.map((s,i)=>(
{s.num}
{s.title}

{s.body}

{(s.num==='01' || s.num==='03') && (
)}
))}
); } function AISection(){ return (
BEYOND LIGHTING — THRAXEL AI HUB
One hub. Every tool. Zero admin.

We build AI automation hubs for home service businesses. Stop logging into 12 different apps. Stop paying for 12 different subscriptions. Talk to your business, deploy AI voice, spin up on-brand avatars, and put booking on autopilot — all from one place.

{/* Animated walkthrough video */}
{/* Outcomes grid below the video */}
{[ ['Cut software stack 60–80%','Replace overlapping SaaS with one unified layer'], ['Talk to your business','Voice or chat — "what jobs are open this week?"'], ['AI voice answers 24/7','Inbound calls, forms, DMs — handled and triaged'], ['On-brand AI avatars','Custom voice & face for video replies, follow-ups, social'], ['Booking on autopilot','AI proposes, confirms, captures deposit, sends to calendar'], ['Watch-only mode','We run it. You review the daily summary.'], ].map(([t,d])=>(
{t}
{d}
))}
Book an AI Audit
); } function ServiceAreas(){ // PA 16xxx zip codes are concentrated in Western/Northwestern PA — Erie, Crawford, Mercer, Venango, Forest, Warren, Clarion, Jefferson, Elk, Cameron, Clearfield, Centre, Indiana, Armstrong, Butler, Lawrence, Beaver, Allegheny (parts). // We approximate with a dense cluster of dots in WPA region. const pulseDots = useMemo(()=>{ const dots = []; // Center cluster around Western PA in the SVG viewport (PA roughly x:300-580, y:170-260 in our schematic) for (let i=0;i<48;i++){ const cx = 320 + Math.random()*180; const cy = 175 + Math.random()*70; dots.push({x:cx,y:cy,delay:Math.random()*3,r:1.6+Math.random()*1.4}); } return dots; },[]); const [hoverState, setHoverState] = useState(null); return (
SERVICE AREAS
Where we install.

Active coverage across Pennsylvania, West Virginia, Ohio, Maryland, and New York. Our primary install territory is Western PA — every zip starting 16xxx is in our daily route.

{/* horizon glow */}
{/* grid */}
{/* States — schematic 3D-extruded look */} {[ { id:'NY', label:'NEW YORK', pts:'180,80 600,70 620,140 540,150 280,160 180,150', x:380, y:115 }, { id:'PA', label:'PENNSYLVANIA', pts:'280,160 540,150 620,140 640,180 580,260 320,270 280,240', x:430, y:215, active:true }, { id:'OH', label:'OHIO', pts:'140,170 280,160 280,240 200,310 130,290', x:200, y:245 }, { id:'WV', label:'WEST VIRGINIA', pts:'200,310 320,270 380,330 340,400 240,400 180,360', x:280, y:355 }, { id:'MD', label:'MARYLAND', pts:'320,270 580,260 600,300 380,330', x:480, y:295 }, ].map(s=>{ const isActive = s.active; return ( setHoverState(s.id)} onMouseLeave={()=>setHoverState(null)} style={{cursor:'pointer'}} > {/* shadow underneath */} {/* body */} {/* label */} {s.label} ); })} {/* 16xxx zip code dots — green glow cluster in Western PA */} {pulseDots.map((d,i)=>( ))} {/* Hub pin */} {/* Hover tooltip */} {hoverState && ( {hoverState === 'PA' ? 'PRIMARY · WESTERN PA' : `${hoverState} · ACTIVE COVERAGE`} {hoverState === 'PA' ? 'All 16xxx zip codes' : 'Daily install routes'} )} {/* Legend */}
16XXX ZIP — DAILY ROUTE
PRIMARY TERRITORY
ACTIVE COVERAGE
REGIONAL HUB
); } const FAQS = [ ["What's the difference between RGBWW and RGB?","RGBWW combines RGB color with a dedicated warm-white (2700K) diode. You get true ambient warm white when you want it, plus 16M colors when you want a show. RGB-only systems fake white by mixing — it always reads slightly off."], ["Energy cost — really only $52.80/year?","Yes — based on a 168-LED average install running 6 hours nightly at the regional kWh rate. RGBWW LEDs draw approximately 0.3W per pixel."], ['How does it hold up through harsh winters?','Marine-grade silicone, IP67 connectors, 16-gauge wire. Tested through ice load, road salt, and summer thunderstorms. 3-year parts warranty backs it.'], ['Smart home integration?','Alexa, Google Home, Apple HomeKit, and Control4. Scenes and zones are exposed as native devices.'], ['Install process?','Free consultation. 3D rendering of your property. Permanent install in 1–2 days for most homes. Full app onboarding day-of.'], ['Warranty?','3 years parts, 1 year labor. We match the industry on transparency.'], ['Financing?','Yes — 0% APR up to 24 months for qualifying applicants through our partner.'], ["HOA compliance?","The track is color-matched to your trim and tucks tight. By day, neighbors can't see it. We've passed every HOA we've worked in."], ["Commercial vs residential?","Different controllers, different warranty terms, different scheduling. Commercial systems get our property-management dashboard."], ["Maintenance?","Individually addressable means one bad LED doesn't kill the strip. Replacements ship same-day under warranty."], ]; function FAQ(){ const [open,setOpen] = useState(0); return (
FAQ
Questions, answered.
{FAQS.map(([q,a],i)=>(
{open===i && (
{a}
)}
))}
); } function FinalCTA({ onQuote }){ return (
Ready to light it up?
); } function Footer(){ return ( ); } // ──────────────────────────────────────────────────────────────────── // Railbike teaser — sits below CommCaseStudy, links to dedicated page function RailbikeTeaser(){ return (
{/* Real T&Y field photo */} Tracks & Yaks holiday lighting view
NEW VERTICAL · CASE STUDY
TRACKS & YAKS · FROSTBURG, MD  ·  SCENIC RAIL RIDERS · NH
RAILBIKE LIGHTING
Your off-season, lit up and sold out.

Holiday and themed lighting turns a railbike operation into a year-round product. Tracks & Yaks runs 72-seat capacity tours, 3 trips a night at $30/seat — routinely sold out, pulling customers who'd never book a daytime ride: date nights, family Christmas traditions, corporate buy-outs, photographers.

We've installed and taken down for Tracks & Yaks in Frostburg, MD and Scenic Rail Riders in New Hampshire. Both saw their email lists grow, their off-season fill, and their towns claim something genuinely worth driving to.

See the Portfolio Read the Case Study
); } // ──────────────────────────────────────────────────────────────────── // Holiday Lighting strip — gallery + Santa + paragraph function HolidayStrip({ onQuote }){ const [idx, setIdx] = useState(0); const slides = [ { season:'CHRISTMAS', title:'C9 ridgelines · color-matched bows · synced soundtracks', tone:'#C8102E' }, { season:'HALLOWEEN', title:'Purple/orange wash · strobe · pulse-to-thunder', tone:'#FFB347' }, { season:'VALENTINE\'S', title:'Soft pinks · candle whites · slow breathe', tone:'#FF6B9D' }, { season:'ST. PATTY\'S', title:'Triple-green chase · pub windows · facade flag', tone:'#3FB950' }, { season:'4TH OF JULY', title:'Red/white/blue chase · timed to fireworks', tone:'#4A90E2' }, { season:'BAR POPUPS', title:'Theme nights, weekly resets, full RGBWW palette', tone:'#9F4DFF' }, ]; const next = ()=>setIdx(i=>(i+1)%slides.length); const prev = ()=>setIdx(i=>(i-1+slides.length)%slides.length); const s = slides[idx]; return (
{/* ambient glow keyed to slide */}
{/* LEFT: copy + santa */}
HOLIDAY & SEASONAL
Every holiday. One install.

Christmas ridgelines, Halloween pulses, Valentine's pinks, St. Patty's triple-green chases, 4th of July fireworks-sync — same fixtures, swap a preset. Bars and venues running themed popup nights: this is the whole job done in software.

{/* Santa removed per user request */}
{/* RIGHT: gallery card */}
{/* placeholder visual — color wash + season name */}
{/* faux house silhouette with ridgeline lights */} {/* roof lights */} {[...Array(22)].map((_,i)=>{ const t = i/21; const xL = 50 + (200-50)*t; const yL = 320 + (200-320)*t; const xR = 200 + (350-200)*t; const yR = 200 + (320-200)*t; return ( ); })} {/* windows */}
{s.season}
{s.title}
{slides.map((_,i)=>(
SWIPE THROUGH HOLIDAY MODES · {idx+1} / {slides.length}
); } Object.assign(window, { CommercialHero, CommUseCases, CommCaseStudy, HowItWorks, AISection, ServiceAreas, FAQ, FinalCTA, Footer, RailbikeTeaser, HolidayStrip });