This commit implements the core admin dashboard functionality including NextAuth authentication, Cloudflare D1 database integration with complete schema, and Cloudflare R2 file upload system for portfolio images. Features include artist management, appointment scheduling, and data migration capabilities.
1 line
43 KiB
JavaScript
1 line
43 KiB
JavaScript
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{59400:function(e,t,a){Promise.resolve().then(a.bind(a,55147)),Promise.resolve().then(a.bind(a,9618)),Promise.resolve().then(a.bind(a,57043)),Promise.resolve().then(a.bind(a,55042)),Promise.resolve().then(a.bind(a,41211)),Promise.resolve().then(a.bind(a,40001)),Promise.resolve().then(a.bind(a,77153)),Promise.resolve().then(a.bind(a,19573))},55147:function(e,t,a){"use strict";a.d(t,{ArtistsSection:function(){return o}});var s=a(57437),i=a(2265),r=a(62869),l=a(27648),n=a(38909);function o(){let[e,t]=(0,i.useState)([]),[a,o]=(0,i.useState)(0),c=(0,i.useRef)(null),d=(0,i.useRef)(null),m=(0,i.useRef)(null),h=(0,i.useRef)(null);(0,i.useEffect)(()=>{var e;let a=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let a=Number.parseInt(e.target.getAttribute("data-index")||"0");t(e=>[...new Set([...e,a])])}})},{threshold:.2,rootMargin:"0px 0px 0px 0px"}),s=null===(e=c.current)||void 0===e?void 0:e.querySelectorAll("[data-index]");return null==s||s.forEach(e=>a.observe(e)),()=>a.disconnect()},[]),(0,i.useEffect)(()=>{let e=!1,t=()=>{e||(requestAnimationFrame(()=>{o(window.pageYOffset),e=!1}),e=!0)};return window.addEventListener("scroll",t,{passive:!0}),()=>window.removeEventListener("scroll",t)},[]),(0,i.useEffect)(()=>{if(d.current&&m.current&&h.current){var e;let t=a-((null===(e=c.current)||void 0===e?void 0:e.offsetTop)||0);d.current.style.transform="translateY(".concat(-.025*t,"px)"),m.current.style.transform="translateY(0px)",h.current.style.transform="translateY(".concat(.025*t,"px)");let s=d.current.querySelectorAll(".artist-image"),i=m.current.querySelectorAll(".artist-image"),r=h.current.querySelectorAll(".artist-image");s.forEach(e=>{e.style.transform="translateY(".concat(-.01*t,"px)")}),i.forEach(e=>{e.style.transform="translateY(".concat(-.0075*t,"px)")}),r.forEach(e=>{e.style.transform="translateY(".concat(-.005*t,"px)")})}},[a]);let u=[n.AE[0],n.AE[3],n.AE[6]],g=[n.AE[1],n.AE[4],n.AE[7]],x=[n.AE[2],n.AE[5],n.AE[8]];return(0,s.jsxs)("section",{ref:c,id:"artists",className:"relative overflow-hidden bg-black",children:[(0,s.jsxs)("div",{className:"absolute inset-0 opacity-[0.03]",children:[(0,s.jsx)("img",{src:"/united-logo-full.jpg",alt:"",className:"w-full h-full object-cover object-center scale-150 blur-[2px]"}),(0,s.jsx)("div",{className:"absolute inset-0 bg-black/80 backdrop-blur-sm"})]}),(0,s.jsx)("div",{className:"relative z-10 py-16 px-8 lg:px-16",children:(0,s.jsx)("div",{className:"max-w-screen-2xl mx-auto",children:(0,s.jsxs)("div",{className:"grid lg:grid-cols-3 gap-12 items-end mb-16",children:[(0,s.jsxs)("div",{className:"lg:col-span-2",children:[(0,s.jsx)("h2",{className:"text-6xl lg:text-8xl font-bold tracking-tight mb-6 text-white",children:"ARTISTS"}),(0,s.jsx)("p",{className:"text-xl text-gray-200 leading-relaxed max-w-2xl",children:"Our exceptional team of tattoo artists, each bringing unique expertise and artistic vision to create your perfect tattoo."})]}),(0,s.jsx)("div",{className:"text-right",children:(0,s.jsx)(r.z,{asChild:!0,className:"bg-white text-black hover:bg-gray-100 px-8 py-4 text-lg font-medium tracking-wide shadow-lg",children:(0,s.jsx)(l.default,{href:"/book",children:"BOOK CONSULTATION"})})})]})})}),(0,s.jsx)("div",{className:"relative z-10 px-8 lg:px-16 pb-32",children:(0,s.jsx)("div",{className:"max-w-screen-2xl mx-auto",children:(0,s.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:[(0,s.jsx)("div",{ref:d,className:"space-y-8",children:u.map((t,a)=>{var i;return(0,s.jsx)("div",{"data-index":n.AE.indexOf(t),className:"group transition-all duration-700 ".concat(e.includes(n.AE.indexOf(t))?"opacity-100 translate-y-0":"opacity-0 translate-y-8"),style:{transitionDelay:"".concat(50*n.AE.indexOf(t),"ms")},children:(0,s.jsxs)("div",{className:"relative w-full aspect-[4/5] overflow-hidden rounded-lg shadow-2xl",children:[(0,s.jsxs)("div",{className:"absolute inset-0 bg-black artist-image",children:[(0,s.jsxs)("div",{className:"absolute inset-0",children:[(0,s.jsx)("img",{src:(null===(i=t.workImages)||void 0===i?void 0:i[0])||"/placeholder.svg",alt:"".concat(t.name," tattoo work"),className:"w-full h-full object-cover scale-110"}),(0,s.jsx)("div",{className:"absolute inset-0 bg-black/40"})]}),(0,s.jsx)("div",{className:"absolute left-0 top-0 w-3/5 h-full",children:(0,s.jsx)("img",{src:t.faceImage||"/placeholder.svg",alt:"".concat(t.name," portrait"),className:"w-full h-full object-cover scale-110",style:{maskImage:"linear-gradient(to right, black 0%, black 70%, transparent 100%)",WebkitMaskImage:"linear-gradient(to right, black 0%, black 70%, transparent 100%)"}})})]}),(0,s.jsxs)("div",{className:"absolute inset-0 z-20 group-hover:bg-black/20 transition-all duration-500",children:[(0,s.jsx)("div",{className:"absolute top-4 left-4",children:(0,s.jsx)("span",{className:"text-xs font-medium tracking-widest text-white uppercase bg-black/80 backdrop-blur-sm px-3 py-1 rounded-full",children:t.experience})}),(0,s.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/90 via-black/60 to-transparent p-6 translate-y-0 lg:translate-y-full lg:group-hover:translate-y-0 transition-transform duration-500",children:[(0,s.jsx)("h3",{className:"text-2xl font-bold tracking-tight mb-2 text-white",children:t.name}),(0,s.jsx)("p",{className:"text-sm font-medium text-white/90 mb-3",children:t.specialty}),(0,s.jsx)("p",{className:"text-sm text-white/80 mb-4 leading-relaxed",children:t.bio}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(r.z,{asChild:!0,size:"sm",className:"bg-white text-black hover:bg-gray-100 text-xs font-medium tracking-wide flex-1",children:(0,s.jsx)(l.default,{href:"/artists/".concat(t.id),children:"PORTFOLIO"})}),(0,s.jsx)(r.z,{asChild:!0,size:"sm",className:"bg-white text-black hover:bg-gray-100 text-xs font-medium tracking-wide flex-1",children:(0,s.jsx)(l.default,{href:"/book",children:"BOOK"})})]})]})]})]})},t.id)})}),(0,s.jsx)("div",{ref:m,className:"space-y-8",children:g.map((t,a)=>{var i;return(0,s.jsx)("div",{"data-index":n.AE.indexOf(t),className:"group transition-all duration-700 ".concat(e.includes(n.AE.indexOf(t))?"opacity-100 translate-y-0":"opacity-0 translate-y-8"),style:{transitionDelay:"".concat(50*n.AE.indexOf(t),"ms")},children:(0,s.jsxs)("div",{className:"relative w-full aspect-[4/5] overflow-hidden rounded-lg shadow-2xl",children:[(0,s.jsxs)("div",{className:"absolute inset-0 bg-black artist-image",children:[(0,s.jsxs)("div",{className:"absolute inset-0",children:[(0,s.jsx)("img",{src:(null===(i=t.workImages)||void 0===i?void 0:i[0])||"/placeholder.svg",alt:"".concat(t.name," tattoo work"),className:"w-full h-full object-cover scale-110"}),(0,s.jsx)("div",{className:"absolute inset-0 bg-black/40"})]}),(0,s.jsx)("div",{className:"absolute left-0 top-0 w-3/5 h-full",children:(0,s.jsx)("img",{src:t.faceImage||"/placeholder.svg",alt:"".concat(t.name," portrait"),className:"w-full h-full object-cover scale-110",style:{maskImage:"linear-gradient(to right, black 0%, black 70%, transparent 100%)",WebkitMaskImage:"linear-gradient(to right, black 0%, black 70%, transparent 100%)"}})})]}),(0,s.jsxs)("div",{className:"absolute inset-0 z-20 group-hover:bg-black/20 transition-all duration-500",children:[(0,s.jsx)("div",{className:"absolute top-4 left-4",children:(0,s.jsx)("span",{className:"text-xs font-medium tracking-widest text-white uppercase bg-black/80 backdrop-blur-sm px-3 py-1 rounded-full",children:t.experience})}),(0,s.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/90 via-black/60 to-transparent p-6 translate-y-0 lg:translate-y-full lg:group-hover:translate-y-0 transition-transform duration-500",children:[(0,s.jsx)("h3",{className:"text-2xl font-bold tracking-tight mb-2 text-white",children:t.name}),(0,s.jsx)("p",{className:"text-sm font-medium text-white/90 mb-3",children:t.specialty}),(0,s.jsx)("p",{className:"text-sm text-white/80 mb-4 leading-relaxed",children:t.bio}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(r.z,{asChild:!0,size:"sm",className:"bg-white text-black hover:bg-gray-100 text-xs font-medium tracking-wide flex-1",children:(0,s.jsx)(l.default,{href:"/artists/".concat(t.id),children:"PORTFOLIO"})}),(0,s.jsx)(r.z,{asChild:!0,size:"sm",className:"bg-white text-black hover:bg-gray-100 text-xs font-medium tracking-wide flex-1",children:(0,s.jsx)(l.default,{href:"/book",children:"BOOK"})})]})]})]})]})},t.id)})}),(0,s.jsx)("div",{ref:h,className:"space-y-8",children:x.map((t,a)=>{var i;return(0,s.jsx)("div",{"data-index":n.AE.indexOf(t),className:"group transition-all duration-700 ".concat(e.includes(n.AE.indexOf(t))?"opacity-100 translate-y-0":"opacity-0 translate-y-8"),style:{transitionDelay:"".concat(50*n.AE.indexOf(t),"ms")},children:(0,s.jsxs)("div",{className:"relative w-full aspect-[4/5] overflow-hidden rounded-lg shadow-2xl",children:[(0,s.jsxs)("div",{className:"absolute inset-0 bg-black artist-image",children:[(0,s.jsxs)("div",{className:"absolute inset-0",children:[(0,s.jsx)("img",{src:(null===(i=t.workImages)||void 0===i?void 0:i[0])||"/placeholder.svg",alt:"".concat(t.name," tattoo work"),className:"w-full h-full object-cover scale-110"}),(0,s.jsx)("div",{className:"absolute inset-0 bg-black/40"})]}),(0,s.jsx)("div",{className:"absolute left-0 top-0 w-3/5 h-full",children:(0,s.jsx)("img",{src:t.faceImage||"/placeholder.svg",alt:"".concat(t.name," portrait"),className:"w-full h-full object-cover scale-110",style:{maskImage:"linear-gradient(to right, black 0%, black 70%, transparent 100%)",WebkitMaskImage:"linear-gradient(to right, black 0%, black 70%, transparent 100%)"}})})]}),(0,s.jsxs)("div",{className:"absolute inset-0 z-20 group-hover:bg-black/20 transition-all duration-500",children:[(0,s.jsx)("div",{className:"absolute top-4 left-4",children:(0,s.jsx)("span",{className:"text-xs font-medium tracking-widest text-white uppercase bg-black/80 backdrop-blur-sm px-3 py-1 rounded-full",children:t.experience})}),(0,s.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/90 via-black/60 to-transparent p-6 translate-y-0 lg:translate-y-full lg:group-hover:translate-y-0 transition-transform duration-500",children:[(0,s.jsx)("h3",{className:"text-2xl font-bold tracking-tight mb-2 text-white",children:t.name}),(0,s.jsx)("p",{className:"text-sm font-medium text-white/90 mb-3",children:t.specialty}),(0,s.jsx)("p",{className:"text-sm text-white/80 mb-4 leading-relaxed",children:t.bio}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(r.z,{asChild:!0,size:"sm",className:"bg-white text-black hover:bg-gray-100 text-xs font-medium tracking-wide flex-1",children:(0,s.jsx)(l.default,{href:"/artists/".concat(t.id),children:"PORTFOLIO"})}),(0,s.jsx)(r.z,{asChild:!0,size:"sm",className:"bg-white text-black hover:bg-gray-100 text-xs font-medium tracking-wide flex-1",children:(0,s.jsx)(l.default,{href:"/book",children:"BOOK"})})]})]})]})]})},t.id)})})]})})}),(0,s.jsx)("div",{className:"relative z-20 bg-black text-white py-20 px-8 lg:px-16",children:(0,s.jsxs)("div",{className:"max-w-screen-2xl mx-auto text-center",children:[(0,s.jsx)("h3",{className:"text-5xl lg:text-7xl font-bold tracking-tight mb-8",children:"READY?"}),(0,s.jsx)("p",{className:"text-xl text-white/70 mb-12 max-w-2xl mx-auto",children:"Choose your artist and start your tattoo journey with United Tattoo."}),(0,s.jsx)(r.z,{asChild:!0,className:"bg-white text-black hover:bg-gray-100 hover:text-black px-12 py-6 text-xl font-medium tracking-wide shadow-lg border border-white",children:(0,s.jsx)(l.default,{href:"/book",children:"START NOW"})})]})})]})}},9618:function(e,t,a){"use strict";a.d(t,{ContactSection:function(){return h}});var s=a(57437),i=a(2265),r=a(62869),l=a(95186),n=a(76818),o=a(83774),c=a(13041),d=a(89345),m=a(91723);function h(){let[e,t]=(0,i.useState)({name:"",email:"",phone:"",message:""}),[a,h]=(0,i.useState)(0);(0,i.useEffect)(()=>{let e=()=>h(window.scrollY);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]);let u=e=>{t(t=>({...t,[e.target.name]:e.target.value}))};return(0,s.jsxs)("section",{id:"contact",className:"min-h-screen bg-black relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 opacity-[0.03] bg-cover bg-center bg-no-repeat blur-sm hidden lg:block",style:{backgroundImage:"url('/united-logo-full.jpg')",transform:"translateY(".concat(.2*a,"px)")}}),(0,s.jsx)("div",{className:"absolute inset-0 bg-black lg:hidden"}),(0,s.jsxs)("div",{className:"flex flex-col lg:flex-row min-h-screen relative z-10",children:[(0,s.jsxs)("div",{className:"w-full lg:w-1/2 bg-black flex items-center justify-center p-8 lg:p-12 relative",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-black lg:bg-transparent"}),(0,s.jsxs)("div",{className:"w-full max-w-md relative z-10",children:[(0,s.jsxs)("div",{className:"mb-8",children:[(0,s.jsx)("h2",{className:"text-4xl font-bold text-white mb-2",children:"Let's Talk"}),(0,s.jsx)("p",{className:"text-gray-400",children:"Ready to create something amazing?"})]}),(0,s.jsxs)("form",{onSubmit:t=>{t.preventDefault(),console.log("Form submitted:",e)},className:"space-y-6",children:[(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{htmlFor:"name",className:"block text-sm font-medium text-white mb-2",children:"Name"}),(0,s.jsx)(l.I,{id:"name",name:"name",value:e.name,onChange:u,required:!0,className:"bg-white/10 border-white/20 text-white placeholder:text-gray-400 focus:border-white focus:bg-white/15 transition-all",placeholder:"Your name"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{htmlFor:"phone",className:"block text-sm font-medium text-white mb-2",children:"Phone"}),(0,s.jsx)(l.I,{id:"phone",name:"phone",type:"tel",value:e.phone,onChange:u,className:"bg-white/10 border-white/20 text-white placeholder:text-gray-400 focus:border-white focus:bg-white/15 transition-all",placeholder:"(555) 123-4567"})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{htmlFor:"email",className:"block text-sm font-medium text-white mb-2",children:"Email"}),(0,s.jsx)(l.I,{id:"email",name:"email",type:"email",value:e.email,onChange:u,required:!0,className:"bg-white/10 border-white/20 text-white placeholder:text-gray-400 focus:border-white focus:bg-white/15 transition-all",placeholder:"your@email.com"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{htmlFor:"message",className:"block text-sm font-medium text-white mb-2",children:"Message"}),(0,s.jsx)(n.g,{id:"message",name:"message",rows:4,value:e.message,onChange:u,placeholder:"Tell us about your tattoo idea...",required:!0,className:"bg-white/10 border-white/20 text-white placeholder:text-gray-400 focus:border-white focus:bg-white/15 transition-all resize-none"})]}),(0,s.jsx)(r.z,{type:"submit",className:"w-full bg-white text-black hover:bg-gray-100 py-3 text-base font-medium transition-all",children:"Send Message"})]})]})]}),(0,s.jsxs)("div",{className:"w-full lg:w-1/2 bg-gray-50 relative flex items-center justify-center",children:[(0,s.jsx)("div",{className:"absolute inset-0 opacity-20 bg-cover bg-center bg-no-repeat",style:{backgroundImage:"url('/united-logo-text.png')",transform:"translateY(".concat(-.1*a,"px)")}}),(0,s.jsxs)("div",{className:"relative z-10 p-12 text-center",children:[(0,s.jsxs)("div",{className:"mb-12",children:[(0,s.jsx)("h2",{className:"text-5xl font-bold text-black mb-4",children:"UNITED"}),(0,s.jsx)("h3",{className:"text-3xl font-bold text-gray-600 mb-6",children:"TATTOO"}),(0,s.jsx)("p",{className:"text-gray-700 text-lg max-w-md mx-auto leading-relaxed",children:"Where artistry, culture, and custom tattoos meet. Located in Fountain, just minutes from Colorado Springs."})]}),(0,s.jsx)("div",{className:"space-y-6 max-w-sm mx-auto",children:[{icon:o.Z,title:"Visit Us",content:"5160 Fontaine Blvd, Fountain, CO 80817"},{icon:c.Z,title:"Call Us",content:"(719) 698-9004"},{icon:d.Z,title:"Email Us",content:"info@united-tattoo.com"},{icon:m.Z,title:"Hours",content:"Mon-Wed: 10AM-6PM, Thu-Sat: 10AM-8PM, Sun: 10AM-6PM"}].map((e,t)=>{let a=e.icon;return(0,s.jsxs)("div",{className:"flex items-start space-x-4 text-left",children:[(0,s.jsx)(a,{className:"w-5 h-5 text-black mt-1 flex-shrink-0"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-black font-medium text-sm",children:e.title}),(0,s.jsx)("p",{className:"text-gray-600 text-sm",children:e.content})]})]},t)})})]})]})]})]})}},55042:function(e,t,a){"use strict";a.d(t,{HeroSection:function(){return l}});var s=a(57437),i=a(2265),r=a(62869);function l(){let[e,t]=(0,i.useState)(!1),[a,l]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let e=setTimeout(()=>t(!0),300);return()=>clearTimeout(e)},[]),(0,i.useEffect)(()=>{let e=()=>{l(window.scrollY)};return window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),(0,s.jsxs)("section",{id:"home",className:"min-h-screen flex items-center justify-center relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-cover bg-center bg-no-repeat",style:{backgroundImage:"url(/united-logo-full.jpg)",transform:"translateY(".concat(.5*a,"px)")}}),(0,s.jsx)("div",{className:"absolute inset-0 bg-black/70"}),(0,s.jsxs)("div",{className:"relative z-10 text-center max-w-4xl px-8",style:{transform:"translateY(".concat(-.1*a,"px)")},children:[(0,s.jsx)("div",{className:"transition-all duration-1000 ".concat(e?"opacity-100 translate-y-0":"opacity-0 translate-y-8"),children:(0,s.jsx)("h1",{className:"text-5xl lg:text-7xl font-bold text-white mb-6 tracking-tight",children:"UNITED TATTOO"})}),(0,s.jsx)("div",{className:"transition-all duration-1000 delay-300 ".concat(e?"opacity-100 translate-y-0":"opacity-0 translate-y-8"),children:(0,s.jsx)("p",{className:"text-xl lg:text-2xl text-gray-200 mb-12 font-light",children:"Where artistry meets precision"})}),(0,s.jsx)("div",{className:"transition-all duration-1000 delay-500 ".concat(e?"opacity-100 translate-y-0":"opacity-0 translate-y-8"),children:(0,s.jsx)(r.z,{size:"lg",className:"bg-gray-50 text-gray-900 hover:bg-gray-100 px-8 py-4 text-lg font-medium rounded-lg w-full sm:w-auto",children:"Book Consultation"})})]})]})}},40001:function(e,t,a){"use strict";a.d(t,{ScrollProgress:function(){return r}});var s=a(57437),i=a(2265);function r(){let[e,t]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let e=()=>{let e=document.documentElement.scrollHeight-window.innerHeight;t(Math.min(window.scrollY/e*100,100))};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]),(0,s.jsx)("div",{className:"fixed top-0 left-0 right-0 z-[60] h-1 bg-background/20",children:(0,s.jsx)("div",{className:"h-full bg-primary transition-all duration-150 ease-out",style:{width:"".concat(e,"%")}})})}},77153:function(e,t,a){"use strict";a.d(t,{ScrollToSection:function(){return i}});var s=a(2265);function i(){return(0,s.useEffect)(()=>{let e=e=>{var t,a;let s=e.target;if("A"===s.tagName&&(null===(t=s.getAttribute("href"))||void 0===t?void 0:t.startsWith("#"))){e.preventDefault();let t=null===(a=s.getAttribute("href"))||void 0===a?void 0:a.slice(1),i=document.getElementById(t||"");if(i){let e=i.getBoundingClientRect().top+window.pageYOffset;window.scrollTo({top:e-80,behavior:"smooth"})}}};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[]),null}},19573:function(e,t,a){"use strict";a.d(t,{ServicesSection:function(){return y}});var s=a(57437),i=a(2265),r=a(62869),l=a(27648),n=a(66070),o=a(9467),c=a(32660),d=a(76858),m=a(94508);let h=i.createContext(null);function u(){let e=i.useContext(h);if(!e)throw Error("useCarousel must be used within a <Carousel />");return e}function g(e){let{orientation:t="horizontal",opts:a,setApi:r,plugins:l,className:n,children:c,...d}=e,[u,g]=(0,o.Z)({...a,axis:"horizontal"===t?"x":"y"},l),[x,p]=i.useState(!1),[b,f]=i.useState(!1),v=i.useCallback(e=>{e&&(p(e.canScrollPrev()),f(e.canScrollNext()))},[]),w=i.useCallback(()=>{null==g||g.scrollPrev()},[g]),j=i.useCallback(()=>{null==g||g.scrollNext()},[g]),y=i.useCallback(e=>{"ArrowLeft"===e.key?(e.preventDefault(),w()):"ArrowRight"===e.key&&(e.preventDefault(),j())},[w,j]);return i.useEffect(()=>{g&&r&&r(g)},[g,r]),i.useEffect(()=>{if(g)return v(g),g.on("reInit",v),g.on("select",v),()=>{null==g||g.off("select",v)}},[g,v]),(0,s.jsx)(h.Provider,{value:{carouselRef:u,api:g,opts:a,orientation:t||((null==a?void 0:a.axis)==="y"?"vertical":"horizontal"),scrollPrev:w,scrollNext:j,canScrollPrev:x,canScrollNext:b},children:(0,s.jsx)("div",{onKeyDownCapture:y,className:(0,m.cn)("relative",n),role:"region","aria-roledescription":"carousel","data-slot":"carousel",...d,children:c})})}function x(e){let{className:t,...a}=e,{carouselRef:i,orientation:r}=u();return(0,s.jsx)("div",{ref:i,className:"overflow-hidden","data-slot":"carousel-content",children:(0,s.jsx)("div",{className:(0,m.cn)("flex","horizontal"===r?"-ml-4":"-mt-4 flex-col",t),...a})})}function p(e){let{className:t,...a}=e,{orientation:i}=u();return(0,s.jsx)("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:(0,m.cn)("min-w-0 shrink-0 grow-0 basis-full","horizontal"===i?"pl-4":"pt-4",t),...a})}function b(e){let{className:t,variant:a="outline",size:i="icon",...l}=e,{orientation:n,scrollPrev:o,canScrollPrev:d}=u();return(0,s.jsxs)(r.z,{"data-slot":"carousel-previous",variant:a,size:i,className:(0,m.cn)("absolute size-8 rounded-full","horizontal"===n?"top-1/2 -left-12 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!d,onClick:o,...l,children:[(0,s.jsx)(c.Z,{}),(0,s.jsx)("span",{className:"sr-only",children:"Previous slide"})]})}function f(e){let{className:t,variant:a="outline",size:i="icon",...l}=e,{orientation:n,scrollNext:o,canScrollNext:c}=u();return(0,s.jsxs)(r.z,{"data-slot":"carousel-next",variant:a,size:i,className:(0,m.cn)("absolute size-8 rounded-full","horizontal"===n?"top-1/2 -right-12 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!c,onClick:o,...l,children:[(0,s.jsx)(d.Z,{}),(0,s.jsx)("span",{className:"sr-only",children:"Next slide"})]})}let v=[{title:"Black & Grey Realism",description:"Photorealistic tattoos with incredible depth and detail using black and grey shading techniques.",features:["Lifelike portraits","Detailed shading","3D effects"],price:"Starting at $250"},{title:"Cover-ups & Blackout",description:"Transform old tattoos into stunning new pieces with expert cover-up techniques or bold blackout designs.",features:["Free consultation","Creative solutions","Complete coverage"],price:"Starting at $300"},{title:"Fine Line & Micro Realism",description:"Delicate, precise linework and tiny realistic designs that showcase incredible detail.",features:["Single needle work","Intricate details","Minimalist aesthetic"],price:"Starting at $150"},{title:"Traditional & Neo-Traditional",description:"Bold American traditional and neo-traditional styles with vibrant colors and strong lines.",features:["Classic designs","Bold color palettes","Timeless appeal"],price:"Starting at $200"},{title:"Anime & Watercolor",description:"Vibrant anime characters and painterly watercolor effects that bring art to life on skin.",features:["Character designs","Soft color blends","Artistic techniques"],price:"Starting at $250"}];function w(){return(0,s.jsxs)("section",{className:"lg:hidden bg-black text-white py-16",children:[(0,s.jsxs)("div",{className:"px-6 mb-12 text-center",children:[(0,s.jsx)("div",{className:"mb-4",children:(0,s.jsx)("span",{className:"text-sm font-medium tracking-widest text-white/60 uppercase",children:"Our Services"})}),(0,s.jsx)("h2",{className:"text-4xl font-bold tracking-tight mb-4",children:"Choose Your Style"}),(0,s.jsx)("p",{className:"text-white/70 max-w-md mx-auto",children:"From custom designs to cover-ups, we offer comprehensive tattoo services with the highest standards."})]}),(0,s.jsx)("div",{className:"px-4",children:(0,s.jsxs)(g,{opts:{align:"start",loop:!0},className:"w-full max-w-sm mx-auto",children:[(0,s.jsx)(x,{className:"-ml-2",children:v.map((e,t)=>(0,s.jsx)(p,{className:"pl-2 basis-full",children:(0,s.jsxs)(n.Zb,{className:"bg-black border-white/20 text-white h-full",children:[(0,s.jsxs)(n.Ol,{className:"pb-4",children:[(0,s.jsxs)("div",{className:"text-xs font-medium tracking-widest text-white/60 uppercase mb-2",children:["Service ",String(t+1).padStart(2,"0")]}),(0,s.jsx)(n.ll,{className:"text-2xl font-bold leading-tight",children:e.title}),(0,s.jsx)(n.SZ,{className:"text-white/80 text-base leading-relaxed",children:e.description})]}),(0,s.jsxs)(n.aY,{className:"pb-4",children:[(0,s.jsx)("div",{className:"space-y-2 mb-6",children:e.features.map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center text-white/70",children:[(0,s.jsx)("span",{className:"w-1.5 h-1.5 bg-white/40 rounded-full mr-3 flex-shrink-0"}),(0,s.jsx)("span",{className:"text-sm",children:e})]},t))}),(0,s.jsx)("div",{className:"text-xl font-bold text-white mb-4",children:e.price})]}),(0,s.jsx)(n.eW,{className:"pt-0",children:(0,s.jsx)(r.z,{asChild:!0,className:"w-full bg-white text-black hover:bg-gray-100 !text-black font-medium",children:(0,s.jsx)(l.default,{href:"/book",children:"BOOK NOW"})})})]})},t))}),(0,s.jsxs)("div",{className:"flex justify-center mt-8 gap-4",children:[(0,s.jsx)(b,{className:"relative translate-y-0 left-0 bg-white/10 border-white/20 text-white hover:bg-white/20"}),(0,s.jsx)(f,{className:"relative translate-y-0 right-0 bg-white/10 border-white/20 text-white hover:bg-white/20"})]})]})})]})}let j=[{title:"Black & Grey Realism",description:"Photorealistic tattoos with incredible depth and detail using black and grey shading techniques.",features:["Lifelike portraits","Detailed shading","3D effects"],price:"Starting at $250",bgColor:"bg-gray-100"},{title:"Cover-ups & Blackout",description:"Transform old tattoos into stunning new pieces with expert cover-up techniques or bold blackout designs.",features:["Free consultation","Creative solutions","Complete coverage"],price:"Starting at $300",bgColor:"bg-black"},{title:"Fine Line & Micro Realism",description:"Delicate, precise linework and tiny realistic designs that showcase incredible detail.",features:["Single needle work","Intricate details","Minimalist aesthetic"],price:"Starting at $150",bgColor:"bg-purple-100"},{title:"Traditional & Neo-Traditional",description:"Bold American traditional and neo-traditional styles with vibrant colors and strong lines.",features:["Classic designs","Bold color palettes","Timeless appeal"],price:"Starting at $200",bgColor:"bg-red-100"},{title:"Anime & Watercolor",description:"Vibrant anime characters and painterly watercolor effects that bring art to life on skin.",features:["Character designs","Soft color blends","Artistic techniques"],price:"Starting at $250",bgColor:"bg-blue-100"}];function y(){let[e,t]=(0,i.useState)(0),[a,n]=(0,i.useState)([]),o=(0,i.useRef)(null);return(0,i.useEffect)(()=>{var e;let a=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let a=Number.parseInt(e.target.getAttribute("data-service-index")||"0");n(e=>[...new Set([...e,a])]),t(a)}})},{threshold:.5,rootMargin:"0px 0px -50% 0px"}),s=null===(e=o.current)||void 0===e?void 0:e.querySelectorAll("[data-service-index]");return null==s||s.forEach(e=>a.observe(e)),()=>a.disconnect()},[]),(0,s.jsxs)("section",{ref:o,id:"services",className:"min-h-screen relative",children:[(0,s.jsx)("div",{className:"absolute inset-x-0 top-0 h-16 bg-black rounded-b-[100px]"}),(0,s.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-16 bg-black rounded-t-[100px]"}),(0,s.jsx)("div",{className:"bg-white py-20 px-8 lg:px-16 relative z-10",children:(0,s.jsx)("div",{className:"max-w-screen-2xl mx-auto",children:(0,s.jsxs)("div",{className:"grid lg:grid-cols-2 gap-16 items-center",children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("div",{className:"absolute -left-4 top-0 w-1 h-32 bg-black/10"}),(0,s.jsx)("div",{className:"mb-8",children:(0,s.jsx)("span",{className:"text-sm font-medium tracking-widest text-black/60 uppercase",children:"What We Offer"})}),(0,s.jsx)("h2",{className:"text-6xl lg:text-8xl font-bold tracking-tight mb-8 text-balance",children:"SERVICES"}),(0,s.jsx)("p",{className:"text-xl text-black/70 leading-relaxed max-w-lg",children:"From custom designs to cover-ups, we offer comprehensive tattoo services with the highest standards of quality and safety."})]}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("div",{className:"bg-black/5 h-96 rounded-2xl overflow-hidden shadow-2xl",children:(0,s.jsx)("img",{src:"/tattoo-equipment-and-tools.jpg",alt:"Tattoo Equipment",className:"w-full h-full object-cover"})}),(0,s.jsx)("div",{className:"absolute -bottom-4 -right-4 w-24 h-24 bg-black/5 rounded-full"})]})]})})}),(0,s.jsx)("div",{className:"hidden lg:block bg-black text-white relative z-10",children:(0,s.jsxs)("div",{className:"flex",children:[(0,s.jsxs)("div",{className:"w-1/2 sticky top-0 h-screen bg-black relative",children:[(0,s.jsx)("div",{className:"absolute right-0 top-0 w-px h-full bg-white/10"}),(0,s.jsx)("div",{className:"h-full flex flex-col justify-center p-16 relative",children:(0,s.jsxs)("div",{className:"space-y-8",children:[(0,s.jsxs)("div",{className:"mb-12",children:[(0,s.jsx)("div",{className:"w-12 h-px bg-white/40 mb-6"}),(0,s.jsx)("span",{className:"text-sm font-medium tracking-widest text-white/60 uppercase",children:"Our Services"}),(0,s.jsx)("h3",{className:"text-4xl font-bold tracking-tight mt-4 text-balance",children:"Choose Your Style"})]}),j.map((t,a)=>(0,s.jsx)("div",{className:"transition-all duration-500 cursor-pointer group ".concat(e===a?"opacity-100":"opacity-50 hover:opacity-75"),onClick:()=>{let e=document.querySelector('[data-service-index="'.concat(a,'"]'));null==e||e.scrollIntoView({behavior:"smooth"})},children:(0,s.jsxs)("div",{className:"border-l-2 pl-6 py-4 transition-all duration-300 ".concat(e===a?"border-white":"border-white/20 group-hover:border-white/40"),children:[(0,s.jsx)("h4",{className:"text-2xl font-bold mb-2",children:t.title}),(0,s.jsx)("p",{className:"text-white/70 text-sm",children:t.price})]})},a))]})})]}),(0,s.jsx)("div",{className:"w-full lg:w-1/2 bg-gradient-to-b from-black to-gray-900",children:j.map((e,t)=>(0,s.jsxs)("div",{"data-service-index":t,className:"min-h-screen flex items-center justify-center p-8 lg:p-16 relative",children:[(0,s.jsx)("div",{className:"absolute left-0 top-1/2 w-px h-32 bg-white/10 -translate-y-1/2"}),(0,s.jsxs)("div",{className:"max-w-lg relative",children:[(0,s.jsx)("div",{className:"mb-6",children:(0,s.jsxs)("span",{className:"text-sm font-medium tracking-widest text-white/60 uppercase",children:["Service ",String(t+1).padStart(2,"0")]})}),(0,s.jsx)("h3",{className:"text-4xl lg:text-6xl font-bold tracking-tight mb-6 text-balance",children:e.title.split(" ").map((e,t)=>(0,s.jsx)("span",{className:"block",children:e},t))}),(0,s.jsxs)("div",{className:"space-y-6 mb-8",children:[(0,s.jsx)("p",{className:"text-lg text-white/80 leading-relaxed",children:e.description}),(0,s.jsx)("div",{className:"space-y-2",children:e.features.map((e,t)=>(0,s.jsxs)("p",{className:"text-white/70 flex items-center",children:[(0,s.jsx)("span",{className:"w-1 h-1 bg-white/40 rounded-full mr-3"}),e]},t))}),(0,s.jsx)("p",{className:"text-2xl font-bold text-white",children:e.price})]}),(0,s.jsx)(r.z,{asChild:!0,className:"bg-white text-black hover:bg-white/90 !text-black px-8 py-4 text-lg font-medium tracking-wide transition-all duration-300 hover:scale-105",children:(0,s.jsx)(l.default,{href:"/book",children:"BOOK NOW"})}),(0,s.jsx)("div",{className:"mt-12",children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("img",{src:"/abstract-geometric-shapes.png?height=300&width=400&query=".concat(e.title.toLowerCase()," tattoo example"),alt:e.title,className:"w-full max-w-sm h-auto object-cover rounded-lg shadow-2xl"}),(0,s.jsx)("div",{className:"absolute -bottom-2 -right-2 w-16 h-16 bg-white/5 rounded-lg"})]})})]})]},t))})]})}),(0,s.jsx)(w,{})]})}},66070:function(e,t,a){"use strict";a.d(t,{Ol:function(){return l},SZ:function(){return o},Zb:function(){return r},aY:function(){return c},eW:function(){return d},ll:function(){return n}});var s=a(57437);a(2265);var i=a(94508);function r(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card",className:(0,i.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function l(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,i.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function n(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,i.cn)("leading-none font-semibold",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...a})}function c(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,i.cn)("px-6",t),...a})}function d(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-footer",className:(0,i.cn)("flex items-center px-6 [.border-t]:pt-6",t),...a})}},95186:function(e,t,a){"use strict";a.d(t,{I:function(){return r}});var s=a(57437);a(2265);var i=a(94508);function r(e){let{className:t,type:a,...r}=e;return(0,s.jsx)("input",{type:a,"data-slot":"input",className:(0,i.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...r})}},76818:function(e,t,a){"use strict";a.d(t,{g:function(){return r}});var s=a(57437);a(2265);var i=a(94508);function r(e){let{className:t,...a}=e;return(0,s.jsx)("textarea",{"data-slot":"textarea",className:(0,i.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...a})}},38909:function(e,t,a){"use strict";a.d(t,{AE:function(){return s}});let s=[{id:1,slug:"christy-lumberg",name:"Christy Lumberg",title:"The Ink Mama",specialty:"Expert Cover-Up & Illustrative Specialist",faceImage:"/artists/christy-lumberg-portrait.jpg",workImages:["/artists/christy-lumberg-work-1.jpg","/artists/christy-lumberg-work-2.jpg","/artists/christy-lumberg-work-3.jpg","/artists/christy-lumberg-work-4.jpg"],bio:"With over 22 years of experience, Christy Lumberg is a powerhouse in the tattoo industry, known for her exceptional cover-ups, tattoo makeovers, and bold illustrative designs.",experience:"22+ years",rating:5,reviews:245,availability:"Available",styles:["Cover-ups","Illustrative","Black & Grey","Color Work","Tattoo Makeovers"],description1:{text:"Meet Christy Lumberg - The Ink Mama of United Tattoo",details:["With over 22 years of experience, Christy Lumberg is a powerhouse in the tattoo industry, known for her exceptional cover-ups, tattoo makeovers, and bold illustrative designs.","Whether you're looking to transform old ink, refresh a faded piece, or bring a brand-new vision to life, Christy's precision and artistry deliver next-level results."]},description2:{text:"CEO & Trusted Artist",details:["As the CEO of United Tattoo, based in Fountain and Colorado Springs, she has cultivated a space where artistry, creativity, and expertise thrive.","Clients travel from all over to sit in her chair—because when it comes to experience, Christy is the name you trust."]},description3:{text:"Specialties & Portfolio",details:["✔ Cover-Up Specialist – Turning past ink into stunning new pieces.","✔ Tattoo Makeovers – Revitalizing and enhancing faded tattoos.","✔ Illustrative Style – From bold black-and-grey to vibrant, intricate designs.","✔ Trusted Artist in Fountain & Colorado Springs – A leader in the local tattoo scene.","Before & After cover-ups and transformations.","Illustrative masterpieces in full color and black and grey."]},instagram:"https://www.instagram.com/inkmama719",facebook:"",twitter:""},{id:2,slug:"angel-andrade",name:"Angel Andrade",title:"",specialty:"Precision in the details",faceImage:"/artists/angel-andrade-portrait.jpg",workImages:["/artists/angel-andrade-work-1.jpg","/artists/angel-andrade-work-2.jpg","/artists/angel-andrade-work-3.jpg","/artists/angel-andrade-work-4.jpg"],bio:"From lifelike micro designs to clean, modern aesthetics, Angel's tattoos are proof that big impact comes in small packages.",experience:"5 years",rating:4.8,reviews:89,availability:"Available",styles:["Fine Line","Micro Realism","Black & Grey","Minimalist","Geometric"],description1:{text:"Precision in the details",details:["From lifelike micro designs to clean, modern aesthetics, Angel's tattoos are proof that big impact comes in small packages.","Angel specializes in fine line work and micro realism, creating intricate designs that showcase exceptional attention to detail."]}},{id:3,slug:"amari-rodriguez",name:"Amari Rodriguez",title:"",specialty:"Apprentice Artist",faceImage:"/artists/amari-rodriguez-portrait.jpg",workImages:["/artists/amari-rodriguez-work-1.jpg","/artists/amari-rodriguez-work-2.jpg","/artists/amari-rodriguez-work-3.jpg"],bio:"Passionate apprentice artist bringing fresh creativity and dedication to every piece.",experience:"Apprentice",rating:4.5,reviews:12,availability:"Available",styles:["Traditional","Color Work","Black & Grey","Fine Line"],description1:{text:"Rising Talent",details:["Amari is our talented apprentice, training under the guidance of Christy Lumberg.","Bringing fresh perspectives and passionate dedication to the art of tattooing."]}},{id:4,slug:"donovan-lankford",name:"Donovan Lankford",title:"",specialty:"Boldly Illustrated",faceImage:"/artists/donovan-lankford-portrait.jpg",workImages:["/artists/donovan-lankford-work-1.jpg","/artists/donovan-lankford-work-2.jpg","/artists/donovan-lankford-work-3.jpg","/artists/donovan-lankford-work-4.jpg"],bio:"Donovan's artistry seamlessly merges bold and intricate illustrative details, infusing each tattoo with unparalleled passion and creativity.",experience:"8 years",rating:4.9,reviews:167,availability:"Available",styles:["Anime","Illustrative","Black & Grey","Dotwork","Neo-Traditional"],description1:{text:"Boldly Illustrated",details:["Donovan's artistry seamlessly merges bold and intricate illustrative details, infusing each tattoo with unparalleled passion and creativity.","From anime-inspired designs to striking black and grey illustrative work and meticulous dotwork, his versatility brings every vision to life."]}},{id:5,slug:"efrain-ej-segoviano",name:"Efrain 'EJ' Segoviano",title:"",specialty:"Evolving Boldly",faceImage:"/artists/ej-segoviano-portrait.jpg",workImages:["/artists/ej-segoviano-work-1.jpg","/artists/ej-segoviano-work-2.jpg","/artists/ej-segoviano-work-3.jpg"],bio:"EJ is a self-taught tattoo artist redefining creativity with fresh perspectives and undeniable skill.",experience:"6 years",rating:4.7,reviews:93,availability:"Available",styles:["Black & Grey","High Contrast","Realism","Illustrative"],description1:{text:"Evolving Boldly",details:["EJ is a self-taught tattoo artist redefining creativity with fresh perspectives and undeniable skill.","A rising star in the industry, his high-contrast black and grey designs showcase a bold, evolving artistry that leaves a lasting impression."]}},{id:6,slug:"heather-santistevan",name:"Heather Santistevan",title:"",specialty:"Art in Motion",faceImage:"/artists/heather-santistevan-portrait.jpg",workImages:["/artists/heather-santistevan-work-1.jpg","/artists/heather-santistevan-work-2.jpg","/artists/heather-santistevan-work-3.jpg","/artists/heather-santistevan-work-4.jpg"],bio:"With a creative journey spanning since 2012, Heather brings unmatched artistry to the tattoo world.",experience:"12+ years",rating:4.8,reviews:178,availability:"Limited slots",styles:["Watercolor","Embroidery Style","Patchwork","Illustrative","Color Work"],description1:{text:"Art in Motion",details:["With a creative journey spanning since 2012, Heather Santistevan brings unmatched artistry to the tattoo world.","Specializing in vibrant watercolor designs and intricate embroidery-style patchwork, her work turns skin into stunning, wearable art."]}},{id:7,slug:"john-lapides",name:"John Lapides",title:"",specialty:"Sharp and Crisp",faceImage:"/artists/john-lapides-portrait.jpg",workImages:["/artists/john-lapides-work-1.jpg","/artists/john-lapides-work-2.jpg","/artists/john-lapides-work-3.jpg"],bio:"John's artistic arsenal is as sharp as his tattoos, specializing in fine line, blackwork, geometric patterns, and neo-traditional styles.",experience:"10 years",rating:4.9,reviews:142,availability:"Available",styles:["Fine Line","Blackwork","Geometric","Neo-Traditional","Dotwork"],description1:{text:"Sharp and Crisp",details:["John's artistic arsenal is as sharp as his tattoos, specializing in fine line, blackwork, geometric patterns, and neo-traditional styles.","Each piece reflects his crisp precision and passion for pushing the boundaries of tattoo artistry."]}},{id:8,slug:"pako-martinez",name:"Pako Martinez",title:"",specialty:"Traditional Artistry",faceImage:"/artists/pako-martinez-portrait.jpg",workImages:["/artists/pako-martinez-work-1.jpg","/artists/pako-martinez-work-2.jpg","/artists/pako-martinez-work-3.jpg"],bio:"Master of traditional tattoo artistry bringing bold lines and vibrant colors to life.",experience:"7 years",rating:4.6,reviews:98,availability:"Available",styles:["Traditional","American Traditional","Neo-Traditional","Color Work"],description1:{text:"Traditional Master",details:["Pako brings traditional tattoo artistry to life with bold lines and vibrant colors.","Specializing in American traditional and neo-traditional styles."]}},{id:9,slug:"steven-sole-cedre",name:"Steven 'Sole' Cedre",title:"It has to have soul, Sole!",specialty:"Gritty Realism & Comic Art",faceImage:"/artists/steven-sole-cedre.jpg",workImages:["/artists/sole-cedre-work-1.jpg","/artists/sole-cedre-work-2.jpg","/artists/sole-cedre-work-3.jpg","/artists/sole-cedre-work-4.jpg"],bio:"Embark on an epic journey with Steven 'Sole' Cedre, a creative force with over three decades of electrifying artistry.",experience:"30+ years",rating:5,reviews:287,availability:"Limited slots",styles:["Realism","Comic Book","Black & Grey","Portraits","Illustrative"],description1:{text:"It has to have soul, Sole!",details:["Embark on an epic journey with Steven 'Sole' Cedre, a creative force with over three decades of electrifying artistry.","Fusing gritty realism with bold, comic book-inspired designs, Sole's tattoos are a dynamic celebration of storytelling and imagination."]}}]}},function(e){e.O(0,[6137,9480,2979,5360,2971,2117,1744],function(){return e(e.s=59400)}),_N_E=e.O()}]); |