PageSourceSearch

https://webdesignmiamicompany.com/assets/index-BN_4yr4E.js

js webdesignmiamicompany.com collected 2026-10-08 10:32:33 UTC 398,408 bytes, 2 lines download raw bytes

vendor: 28,210 bytes, lines 1-2
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/home-VSiR4sdt.js","assets/react-vendor-HiGT8-vh.js","assets/vid-integramed-Bf7TjXOM.js","assets/site-footer-C17jlNqM.js","assets/framer-BLWDiO2t.js","assets/wistia-embed-C9FRJSfE.js","assets/responsive-image-CQsehSC5.js","assets/about-DU-ycLuM.js","assets/leonardo-barros-CX2u3WG9.js","assets/breadcrumbs-Dp7ntH91.js","assets/services-BMokdqh2.js","assets/service-detail-vZiHPI1h.js","assets/service-vm-CvIKg4TJ.js","assets/service-detail-view-CvVaxLFT.js","assets/not-found-CrMVwGKo.js","assets/service-detail-es-DpUU4Bh6.js","assets/pricing-CU5ZnjIo.js","assets/pricing-experience-CFhV0pvv.js","assets/pricing-v2-cFuMEqdv.js","assets/portfolio-D6g3Rvup.js","assets/project-images-GHaz_R_o.js","assets/contact-CUWXy392.js","assets/contact-form-K8ZPDzqd.js","assets/proposal-Cssu6Skz.js","assets/cal-embed-B0e1Kmcg.js","assets/shield-check-Cn0SaHp6.js","assets/proposal-es-B-T7lRV6.js","assets/privacy-policy-BwFSGIkC.js","assets/terms-Bsi9ziNo.js","assets/accessibility-COGlBxxI.js","assets/estimate-CmLn5omU.js","assets/estimate-experience-D3FTwFLl.js","assets/florida-BaGJbLKL.js","assets/ai-mode-DSQ7sYn2.js","assets/home-es-D1hdLFKq.js","assets/about-es-C8sHdLCP.js","assets/services-es-CMY-Gblk.js","assets/portfolio-es-DWj1HVqM.js","assets/contact-es-DznwMSXo.js","assets/pricing-es-FXFZGND-.js","assets/estimate-es-B8FdmH-x.js","assets/florida-es-C2U--JYB.js","assets/ai-mode-es-BXq4DvDj.js","assets/faqs-9z108egh.js","assets/faqs-es-lqxOEi3h.js","assets/areas-we-serve-CaRfI1qA.js","assets/areas-we-serve-es-gBz0Y9MJ.js","assets/privacy-policy-es-vI52tn6b.js","assets/terms-es-BXOSLCfy.js","assets/accessibility-es-CT34_fA5.js","assets/location-D9uWXa-x.js","assets/location-vm-CEATLeaq.js","assets/location-es-B-YtTjHL.js","assets/thank-you-ac_wtWrQ.js","assets/circle-check-9EofS2GT.js","assets/thank-you-es-BUWoVwHD.js"])))=>i.map(i=>d[i]);
2import{r as d,j as g,R as co,a as bt,b as Bi,u as vt,S as Gi,c as z,d as Hi,e as va}from"./react-vendor-HiGT8-vh.js";import{u as Vi,A as Ui,m as $i}from"./framer-BLWDiO2t.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const n of s.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&o(n)}).observe(document,{childList:!0,subtree:!0});function a(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function o(i){if(i.ep)return;i.ep=!0;const s=a(i);fetch(i.href,s)}})();var wt=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Yi=class extends wt{#e;#t;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#a=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},lo=new Yi,Qi={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ki=class{#e=Qi;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},Ft=new Ki;function Xi(e){setTimeout(e,0)}var Ji=typeof window>"u"||"Deno"in globalThis;function te(){}function Zi(e,t){return typeof e=="function"?e(t):e}function es(e){return typeof e=="number"&&e>=0&&e!==1/0}function ts(e,t){return Math.max(e+(t||0)-Date.now(),0)}function _t(e,t){return typeof e=="function"?e(t):e}function as(e,t){return typeof e=="function"?e(t):e}function wa(e,t){const{type:a="all",exact:o,fetchStatus:i,predicate:s,queryKey:n,stale:r}=e;if(n){if(o){if(t.queryHash!==ea(n,t.options))return!1}else if(!Ye(t.queryKey,n))return!1}if(a!=="all"){const c=t.isActive();if(a==="active"&&!c||a==="inactive"&&c)return!1}return!(typeof r=="boolean"&&t.isStale()!==r||i&&i!==t.state.fetchStatus||s&&!s(t))}function Sa(e,t){const{exact:a,status:o,predicate:i,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(a){if($e(t.options.mutationKey)!==$e(s))return!1}else if(!Ye(t.options.mutationKey,s))return!1}return!(o&&t.state.status!==o||i&&!i(t))}function ea(e,t){return(t?.queryKeyHashFn||$e)(e)}function $e(e){return JSON.stringify(e,(t,a)=>Nt(a)?Object.keys(a).sort().reduce((o,i)=>(o[i]=a[i],o),{}):a)}function Ye(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(a=>Ye(e[a],t[a])):!1}var os=Object.prototype.hasOwnProperty;function uo(e,t,a=0){if(e===t)return e;if(a>500)return t;const o=ka(e)&&ka(t);if(!o&&!(Nt(e)&&Nt(t)))return t;const s=(o?e:Object.keys(e)).length,n=o?t:Object.keys(t),r=n.length,c=o?new Array(r):{};let l=0;for(let u=0;u<r;u++){const m=o?u:n[u],h=e[m],p=t[m];if(h===p){c[m]=h,(o?u<s:os.call(e,m))&&l++;continue}if(h===null||p===null||typeof h!="object"||typeof p!="object"){c[m]=p;continue}const f=uo(h,p,a+1);c[m]=f,f===h&&l++}return s===r&&l===s?e:c}function Yl(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const a in e)if(e[a]!==t[a])return!1;return!0}function ka(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Nt(e){if(!xa(e))return!1;const t=e.constructor;if(t===void 0)return!0;const a=t.prototype;return!(!xa(a)||!a.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function xa(e){return Object.prototype.toString.call(e)==="[object Object]"}function is(e){return new Promise(t=>{Ft.setTimeout(t,e)})}function ss(e,t,a){return typeof a.structuralSharing=="function"?a.structuralSharing(e,t):a.structuralSharing!==!1?uo(e,t):t}function ns(e,t,a=0){const o=[...e,t];return a&&o.length>a?o.slice(1):o}function rs(e,t,a=0){const o=[t,...e];return a&&o.length>a?o.slice(0,-1):o}var ta=Symbol();function mo(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===ta?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Ql(e,t){return typeof e=="function"?e(...t):!!e}function cs(e,t,a){let o=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),o||(o=!0,i.aborted?a():i.addEventListener("abort",a,{once:!0})),i)}),e}var po=(()=>{let e=()=>Ji;return{isServer(){return e()},setIsServer(t){e=t}}})();function ls(){let e,t;const a=new Promise((i,s)=>{e=i,t=s});a.status="pending",a.catch(()=>{});function o(i){Object.assign(a,i),delete a.resolve,delete a.reject}return a.resolve=i=>{o({status:"fulfilled",value:i}),e(i)},a.reject=i=>{o({status:"rejected",reason:i}),t(i)},a}var ds=Xi;function us(){let e=[],t=0,a=r=>{r()},o=r=>{r()},i=ds;const s=r=>{t?e.push(r):i(()=>{a(r)})},n=()=>{const r=e;e=[],r.length&&i(()=>{o(()=>{r.forEach(c=>{a(c)})})})};return{batch:r=>{let c;t++;try{c=r()}finally{t--,t||n()}return c},batchCalls:r=>(...c)=>{s(()=>{r(...c)})},schedule:s,setNotifyFunction:r=>{a=r},setBatchNotifyFunction:r=>{o=r},setScheduler:r=>{i=r}}}var X=us(),ms=class extends wt{#e=!0;#t;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e(!0),a=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",a)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#a=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(a=>{a(e)}))}isOnline(){return this.#e}},mt=new ms;function ps(e){return Math.min(1e3*2**e,3e4)}function ho(e){return(e??"online")==="online"?mt.isOnline():!0}var Bt=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function go(e){let t=!1,a=0,o;const i=ls(),s=()=>i.status!=="pending",n=y=>{if(!s()){const b=new Bt(y);h(b),e.onCancel?.(b)}},r=()=>{t=!0},c=()=>{t=!1},l=()=>lo.isFocused()&&(e.networkMode==="always"||mt.isOnline())&&e.canRun(),u=()=>ho(e.networkMode)&&e.canRun(),m=y=>{s()||(o?.(),i.resolve(y))},h=y=>{s()||(o?.(),i.reject(y))},p=()=>new Promise(y=>{o=b=>{(s()||l())&&y(b)},e.onPause?.()}).then(()=>{o=void 0,s()||e.onContinue?.()}),f=()=>{if(s())return;let y;const b=a===0?e.initialPromise:void 0;try{y=b??e.fn()}catch(w){y=Promise.reject(w)}Promise.resolve(y).then(m).catch(w=>{if(s())return;const v=e.retry??(po.isServer()?0:3),S=e.retryDelay??ps,k=typeof S=="function"?S(a,w):S,A=v===!0||typeof v=="number"&&a<v||typeof v=="function"&&v(a,w);if(t||!A){h(w);return}a++,e.onFail?.(a,w),is(k).then(()=>l()?void 0:p()).then(()=>{t?h(w):f()})})};return{promise:i,status:()=>i.status,cancel:n,continue:()=>(o?.(),i),cancelRetry:r,continueRetry:c,canStart:u,start:()=>(u()?f():p().then(f),i)}}var fo=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),es(this.gcTime)&&(this.#e=Ft.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(po.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(Ft.clearTimeout(this.#e),this.#e=void 0)}};function hs(e){return{onFetch:(t,a)=>{const o=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],n=t.state.data?.pageParams||[];let r={pages:[],pageParams:[]},c=0;const l=async()=>{let u=!1;const m=f=>{cs(f,()=>t.signal,()=>u=!0)},h=mo(t.options,t.fetchOptions),p=async(f,y,b)=>{if(u)return Promise.reject(t.signal.reason);if(y==null&&f.pages.length)return Promise.resolve(f);const v=(()=>{const M={client:t.client,queryKey:t.queryKey,pageParam:y,direction:b?"backward":"forward",meta:t.options.meta};return m(M),M})(),S=await h(v),{maxPages:k}=t.options,A=b?rs:ns;return{pages:A(f.pages,S,k),pageParams:A(f.pageParams,y,k)}};if(i&&s.length){const f=i==="backward",y=f?gs:qa,b={pages:s,pageParams:n},w=y(o,b);r=await p(b,w,f)}else{const f=e??s.length;do{const y=c===0?n[0]??o.initialPageParam:qa(o,r);if(c>0&&y==null)break;r=await p(r,y),c++}while(c<f)}return r};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},a):t.fetchFn=l}}}function qa(e,{pages:t,pageParams:a}){const o=t.length-1;return t.length>0?e.getNextPageParam(t[o],t,a[o],a):void 0}function gs(e,{pages:t,pageParams:a}){return t.length>0?e.getPreviousPageParam?.(t[0],t,a[0],a):void 0}var fs=class extends fo{#e;#t;#a;#i;#s;#o;#c;#n;constructor(e){super(),this.#n=!1,this.#c=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#s=e.client,this.#i=this.#s.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Ca(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#o?.promise}setOptions(e){if(this.options={...this.#c,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const t=Ca(this.options);t.data!==void 0&&(this.setState(Aa(t.data,t.dataUpdatedAt)),this.#t=t)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#i.remove(this)}setData(e,t){const a=ss(this.state.data,e,this.options);return this.#r({data:a,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),a}setState(e){this.#r({type:"setState",state:e})}cancel(e){const t=this.#o?.promise;return this.#o?.cancel(e),t?t.then(te).catch(te):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>as(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ta||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>_t(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!ts(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#o?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#o?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#i.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#o&&(this.#n||this.#l()?this.#o.cancel({revert:!0}):this.#o.cancelRetry()),this.scheduleGc()),this.#i.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#l(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#r({type:"invalidate"})}async fetch(e,t){if(this.state.fetchStatus!=="idle"&&this.#o?.status()!=="rejected"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#o)return this.#o.continueRetry(),this.#o.promise}if(e&&this.setOptions(e),!this.options.queryFn){const c=this.observers.find(l=>l.options.queryFn);c&&this.setOptions(c.options)}const a=new AbortController,o=c=>{Object.defineProperty(c,"signal",{enumerable:!0,get:()=>(this.#n=!0,a.signal)})},i=()=>{const c=mo(this.options,t),u=(()=>{const m={client:this.#s,queryKey:this.queryKey,meta:this.meta};return o(m),m})();return this.#n=!1,this.options.persister?this.options.persister(c,u,this):c(u)},n=(()=>{const c={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#s,state:this.state,fetchFn:i};return o(c),c})();(this.#e==="infinite"?hs(this.options.pages):this.options.behavior)?.onFetch(n,this),this.#a=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==n.fetchOptions?.meta)&&this.#r({type:"fetch",meta:n.fetchOptions?.meta}),this.#o=go({initialPromise:t?.initialPromise,fn:n.fetchFn,onCancel:c=>{c instanceof Bt&&c.revert&&this.setState({...this.#a,fetchStatus:"idle"}),a.abort()},onFail:(c,l)=>{this.#r({type:"failed",failureCount:c,error:l})},onPause:()=>{this.#r({type:"pause"})},onContinue:()=>{this.#r({type:"continue"})},retry:n.options.retry,retryDelay:n.options.retryDelay,networkMode:n.options.networkMode,canRun:()=>!0});try{const c=await this.#o.start();if(c===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(c),this.#i.config.onSuccess?.(c,this),this.#i.config.onSettled?.(c,this.state.error,this),c}catch(c){if(c instanceof Bt){if(c.silent)return this.#o.promise;if(c.revert){if(this.state.data===void 0)throw c;return this.state.data}}throw this.#r({type:"error",error:c}),this.#i.config.onError?.(c,this),this.#i.config.onSettled?.(this.state.data,c,this),c}finally{this.scheduleGc()}}#r(e){const t=a=>{switch(e.type){case"failed":return{...a,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,...ys(a.data,this.options),fetchMeta:e.meta??null};case"success":const o={...a,...Aa(e.data,e.dataUpdatedAt),dataUpdateCount:a.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#a=e.manual?o:void 0,o;case"error":const i=e.error;return{...a,error:i,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...e.state}}};this.state=t(this.state),X.batch(()=>{this.observers.forEach(a=>{a.onQueryUpdate()}),this.#i.notify({query:this,type:"updated",action:e})})}};function ys(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ho(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Aa(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ca(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,a=t!==void 0,o=a?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:a?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:a?"success":"pending",fetchStatus:"idle"}}var bs=class extends fo{#e;#t;#a;#i;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#a=e.mutationCache,this.#t=[],this.state=e.state||vs(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#a.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#a.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#s({type:"continue"})},a={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#i=go({fn:()=>this.options.mutationFn?this.options.mutationFn(e,a):Promise.reject(new Error("No mutationFn found")),onFail:(s,n)=>{this.#s({type:"failed",failureCount:s,error:n})},onPause:()=>{this.#s({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#a.canRun(this)});const o=this.state.status==="pending",i=!this.#i.canStart();try{if(o)t();else{this.#s({type:"pending",variables:e,isPaused:i}),this.#a.config.onMutate&&await this.#a.config.onMutate(e,this,a);const n=await this.options.onMutate?.(e,a);n!==this.state.context&&this.#s({type:"pending",context:n,variables:e,isPaused:i})}const s=await this.#i.start();return await this.#a.config.onSuccess?.(s,e,this.state.context,this,a),await this.options.onSuccess?.(s,e,this.state.context,a),await this.#a.config.onSettled?.(s,null,this.state.variables,this.state.context,this,a),await this.options.onSettled?.(s,null,e,this.state.context,a),this.#s({type:"success",data:s}),s}catch(s){try{await this.#a.config.onError?.(s,e,this.state.context,this,a)}catch(n){Promise.reject(n)}try{await this.options.onError?.(s,e,this.state.context,a)}catch(n){Promise.reject(n)}try{await this.#a.config.onSettled?.(void 0,s,this.state.variables,this.state.context,this,a)}catch(n){Promise.reject(n)}try{await this.options.onSettled?.(void 0,s,e,this.state.context,a)}catch(n){Promise.reject(n)}throw this.#s({type:"error",error:s}),s}finally{this.#a.runNext(this)}}#s(e){const t=a=>{switch(e.type){case"failed":return{...a,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...a,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:e.error,failureCount:a.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),X.batch(()=>{this.#t.forEach(a=>{a.onMutationUpdate(e)}),this.#a.notify({mutation:this,type:"updated",action:e})})}};function vs(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ws=class extends wt{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#a=0}#e;#t;#a;build(e,t,a){const o=new bs({client:e,mutationCache:this,mutationId:++this.#a,options:e.defaultMutationOptions(t),state:a});return this.add(o),o}add(e){this.#e.add(e);const t=tt(e);if(typeof t=="string"){const a=this.#t.get(t);a?a.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const t=tt(e);if(typeof t=="string"){const a=this.#t.get(t);if(a)if(a.length>1){const o=a.indexOf(e);o!==-1&&a.splice(o,1)}else a[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=tt(e);if(typeof t=="string"){const o=this.#t.get(t)?.find(i=>i.state.status==="pending");return!o||o===e}else return!0}runNext(e){const t=tt(e);return typeof t=="string"?this.#t.get(t)?.find(o=>o!==e&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){X.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const t={exact:!0,...e};return this.getAll().find(a=>Sa(t,a))}findAll(e={}){return this.getAll().filter(t=>Sa(e,t))}notify(e){X.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return X.batch(()=>Promise.all(e.map(t=>t.continue().catch(te))))}};function tt(e){return e.options.scope?.id}var Ss=class extends wt{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,a){const o=t.queryKey,i=t.queryHash??ea(o,t);let s=this.get(i);return s||(s=new fs({client:e,queryKey:o,queryHash:i,options:e.defaultQueryOptions(t),state:a,defaultOptions:e.getQueryDefaults(o)}),this.add(s)),s}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){X.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(a=>wa(t,a))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(a=>wa(e,a)):t}notify(e){X.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){X.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){X.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},ks=class{#e;#t;#a;#i;#s;#o;#c;#n;constructor(e={}){this.#e=e.queryCache||new Ss,this.#t=e.mutationCache||new ws,this.#a=e.defaultOptions||{},this.#i=new Map,this.#s=new Map,this.#o=0}mount(){this.#o++,this.#o===1&&(this.#c=lo.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#n=mt.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#o--,this.#o===0&&(this.#c?.(),this.#c=void 0,this.#n?.(),this.#n=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),a=this.#e.build(this,t),o=a.state.data;return o===void 0?this.fetchQuery(e):(e.revalidateIfStale&&a.isStaleByTime(_t(t.staleTime,a))&&this.prefetchQuery(t),Promise.resolve(o))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:a})=>{const o=a.data;return[t,o]})}setQueryData(e,t,a){const o=this.defaultQueryOptions({queryKey:e}),s=this.#e.get(o.queryHash)?.state.data,n=Zi(t,s);if(n!==void 0)return this.#e.build(this,o).setData(n,{...a,manual:!0})}setQueriesData(e,t,a){return X.batch(()=>this.#e.findAll(e).map(({queryKey:o})=>[o,this.setQueryData(o,t,a)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){const t=this.#e;X.batch(()=>{t.findAll(e).forEach(a=>{t.remove(a)})})}resetQueries(e,t){const a=this.#e;return X.batch(()=>(a.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const a={revert:!0,...t},o=X.batch(()=>this.#e.findAll(e).map(i=>i.cancel(a)));return Promise.all(o).then(te).catch(te)}invalidateQueries(e,t={}){return X.batch(()=>(this.#e.findAll(e).forEach(a=>{a.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const a={...t,cancelRefetch:t.cancelRefetch??!0},o=X.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,a);return a.throwOnError||(s=s.catch(te)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(o).then(te)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const a=this.#e.build(this,t);return a.isStaleByTime(_t(t.staleTime,a))?a.fetch(t):Promise.resolve(a.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(te).catch(te)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(te).catch(te)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return mt.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#a}setDefaultOptions(e){this.#a=e}setQueryDefaults(e,t){this.#i.set($e(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#i.values()],a={};return t.forEach(o=>{Ye(e,o.queryKey)&&Object.assign(a,o.defaultOptions)}),a}setMutationDefaults(e,t){this.#s.set($e(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#s.values()],a={};return t.forEach(o=>{Ye(e,o.mutationKey)&&Object.assign(a,o.defaultOptions)}),a}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#a.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=ea(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===ta&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#a.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},yo=d.createContext(void 0),Kl=e=>{const t=d.useContext(yo);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},xs=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),g.jsx(yo.Provider,{value:e,children:t}));const qs=1,As=1e6;let Pt=0;function Cs(){return Pt=(Pt+1)%Number.MAX_SAFE_INTEGER,Pt.toString()}const Dt=new Map,Ea=e=>{if(Dt.has(e))return;const t=setTimeout(()=>{Dt.delete(e),Ue({type:"REMOVE_TOAST",toastId:e})},As);Dt.set(e,t)},Es=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,qs)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(a=>a.id===t.toast.id?{...a,...t.toast}:a)};case"DISMISS_TOAST":{const{toastId:a}=t;
2return a?Ea(a):e.toasts.forEach(o=>{Ea(o.id)}),{...e,toasts:e.toasts.map(o=>o.id===a||a===void 0?{...o,open:!1}:o)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(a=>a.id!==t.toastId)}}},ct=[];let lt={toasts:[]};function Ue(e){lt=Es(lt,e),ct.forEach(t=>{t(lt)})}function Ts({...e}){const t=Cs(),a=i=>Ue({type:"UPDATE_TOAST",toast:{...i,id:t}}),o=()=>Ue({type:"DISMISS_TOAST",toastId:t});return Ue({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:i=>{i||o()}}}),{id:t,dismiss:o,update:a}}function Ms(){const[e,t]=d.useState(lt);return d.useEffect(()=>(ct.push(t),()=>{const a=ct.indexOf(t);a>-1&&ct.splice(a,1)}),[e]),{...e,toast:Ts,dismiss:a=>Ue({type:"DISMISS_TOAST",toastId:a})}}function $(e,t,{checkForDefaultPrevented:a=!0}={}){return function(i){if(e?.(i),a===!1||!i.defaultPrevented)return t?.(i)}}function Ta(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ps(...e){return t=>{let a=!1;const o=e.map(i=>{const s=Ta(i,t);return!a&&typeof s=="function"&&(a=!0),s});if(a)return()=>{for(let i=0;i<o.length;i++){const s=o[i];typeof s=="function"?s():Ta(e[i],null)}}}}function ae(...e){return d.useCallback(Ps(...e),e)}function St(e,t=[]){let a=[];function o(s,n){const r=d.createContext(n);r.displayName=s+"Context";const c=a.length;a=[...a,n];const l=m=>{const{scope:h,children:p,...f}=m,y=h?.[e]?.[c]||r,b=d.useMemo(()=>f,Object.values(f));return g.jsx(y.Provider,{value:b,children:p})};l.displayName=s+"Provider";function u(m,h){const p=h?.[e]?.[c]||r,f=d.useContext(p);if(f)return f;if(n!==void 0)return n;throw new Error(`\`${m}\` must be used within \`${s}\``)}return[l,u]}const i=()=>{const s=a.map(n=>d.createContext(n));return function(r){const c=r?.[e]||s;return d.useMemo(()=>({[`__scope${e}`]:{...r,[e]:c}}),[r,c])}};return i.scopeName=e,[o,Ds(i,...t)]}function Ds(...e){const t=e[0];if(e.length===1)return t;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(s){const n=o.reduce((r,{useScope:c,scopeName:l})=>{const m=c(s)[`__scope${l}`];return{...r,...m}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return a.scopeName=t.scopeName,a}function Gt(e){const t=d.forwardRef((a,o)=>{let{children:i,...s}=a,n=null,r=!1;const c=[];Ma(i)&&typeof at=="function"&&(i=at(i._payload)),d.Children.forEach(i,h=>{if(Is(h)){r=!0;const p=h;let f="child"in p.props?p.props.child:p.props.children;Ma(f)&&typeof at=="function"&&(f=at(f._payload)),n=Os(p,f),c.push(n?.props?.children)}else c.push(h)}),n?n=d.cloneElement(n,void 0,c):!r&&d.Children.count(i)===1&&d.isValidElement(i)&&(n=i);const l=n?zs(n):void 0,u=ae(o,l);if(!n){if(i||i===0)throw new Error(r?_s(e):Fs(e));return i}const m=Rs(s,n.props??{});return n.type!==d.Fragment&&(m.ref=o?u:l),d.cloneElement(n,m)});return t.displayName=`${e}.Slot`,t}var bo=Symbol.for("radix.slottable");function Ws(e){const t=a=>"child"in a?a.children(a.child):a.children;return t.displayName=`${e}.Slottable`,t.__radixId=bo,t}var Os=(e,t)=>{if("child"in e.props){const a=e.props.child;return d.isValidElement(a)?d.cloneElement(a,void 0,e.props.children(a.props.children)):null}return d.isValidElement(t)?t:null};function Rs(e,t){const a={...t};for(const o in t){const i=e[o],s=t[o];/^on[A-Z]/.test(o)?i&&s?a[o]=(...r)=>{const c=s(...r);return i(...r),c}:i&&(a[o]=i):o==="style"?a[o]={...i,...s}:o==="className"&&(a[o]=[i,s].filter(Boolean).join(" "))}return{...e,...a}}function zs(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function Is(e){return d.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===bo}var js=Symbol.for("react.lazy");function Ma(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===js&&"_payload"in e&&Ls(e._payload)}function Ls(e){return typeof e=="object"&&e!==null&&"then"in e}var Fs=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,_s=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,at=co[" use ".trim().toString()];function Ns(e){const t=e+"CollectionProvider",[a,o]=St(t),[i,s]=a(t,{collectionRef:{current:null},itemMap:new Map}),n=y=>{const{scope:b,children:w}=y,v=d.useRef(null),S=d.useRef(new Map).current;return g.jsx(i,{scope:b,itemMap:S,collectionRef:v,children:w})};n.displayName=t;const r=e+"CollectionSlot",c=Gt(r),l=d.forwardRef((y,b)=>{const{scope:w,children:v}=y,S=s(r,w),k=ae(b,S.collectionRef);return g.jsx(c,{ref:k,children:v})});l.displayName=r;const u=e+"CollectionItemSlot",m="data-radix-collection-item",h=Gt(u),p=d.forwardRef((y,b)=>{const{scope:w,children:v,...S}=y,k=d.useRef(null),A=ae(b,k),M=s(u,w);return d.useEffect(()=>(M.itemMap.set(k,{ref:k,...S}),()=>{M.itemMap.delete(k)})),g.jsx(h,{[m]:"",ref:A,children:v})});p.displayName=u;function f(y){const b=s(e+"CollectionConsumer",y);return d.useCallback(()=>{const v=b.collectionRef.current;if(!v)return[];const S=Array.from(v.querySelectorAll(`[${m}]`));return Array.from(b.itemMap.values()).sort((M,W)=>S.indexOf(M.ref.current)-S.indexOf(W.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:n,Slot:l,ItemSlot:p},f,o]}var Bs=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],J=Bs.reduce((e,t)=>
2{const a=Gt(`Primitive.${t}`),o=d.forwardRef((i,s)=>{const{asChild:n,...r}=i,c=n?a:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(c,{...r,ref:s})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function vo(e,t){e&&bt.flushSync(()=>e.dispatchEvent(t))}function we(e){const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>((...a)=>t.current?.(...a)),[])}function Gs(e,t=globalThis?.document){const a=we(e);d.useEffect(()=>{const o=i=>{i.key==="Escape"&&a(i)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[a,t])}var Hs="DismissableLayer",Ht="dismissableLayer.update",Vs="dismissableLayer.pointerDownOutside",Us="dismissableLayer.focusOutside",Pa,wo=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),aa=d.forwardRef((e,t)=>{const{disableOutsidePointerEvents:a=!1,deferPointerDownOutside:o=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:n,onInteractOutside:r,onDismiss:c,...l}=e,u=d.useContext(wo),[m,h]=d.useState(null),p=m?.ownerDocument??globalThis?.document,[,f]=d.useState({}),y=ae(t,D=>h(D)),b=Array.from(u.layers),[w]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=b.indexOf(w),S=m?b.indexOf(m):-1,k=u.layersWithOutsidePointerEventsDisabled.size>0,A=S>=v,M=d.useRef(!1),W=Ys(D=>{const F=D.target;if(!(F instanceof Node))return;const B=[...u.branches].some(_=>_.contains(F));!A||B||(s?.(D),r?.(D),D.defaultPrevented||c?.())},{ownerDocument:p,deferPointerDownOutside:o,isDeferredPointerDownOutsideRef:M,dismissableSurfaces:u.dismissableSurfaces}),x=Qs(D=>{if(o&&M.current)return;const F=D.target;[...u.branches].some(_=>_.contains(F))||(n?.(D),r?.(D),D.defaultPrevented||c?.())},p);return Gs(D=>{S===u.layers.size-1&&(i?.(D),!D.defaultPrevented&&c&&(D.preventDefault(),c()))},p),d.useEffect(()=>{if(m)return a&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Pa=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(m)),u.layers.add(m),Da(),()=>{a&&(u.layersWithOutsidePointerEventsDisabled.delete(m),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=Pa))}},[m,p,a,u]),d.useEffect(()=>()=>{m&&(u.layers.delete(m),u.layersWithOutsidePointerEventsDisabled.delete(m),Da())},[m,u]),d.useEffect(()=>{const D=()=>f({});return document.addEventListener(Ht,D),()=>document.removeEventListener(Ht,D)},[]),g.jsx(J.div,{...l,ref:y,style:{pointerEvents:k?A?"auto":"none":void 0,...e.style},onFocusCapture:$(e.onFocusCapture,x.onFocusCapture),onBlurCapture:$(e.onBlurCapture,x.onBlurCapture),onPointerDownCapture:$(e.onPointerDownCapture,W.onPointerDownCapture)})});aa.displayName=Hs;var $s="DismissableLayerBranch",So=d.forwardRef((e,t)=>{const a=d.useContext(wo),o=d.useRef(null),i=ae(t,o);return d.useEffect(()=>{const s=o.current;if(s)return a.branches.add(s),()=>{a.branches.delete(s)}},[a.branches]),g.jsx(J.div,{...e,ref:i})});So.displayName=$s;function Ys(e,t){const{ownerDocument:a=globalThis?.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:s}=t,n=we(e),r=d.useRef(!1),c=d.useRef(!1),l=d.useRef(new Map),u=d.useRef(()=>{});return d.useEffect(()=>{function m(){c.current=!1,i.current=!1,l.current.clear()}function h(){return Array.from(l.current.values()).some(Boolean)}function p(v){if(!c.current)return;const S=v.target;S instanceof Node&&[...s].some(A=>A.contains(S))||l.current.set(v.type,!0),v.type==="click"&&window.setTimeout(()=>{c.current&&u.current()},0)}function f(v){c.current&&l.current.set(v.type,!1)}const y=v=>{if(v.target&&!r.current){let S=function(){a.removeEventListener("click",u.current);const A=h();m(),A||ko(Vs,n,k,{discrete:!0})};const k={originalEvent:v};c.current=!0,i.current=o&&v.button===0,l.current.clear(),!o||v.button!==0?S():(a.removeEventListener("click",u.current),u.current=S,a.addEventListener("click",u.current,{once:!0}))}else a.removeEventListener("click",u.current),m();r.current=!1},b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const v of b)a.addEventListener(v,p,!0),a.addEventListener(v,f);const w=window.setTimeout(()=>{a.addEventListener("pointerdown",y)},0);return()=>{window.clearTimeout(w),a.removeEventListener("pointerdown",y),a.removeEventListener("click",u.current);for(const v of b)a.removeEventListener(v,p,!0),a.removeEventListener(v,f)}},[a,n,o,i,s]),{onPointerDownCapture:()=>r.current=!0}}function Qs(e,t=globalThis?.document){const a=we(e),o=d.useRef(!1);return d.useEffect(()=>{const i=s=>
vendor: 4,211 bytes, line 2
2{s.target&&!o.current&&ko(Us,a,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Da(){const e=new CustomEvent(Ht);document.dispatchEvent(e)}function ko(e,t,a,{discrete:o}){const i=a.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:a});t&&i.addEventListener(e,t,{once:!0}),o?vo(i,s):i.dispatchEvent(s)}var Ks=aa,Xs=So,pe=globalThis?.document?d.useLayoutEffect:()=>{},Js="Portal",oa=d.forwardRef((e,t)=>{const{container:a,...o}=e,[i,s]=d.useState(!1);pe(()=>s(!0),[]);const n=a||i&&globalThis?.document?.body;return n?bt.createPortal(g.jsx(J.div,{...o,ref:t}),n):null});oa.displayName=Js;function Zs(e,t){return d.useReducer((a,o)=>t[a][o]??a,e)}var kt=e=>{const{present:t,children:a}=e,o=en(t),i=typeof a=="function"?a({present:o.isPresent}):d.Children.only(a),s=tn(o.ref,an(i));return typeof a=="function"||o.isPresent?d.cloneElement(i,{ref:s}):null};kt.displayName="Presence";function en(e){const[t,a]=d.useState(),o=d.useRef(null),i=d.useRef(e),s=d.useRef("none"),n=e?"mounted":"unmounted",[r,c]=Zs(n,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{const l=ot(o.current);s.current=r==="mounted"?l:"none"},[r]),pe(()=>{const l=o.current,u=i.current;if(u!==e){const h=s.current,p=ot(l);e?c("MOUNT"):p==="none"||l?.display==="none"?c("UNMOUNT"):c(u&&h!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,c]),pe(()=>{if(t){let l;const u=t.ownerDocument.defaultView??window,m=p=>{const y=ot(o.current).includes(CSS.escape(p.animationName));if(p.target===t&&y&&(c("ANIMATION_END"),!i.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",l=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=p=>{p.target===t&&(s.current=ot(o.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{u.clearTimeout(l),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(r),ref:d.useCallback(l=>{o.current=l?getComputedStyle(l):null,a(l)},[])}}function Wa(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function tn(...e){const t=d.useRef(e);return t.current=e,d.useCallback(a=>{const o=t.current;let i=!1;const s=o.map(n=>{const r=Wa(n,a);return!i&&typeof r=="function"&&(i=!0),r});if(i)return()=>{for(let n=0;n<s.length;n++){const r=s[n];typeof r=="function"?r():Wa(o[n],null)}}},[])}function ot(e){return e?.animationName||"none"}function an(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var on=co[" useInsertionEffect ".trim().toString()]||pe;function sn({prop:e,defaultProp:t,onChange:a=()=>{},caller:o}){const[i,s,n]=nn({defaultProp:t,onChange:a}),r=e!==void 0,c=r?e:i;{const u=d.useRef(e!==void 0);d.useEffect(()=>{const m=u.current;m!==r&&console.warn(`${o} is changing from ${m?"controlled":"uncontrolled"} to ${r?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=r},[r,o])}const l=d.useCallback(u=>{if(r){const m=rn(u)?u(e):u;m!==e&&n.current?.(m)}else s(u)},[r,e,s,n]);return[c,l]}function nn({defaultProp:e,onChange:t}){const[a,o]=d.useState(e),i=d.useRef(a),s=d.useRef(t);return on(()=>{s.current=t},[t]),d.useEffect(()=>{i.current!==a&&(s.current?.(a),i.current=a)},[a,i]),[a,o,s]}function rn(e){return typeof e=="function"}var cn=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),ln="VisuallyHidden",xt=d.forwardRef((e,t)=>
2g.jsx(J.span,{...e,ref:t,style:{...cn,...e.style}}));xt.displayName=ln;var dn=xt,ia="ToastProvider",[sa,un,mn]=Ns("Toast"),[xo]=St("Toast",[mn]),[pn,qt]=xo(ia),qo=e=>{const{__scopeToast:t,label:a="Notification",duration:o=5e3,swipeDirection:i="right",swipeThreshold:s=50,announcerContainer:n,children:r}=e,[c,l]=d.useState(null),[u,m]=d.useState(0),h=d.useRef(!1),p=d.useRef(!1);return a.trim()||console.error(`Invalid prop \`label\` supplied to \`${ia}\`. Expected non-empty \`string\`.`),g.jsx(sa.Provider,{scope:t,children:g.jsx(pn,{scope:t,label:a,duration:o,swipeDirection:i,swipeThreshold:s,toastCount:u,viewport:c,onViewportChange:l,onToastAdd:d.useCallback(()=>m(f=>f+1),[]),onToastRemove:d.useCallback(()=>m(f=>f-1),[]),isFocusedToastEscapeKeyDownRef:h,isClosePausedRef:p,announcerContainer:n,children:r})})};qo.displayName=ia;var Ao="ToastViewport",hn=["F8"],Vt="toast.viewportPause",Ut="toast.viewportResume",Co=d.forwardRef((e,t)=>{const{__scopeToast:a,hotkey:o=hn,label:i="Notifications ({hotkey})",...s}=e,n=qt(Ao,a),r=un(a),c=d.useRef(null),l=d.useRef(null),u=d.useRef(null),m=d.useRef(null),h=ae(t,m,n.onViewportChange),p=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),f=n.toastCount>0;d.useEffect(()=>{const b=w=>{o.length!==0&&o.every(S=>w[S]||w.code===S)&&m.current?.focus()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[o]),d.useEffect(()=>{const b=c.current,w=m.current;if(f&&b&&w){const v=()=>{if(!n.isClosePausedRef.current){const M=new CustomEvent(Vt);w.dispatchEvent(M),n.isClosePausedRef.current=!0}},S=()=>{if(n.isClosePausedRef.current){const M=new CustomEvent(Ut);w.dispatchEvent(M),n.isClosePausedRef.current=!1}},k=M=>{!b.contains(M.relatedTarget)&&S()},A=()=>{b.contains(document.activeElement)||S()};return b.addEventListener("focusin",v),b.addEventListener("focusout",k),b.addEventListener("pointermove",v),b.addEventListener("pointerleave",A),window.addEventListener("blur",v),window.addEventListener("focus",S),()=>{b.removeEventListener("focusin",v),b.removeEventListener("focusout",k),b.removeEventListener("pointermove",v),b.removeEventListener("pointerleave",A),window.removeEventListener("blur",v),window.removeEventListener("focus",S)}}},[f,n.isClosePausedRef]);const y=d.useCallback(({tabbingDirection:b})=>{const v=r().map(S=>{const k=S.ref.current,A=[k,...En(k)];return b==="forwards"?A:A.reverse()});return(b==="forwards"?v.reverse():v).flat()},[r]);return d.useEffect(()=>{const b=m.current;if(b){const w=v=>{const S=v.altKey||v.ctrlKey||v.metaKey;if(v.key==="Tab"&&!S){const A=document.activeElement,M=v.shiftKey;if(v.target===b&&M){l.current?.focus();return}const D=y({tabbingDirection:M?"backwards":"forwards"}),F=D.findIndex(B=>B===A);Wt(D.slice(F+1))?v.preventDefault():M?l.current?.focus():u.current?.focus()}};return b.addEventListener("keydown",w),()=>b.removeEventListener("keydown",w)}},[r,y]),g.jsxs(Xs,{ref:c,role:"region","aria-label":i.replace("{hotkey}",p),tabIndex:-1,style:{pointerEvents:f?void 0:"none"},children:[f&&g.jsx($t,{ref:l,onFocusFromOutsideViewport:()=>{const b=y({tabbingDirection:"forwards"});Wt(b)}}),g.jsx(sa.Slot,{scope:a,children:g.jsx(J.ol,{tabIndex:-1,...s,ref:h})}),f&&g.jsx($t,{ref:u,onFocusFromOutsideViewport:()=>{const b=y({tabbingDirection:"backwards"});Wt(b)}})]})});Co.displayName=Ao;var Eo="ToastFocusProxy",$t=d.forwardRef((e,t)=>{const{__scopeToast:a,onFocusFromOutsideViewport:o,...i}=e,s=qt(Eo,a);return g.jsx(xt,{tabIndex:0,...i,ref:t,style:{position:"fixed"},onFocus:n=>{const r=n.relatedTarget;!s.viewport?.contains(r)&&o()}})});$t.displayName=Eo;var Ke="Toast",gn="toast.swipeStart",fn="toast.swipeMove",yn="toast.swipeCancel",bn="toast.swipeEnd",To=d.forwardRef((e,t)=>{const{forceMount:a,open:o,defaultOpen:i,onOpenChange:s,...n}=e,[r,c]=sn({prop:o,defaultProp:i??!0,onChange:s,caller:Ke});return g.jsx(kt,{present:a||r,children:g.jsx(Sn,{open:r,...n,ref:t,onClose:()=>c(!1),onPause:we(e.onPause),onResume:we(e.onResume),onSwipeStart:$(e.onSwipeStart,l=>{l.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:$(e.onSwipeMove,l=>{const{x:u,y:m}=l.detail.delta;l.currentTarget.setAttribute("data-swipe","move"),l.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),l.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${m}px`)}),onSwipeCancel:$(e.onSwipeCancel,l=>{l.currentTarget.setAttribute("data-swipe","cancel"),l.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),l.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),l.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),l.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:$(e.onSwipeEnd,l=>{const{x:u,y:m}=l.detail.delta;l.currentTarget.setAttribute("data-swipe","end"),l.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),l.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),l.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),l.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${m}px`),c(!1)})})})});To.displayName=Ke;var[vn,wn]=xo(Ke,{onClose(){}}),Sn=d.forwardRef((e,t)=>
2{const{__scopeToast:a,type:o="foreground",duration:i,open:s,onClose:n,onEscapeKeyDown:r,onPause:c,onResume:l,onSwipeStart:u,onSwipeMove:m,onSwipeCancel:h,onSwipeEnd:p,...f}=e,y=qt(Ke,a),[b,w]=d.useState(null),v=ae(t,P=>w(P)),S=d.useRef(null),k=d.useRef(null),A=i||y.duration,M=d.useRef(0),W=d.useRef(A),x=d.useRef(0),{onToastAdd:D,onToastRemove:F}=y,B=we(()=>{b?.contains(document.activeElement)&&y.viewport?.focus(),n()}),_=d.useCallback(P=>{!P||P===1/0||(window.clearTimeout(x.current),M.current=new Date().getTime(),x.current=window.setTimeout(B,P))},[B]);d.useEffect(()=>{const P=y.viewport;if(P){const N=()=>{_(W.current),l?.()},R=()=>{const L=new Date().getTime()-M.current;W.current=W.current-L,window.clearTimeout(x.current),c?.()};return P.addEventListener(Vt,R),P.addEventListener(Ut,N),()=>{P.removeEventListener(Vt,R),P.removeEventListener(Ut,N)}}},[y.viewport,A,c,l,_]),d.useEffect(()=>{s&&!y.isClosePausedRef.current&&_(A)},[s,A,y.isClosePausedRef,_]),d.useEffect(()=>(D(),()=>F()),[D,F]);const G=d.useMemo(()=>b?zo(b):null,[b]);return y.viewport?g.jsxs(g.Fragment,{children:[G&&g.jsx(kn,{__scopeToast:a,role:"status","aria-live":o==="foreground"?"assertive":"polite",children:G}),g.jsx(vn,{scope:a,onClose:B,children:bt.createPortal(g.jsx(sa.ItemSlot,{scope:a,children:g.jsx(Ks,{asChild:!0,onEscapeKeyDown:$(r,()=>{y.isFocusedToastEscapeKeyDownRef.current||B(),y.isFocusedToastEscapeKeyDownRef.current=!1}),children:g.jsx(J.li,{tabIndex:0,"data-state":s?"open":"closed","data-swipe-direction":y.swipeDirection,...f,ref:v,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:$(e.onKeyDown,P=>{P.key==="Escape"&&(r?.(P.nativeEvent),P.nativeEvent.defaultPrevented||(y.isFocusedToastEscapeKeyDownRef.current=!0,B()))}),onPointerDown:$(e.onPointerDown,P=>{P.button===0&&(S.current={x:P.clientX,y:P.clientY})}),onPointerMove:$(e.onPointerMove,P=>{if(!S.current)return;const N=P.clientX-S.current.x,R=P.clientY-S.current.y,L=!!k.current,O=["left","right"].includes(y.swipeDirection),H=["left","up"].includes(y.swipeDirection)?Math.min:Math.max,T=O?H(0,N):0,Pe=O?0:H(0,R),le=P.pointerType==="touch"?10:2,de={x:T,y:Pe},ye={originalEvent:P,delta:de};L?(k.current=de,it(fn,m,ye,{discrete:!1})):Oa(de,y.swipeDirection,le)?(k.current=de,it(gn,u,ye,{discrete:!1}),P.target.setPointerCapture(P.pointerId)):(Math.abs(N)>le||Math.abs(R)>le)&&(S.current=null)}),onPointerUp:$(e.onPointerUp,P=>{const N=k.current,R=P.target;if(R.hasPointerCapture(P.pointerId)&&R.releasePointerCapture(P.pointerId),k.current=null,S.current=null,N){const L=P.currentTarget,O={originalEvent:P,delta:N};Oa(N,y.swipeDirection,y.swipeThreshold)?it(bn,p,O,{discrete:!0}):it(yn,h,O,{discrete:!0}),L.addEventListener("click",H=>H.preventDefault(),{once:!0})}})})})}),y.viewport)})]}):null}),kn=e=>{const{__scopeToast:t,children:a,...o}=e,i=qt(Ke,t),[s,n]=d.useState(!1),[r,c]=d.useState(!1);return An(()=>n(!0)),d.useEffect(()=>{const l=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(l)},[]),r?null:g.jsx(oa,{asChild:!0,container:i.announcerContainer||void 0,children:g.jsx(xt,{...o,children:s&&g.jsxs(g.Fragment,{children:[i.label," ",a]})})})},xn="ToastTitle",Mo=d.forwardRef((e,t)=>{const{__scopeToast:a,...o}=e;return g.jsx(J.div,{...o,ref:t})});Mo.displayName=xn;var qn="ToastDescription",Po=d.forwardRef((e,t)=>{const{__scopeToast:a,...o}=e;return g.jsx(J.div,{...o,ref:t})});Po.displayName=qn;var Do="ToastAction",Wo=d.forwardRef((e,t)=>{const{altText:a,...o}=e;return a.trim()?g.jsx(Ro,{altText:a,asChild:!0,children:g.jsx(na,{...o,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${Do}\`. Expected non-empty \`string\`.`),null)});Wo.displayName=Do;var Oo="ToastClose",na=d.forwardRef((e,t)=>{const{__scopeToast:a,...o}=e,i=wn(Oo,a);return g.jsx(Ro,{asChild:!0,children:g.jsx(J.button,{type:"button",...o,ref:t,onClick:$(e.onClick,i.onClose)})})});na.displayName=Oo;var Ro=d.forwardRef((e,t)=>{const{__scopeToast:a,altText:o,...i}=e;return g.jsx(J.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...i,ref:t})});function zo(e){const t=[];
2return Array.from(e.childNodes).forEach(o=>{if(o.nodeType===o.TEXT_NODE&&o.textContent&&t.push(o.textContent),Cn(o)){const i=o.ariaHidden||o.hidden||o.style.display==="none",s=o.dataset.radixToastAnnounceExclude==="";if(!i)if(s){const n=o.dataset.radixToastAnnounceAlt;n&&t.push(n)}else t.push(...zo(o))}}),t}function it(e,t,a,{discrete:o}){const i=a.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:a});t&&i.addEventListener(e,t,{once:!0}),o?vo(i,s):i.dispatchEvent(s)}var Oa=(e,t,a=0)=>{const o=Math.abs(e.x),i=Math.abs(e.y),s=o>i;return t==="left"||t==="right"?s&&o>a:!s&&i>a};function An(e=()=>{}){const t=we(e);pe(()=>{let a=0,o=0;return a=window.requestAnimationFrame(()=>o=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(a),window.cancelAnimationFrame(o)}},[t])}function Cn(e){return e.nodeType===e.ELEMENT_NODE}function En(e){const t=[],a=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const i=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||i?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)t.push(a.currentNode);return t}function Wt(e){const t=document.activeElement;return e.some(a=>a===t?!0:(a.focus(),document.activeElement!==t))}var Tn=qo,Io=Co,jo=To,Lo=Mo,Fo=Po,_o=Wo,No=na;function Bo(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(a=Bo(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function Go(){for(var e,t,a=0,o="",i=arguments.length;a<i;a++)(e=arguments[a])&&(t=Bo(e))&&(o&&(o+=" "),o+=t);return o}const Ra=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,za=Go,Mn=(e,t)=>a=>{var o;if(t?.variants==null)return za(e,a?.class,a?.className);const{variants:i,defaultVariants:s}=t,n=Object.keys(i).map(l=>{const u=a?.[l],m=s?.[l];if(u===null)return null;const h=Ra(u)||Ra(m);return i[l][h]}),r=a&&Object.entries(a).reduce((l,u)=>{let[m,h]=u;return h===void 0||(l[m]=h),l},{}),c=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((l,u)=>{let{class:m,className:h,...p}=u;return Object.entries(p).every(f=>{let[y,b]=f;return Array.isArray(b)?b.includes({...s,...r}[y]):{...s,...r}[y]===b})?[...l,m,h]:l},[]);return za(e,n,c,a?.class,a?.className)};const Pn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Dn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase()),Ia=e=>{const t=Dn(e);return t.charAt(0).toUpperCase()+t.slice(1)},Ho=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim(),Wn=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var On={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Rn=d.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:i="",children:s,iconNode:n,...r},c)=>d.createElement("svg",{ref:c,...On,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Ho("lucide",i),...!s&&!Wn(r)&&{"aria-hidden":"true"},...r},[...n.map(([l,u])=>d.createElement(l,u)),...Array.isArray(s)?s:[s]]));const Vo=(e,t)=>{const a=d.forwardRef(({className:o,...i},s)=>d.createElement(Rn,{ref:s,iconNode:t,className:Ho(`lucide-${Pn(Ia(e))}`,`lucide-${e}`,o),...i}));return a.displayName=Ia(e),a};const zn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],In=Vo("arrow-up",zn);const jn=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ln=Vo("x",jn),Fn=(e,t)=>{const a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},_n=(e,t)=>({classGroupId:e,validator:t}),Uo=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),pt="-",ja=[],Nn="arbitrary..",Bn=e=>{const t=Hn(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:n=>{if(n.startsWith("[")&&n.endsWith("]"))return Gn(n);const r=n.split(pt),c=r[0]===""&&r.length>1?1:0;return $o(r,c,t)},getConflictingClassGroupIds:(n,r)=>{if(r){const c=o[n],l=a[n];return c?l?Fn(l,c):c:l||ja}return a[n]||ja}}},$o=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;const i=e[t],s=a.nextPart.get(i);if(s){const l=$o(e,t+1,s);if(l)return l}const n=a.validators;if(n===null)return;const r=t===0?e.join(pt):e.slice(t).join(pt),c=n.length;for(let l=0;l<c;l++){const u=n[l];if(u.validator(r))return u.classGroupId}},Gn=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?Nn+o:void 0})(),Hn=e=>{const{theme:t,classGroups:a}=e;return Vn(a,t)},Vn=(e,t)=>{const a=Uo();for(const o in e){const i=e[o];ra(i,a,o,t)}return a},ra=(e,t,a,o)=>{const i=e.length;for(let s=0;s<i;s++){const n=e[s];Un(n,t,a,o)}},Un=(e,t,a,o)=>
vendor: 2,142 bytes, line 2
2{if(typeof e=="string"){$n(e,t,a);return}if(typeof e=="function"){Yn(e,t,a,o);return}Qn(e,t,a,o)},$n=(e,t,a)=>{const o=e===""?t:Yo(t,e);o.classGroupId=a},Yn=(e,t,a,o)=>{if(Kn(e)){ra(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(_n(a,e))},Qn=(e,t,a,o)=>{const i=Object.entries(e),s=i.length;for(let n=0;n<s;n++){const[r,c]=i[n];ra(c,Yo(t,r),a,o)}},Yo=(e,t)=>{let a=e;const o=t.split(pt),i=o.length;for(let s=0;s<i;s++){const n=o[s];let r=a.nextPart.get(n);r||(r=Uo(),a.nextPart.set(n,r)),a=r}return a},Kn=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Xn=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null);const i=(s,n)=>{a[s]=n,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(s){let n=a[s];if(n!==void 0)return n;if((n=o[s])!==void 0)return i(s,n),n},set(s,n){s in a?a[s]=n:i(s,n)}}},Yt="!",La=":",Jn=[],Fa=(e,t,a,o,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:i}),Zn=e=>{const{prefix:t,experimentalParseClassName:a}=e;let o=i=>{const s=[];let n=0,r=0,c=0,l;const u=i.length;for(let y=0;y<u;y++){const b=i[y];if(n===0&&r===0){if(b===La){s.push(i.slice(c,y)),c=y+1;continue}if(b==="/"){l=y;continue}}b==="["?n++:b==="]"?n--:b==="("?r++:b===")"&&r--}const m=s.length===0?i:i.slice(c);let h=m,p=!1;m.endsWith(Yt)?(h=m.slice(0,-1),p=!0):m.startsWith(Yt)&&(h=m.slice(1),p=!0);const f=l&&l>c?l-c:void 0;return Fa(s,p,h,f)};if(t){const i=t+La,s=o;o=n=>n.startsWith(i)?s(n.slice(i.length)):Fa(Jn,!1,n,void 0,!0)}if(a){const i=o;o=s=>a({className:s,parseClassName:i})}return o},er=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{const o=[];let i=[];for(let s=0;s<a.length;s++){const n=a[s],r=n[0]==="[",c=t.has(n);r||c?(i.length>0&&(i.sort(),o.push(...i),i=[]),o.push(n)):i.push(n)}return i.length>0&&(i.sort(),o.push(...i)),o}},tr=e=>({cache:Xn(e.cacheSize),parseClassName:Zn(e),sortModifiers:er(e),postfixLookupClassGroupIds:ar(e),...Bn(e)}),ar=e=>{const t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},or=/\s+/,ir=(e,t)=>
vendor: 5,382 bytes, line 2
2{const{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:i,sortModifiers:s,postfixLookupClassGroupIds:n}=t,r=[],c=e.trim().split(or);let l="";for(let u=c.length-1;u>=0;u-=1){const m=c[u],{isExternal:h,modifiers:p,hasImportantModifier:f,baseClassName:y,maybePostfixModifierPosition:b}=a(m);if(h){l=m+(l.length>0?" "+l:l);continue}let w=!!b,v;if(w){const W=y.substring(0,b);v=o(W);const x=v&&n[v]?o(y):void 0;x&&x!==v&&(v=x,w=!1)}else v=o(y);if(!v){if(!w){l=m+(l.length>0?" "+l:l);continue}if(v=o(y),!v){l=m+(l.length>0?" "+l:l);continue}w=!1}const S=p.length===0?"":p.length===1?p[0]:s(p).join(":"),k=f?S+Yt:S,A=k+v;if(r.indexOf(A)>-1)continue;r.push(A);const M=i(v,w);for(let W=0;W<M.length;++W){const x=M[W];r.push(k+x)}l=m+(l.length>0?" "+l:l)}return l},sr=(...e)=>{let t=0,a,o,i="";for(;t<e.length;)(a=e[t++])&&(o=Qo(a))&&(i&&(i+=" "),i+=o);return i},Qo=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=Qo(e[o]))&&(a&&(a+=" "),a+=t);return a},nr=(e,...t)=>{let a,o,i,s;const n=c=>{const l=t.reduce((u,m)=>m(u),e());return a=tr(l),o=a.cache.get,i=a.cache.set,s=r,r(c)},r=c=>{const l=o(c);if(l)return l;const u=ir(c,a);return i(c,u),u};return s=n,(...c)=>s(sr(...c))},rr=[],U=e=>{const t=a=>a[e]||rr;return t.isThemeGetter=!0,t},Ko=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Xo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,cr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,lr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,dr=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ur=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,mr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,pr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ve=e=>cr.test(e),I=e=>!!e&&!Number.isNaN(Number(e)),se=e=>!!e&&Number.isInteger(Number(e)),Ot=e=>e.endsWith("%")&&I(e.slice(0,-1)),me=e=>lr.test(e),Jo=()=>!0,hr=e=>dr.test(e)&&!ur.test(e),ca=()=>!1,gr=e=>mr.test(e),fr=e=>pr.test(e),yr=e=>!C(e)&&!E(e),br=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),vr=e=>xe(e,ti,ca),C=e=>Ko.test(e),De=e=>xe(e,ai,hr),_a=e=>xe(e,Er,I),wr=e=>xe(e,ii,Jo),Sr=e=>xe(e,oi,ca),Na=e=>xe(e,Zo,ca),kr=e=>xe(e,ei,fr),st=e=>xe(e,si,gr),E=e=>Xo.test(e),Ve=e=>Re(e,ai),xr=e=>Re(e,oi),Ba=e=>Re(e,Zo),qr=e=>Re(e,ti),Ar=e=>Re(e,ei),nt=e=>Re(e,si,!0),Cr=e=>Re(e,ii,!0),xe=(e,t,a)=>{const o=Ko.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},Re=(e,t,a=!1)=>{const o=Xo.exec(e);return o?o[1]?t(o[1]):a:!1},Zo=e=>e==="position"||e==="percentage",ei=e=>e==="image"||e==="url",ti=e=>e==="length"||e==="size"||e==="bg-size",ai=e=>e==="length",Er=e=>e==="number",oi=e=>e==="family-name",ii=e=>e==="number"||e==="weight",si=e=>e==="shadow",Tr=()=>{const e=U("color"),t=U("font"),a=U("text"),o=U("font-weight"),i=U("tracking"),s=U("leading"),n=U("breakpoint"),r=U("container"),c=U("spacing"),l=U("radius"),u=U("shadow"),m=U("inset-shadow"),h=U("text-shadow"),p=U("drop-shadow"),f=U("blur"),y=U("perspective"),b=U("aspect"),w=U("ease"),v=U("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...k(),E,C],M=()=>["auto","hidden","clip","visible","scroll"],W=()=>["auto","contain","none"],x=()=>[E,C,c],D=()=>[ve,"full","auto",...x()],F=()=>[se,"none","subgrid",E,C],B=()=>["auto",{span:["full",se,E,C]},se,E,C],_=()=>[se,"auto",E,C],G=()=>["auto","min","max","fr",E,C],P=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],N=()=>["start","end","center","stretch","center-safe","end-safe"],R=()=>["auto",...x()],L=()=>[ve,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...x()],O=()=>[ve,"screen","full","dvw","lvw","svw","min","max","fit",...x()],H=()=>[ve,"screen","full","lh","dvh","lvh","svh","min","max","fit",...x()],T=()=>[e,E,C],Pe=()=>[...k(),Ba,Na,{position:[E,C]}],le=()=>["no-repeat",{repeat:["","x","y","space","round"]}],de=()=>["auto","cover","contain",qr,vr,{size:[E,C]}],ye=()=>[Ot,Ve,De],Q=()=>["","none","full",l,E,C],K=()=>["",I,Ve,De],Ie=()=>["solid","dashed","dotted","double"],be=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[I,Ot,Ba,Na],et=()=>["","none",f,E,C],je=()=>["none",I,E,C],Le=()=>["none",I,E,C],He=()=>[I,E,C],ue=()=>[ve,"full",...x()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[me],breakpoint:[me],color:[Jo],container:[me],"drop-shadow":[me],ease:["in","out","in-out"],font:[yr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[me],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[me],shadow:[me],spacing:["px",I],text:[me],"text-shadow":[me],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ve,C,E,b]}],container:["container"],"container-type":[{"@container":["","normal","size",E,C]}
vendor: 4,952 bytes, line 2
2],"container-named":[br],columns:[{columns:[I,C,E,r]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:A()}],overflow:[{overflow:M()}],"overflow-x":[{"overflow-x":M()}],"overflow-y":[{"overflow-y":M()}],overscroll:[{overscroll:W()}],"overscroll-x":[{"overscroll-x":W()}],"overscroll-y":[{"overscroll-y":W()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:D()}],"inset-x":[{"inset-x":D()}],"inset-y":[{"inset-y":D()}],start:[{"inset-s":D(),start:D()}],end:[{"inset-e":D(),end:D()}],"inset-bs":[{"inset-bs":D()}],"inset-be":[{"inset-be":D()}],top:[{top:D()}],right:[{right:D()}],bottom:[{bottom:D()}],left:[{left:D()}],visibility:["visible","invisible","collapse"],z:[{z:[se,"auto",E,C]}],basis:[{basis:[ve,"full","auto",r,...x()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[I,ve,"auto","initial","none",C]}],grow:[{grow:["",I,E,C]}],shrink:[{shrink:["",I,E,C]}],order:[{order:[se,"first","last","none",E,C]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":_()}],"col-end":[{"col-end":_()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":_()}],"row-end":[{"row-end":_()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":G()}],"auto-rows":[{"auto-rows":G()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...P(),"normal"]}],"justify-items":[{"justify-items":[...N(),"normal"]}],"justify-self":[{"justify-self":["auto",...N()]}],"align-content":[{content:["normal",...P()]}],"align-items":[{items:[...N(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...N(),{baseline:["","last"]}]}],"place-content":[{"place-content":P()}],"place-items":[{"place-items":[...N(),"baseline"]}],"place-self":[{"place-self":["auto",...N()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pbs:[{pbs:x()}],pbe:[{pbe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:R()}],mx:[{mx:R()}],my:[{my:R()}],ms:[{ms:R()}],me:[{me:R()}],mbs:[{mbs:R()}],mbe:[{mbe:R()}],mt:[{mt:R()}],mr:[{mr:R()}],mb:[{mb:R()}],ml:[{ml:R()}],"space-x":[{"space-x":x()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":x()}],"space-y-reverse":["space-y-reverse"],size:[{size:L()}],"inline-size":[{inline:["auto",...O()]}],"min-inline-size":[{"min-inline":["auto",...O()]}],"max-inline-size":[{"max-inline":["none",...O()]}],"block-size":[{block:["auto",...H()]}],"min-block-size":[{"min-block":["auto",...H()]}],"max-block-size":[{"max-block":["none",...H()]}],w:[{w:[r,"screen",...L()]}],"min-w":[{"min-w":[r,"screen","none",...L()]}],"max-w":[{"max-w":[r,"screen","none","prose",{screen:[n]},...L()]}],h:[{h:["screen","lh",...L()]}],"min-h":[{"min-h":["screen","lh","none",...L()]}],"max-h":[{"max-h":["screen","lh",...L()]}],"font-size":[{text:["base",a,Ve,De]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Cr,wr]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ot,C]}],"font-family":[{font:[xr,Sr,t]}],"font-features":[{"font-features":[C]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,E,C]}],"line-clamp":[{"line-clamp":[I,"none",E,_a]}],leading:[{leading:[s,...x()]}],"list-image":[{"list-image":["none",E,C]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",E,C]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:T()}],"text-color":[{text:T()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ie(),"wavy"]}],"text-decoration-thickness":[{decoration:[I,"from-font","auto",E,De]}
vendor: 8,431 bytes, line 2
2],"text-decoration-color":[{decoration:T()}],"underline-offset":[{"underline-offset":[I,"auto",E,C]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:x()}],"tab-size":[{tab:[se,E,C]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",E,C]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",E,C]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Pe()}],"bg-repeat":[{bg:le()}],"bg-size":[{bg:de()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},se,E,C],radial:["",E,C],conic:[se,E,C]},Ar,kr]}],"bg-color":[{bg:T()}],"gradient-from-pos":[{from:ye()}],"gradient-via-pos":[{via:ye()}],"gradient-to-pos":[{to:ye()}],"gradient-from":[{from:T()}],"gradient-via":[{via:T()}],"gradient-to":[{to:T()}],rounded:[{rounded:Q()}],"rounded-s":[{"rounded-s":Q()}],"rounded-e":[{"rounded-e":Q()}],"rounded-t":[{"rounded-t":Q()}],"rounded-r":[{"rounded-r":Q()}],"rounded-b":[{"rounded-b":Q()}],"rounded-l":[{"rounded-l":Q()}],"rounded-ss":[{"rounded-ss":Q()}],"rounded-se":[{"rounded-se":Q()}],"rounded-ee":[{"rounded-ee":Q()}],"rounded-es":[{"rounded-es":Q()}],"rounded-tl":[{"rounded-tl":Q()}],"rounded-tr":[{"rounded-tr":Q()}],"rounded-br":[{"rounded-br":Q()}],"rounded-bl":[{"rounded-bl":Q()}],"border-w":[{border:K()}],"border-w-x":[{"border-x":K()}],"border-w-y":[{"border-y":K()}],"border-w-s":[{"border-s":K()}],"border-w-e":[{"border-e":K()}],"border-w-bs":[{"border-bs":K()}],"border-w-be":[{"border-be":K()}],"border-w-t":[{"border-t":K()}],"border-w-r":[{"border-r":K()}],"border-w-b":[{"border-b":K()}],"border-w-l":[{"border-l":K()}],"divide-x":[{"divide-x":K()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":K()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Ie(),"hidden","none"]}],"divide-style":[{divide:[...Ie(),"hidden","none"]}],"border-color":[{border:T()}],"border-color-x":[{"border-x":T()}],"border-color-y":[{"border-y":T()}],"border-color-s":[{"border-s":T()}],"border-color-e":[{"border-e":T()}],"border-color-bs":[{"border-bs":T()}],"border-color-be":[{"border-be":T()}],"border-color-t":[{"border-t":T()}],"border-color-r":[{"border-r":T()}],"border-color-b":[{"border-b":T()}],"border-color-l":[{"border-l":T()}],"divide-color":[{divide:T()}],"outline-style":[{outline:[...Ie(),"none","hidden"]}],"outline-offset":[{"outline-offset":[I,E,C]}],"outline-w":[{outline:["",I,Ve,De]}],"outline-color":[{outline:T()}],shadow:[{shadow:["","none",u,nt,st]}],"shadow-color":[{shadow:T()}],"inset-shadow":[{"inset-shadow":["none",m,nt,st]}],"inset-shadow-color":[{"inset-shadow":T()}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:T()}],"ring-offset-w":[{"ring-offset":[I,De]}],"ring-offset-color":[{"ring-offset":T()}],"inset-ring-w":[{"inset-ring":K()}],"inset-ring-color":[{"inset-ring":T()}],"text-shadow":[{"text-shadow":["none",h,nt,st]}],"text-shadow-color":[{"text-shadow":T()}],opacity:[{opacity:[I,E,C]}],"mix-blend":[{"mix-blend":[...be(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":be()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":T()}],"mask-image-linear-to-color":[{"mask-linear-to":T()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":T()}],"mask-image-t-to-color":[{"mask-t-to":T()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":T()}],"mask-image-r-to-color":[{"mask-r-to":T()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":T()}],"mask-image-b-to-color":[{"mask-b-to":T()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":T()}],"mask-image-l-to-color":[{"mask-l-to":T()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":T()}],"mask-image-x-to-color":[{"mask-x-to":T()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":T()}],"mask-image-y-to-color":[{"mask-y-to":T()}],"mask-image-radial":[{"mask-radial":[E,C]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":T()}],"mask-image-radial-to-color":[{"mask-radial-to":T()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":T()}],"mask-image-conic-to-color":[{"mask-conic-to":T()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Pe()}],"mask-repeat":[{mask:le()}],"mask-size":[{mask:de()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",E,C]}],filter:[{filter:["","none",E,C]}],blur:[{blur:et()}],brightness:[{brightness:[I,E,C]}],contrast:[{contrast:[I,E,C]}],"drop-shadow":[{"drop-shadow":["","none",p,nt,st]}],"drop-shadow-color":[{"drop-shadow":T()}],grayscale:[{grayscale:["",I,E,C]}],"hue-rotate":[{"hue-rotate":[I,E,C]}],invert:[{invert:["",I,E,C]}],saturate:[{saturate:[I,E,C]}],sepia:[{sepia:["",I,E,C]}],"backdrop-filter":[{"backdrop-filter":["","none",E,C]}],"backdrop-blur":[{"backdrop-blur":et()}],"backdrop-brightness":[{"backdrop-brightness":[I,E,C]}],"backdrop-contrast":[{"backdrop-contrast":[I,E,C]}],"backdrop-grayscale":[{"backdrop-grayscale":["",I,E,C]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,E,C]}],"backdrop-invert":[{"backdrop-invert":["",I,E,C]}],"backdrop-opacity":[{"backdrop-opacity":[I,E,C]}],"backdrop-saturate":[{"backdrop-saturate":[I,E,C]}],"backdrop-sepia":[{"backdrop-sepia":["",I,E,C]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",E,C]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[I,"initial",E,C]}],ease:[{ease:["linear","initial",w,E,C]}],delay:[{delay:[I,E,C]}],animate:[{animate:["none",v,E,C]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,E,C]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:je()}],"rotate-x":[{"rotate-x":je()}],"rotate-y":[{"rotate-y":je()}],"rotate-z":[{"rotate-z":je()}],scale:[{scale:Le()}],"scale-x":[{"scale-x":Le()}],"scale-y":[{"scale-y":Le()}],"scale-z":[{"scale-z":Le()}],"scale-3d":["scale-3d"],skew:[{skew:He()}],"skew-x":[{"skew-x":He()}],"skew-y":[{"skew-y":He()}],transform:[{transform:[E,C,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[se,E,C]}],accent:[{accent:T()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:T()}
2],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",E,C]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":T()}],"scrollbar-track-color":[{"scrollbar-track":T()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mbs":[{"scroll-mbs":x()}],"scroll-mbe":[{"scroll-mbe":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pbs":[{"scroll-pbs":x()}],"scroll-pbe":[{"scroll-pbe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",E,C]}],fill:[{fill:["none",...T()]}],"stroke-w":[{stroke:[I,Ve,De,_a]}],stroke:[{stroke:["none",...T()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Mr=nr(Tr);function ze(...e){return Mr(Go(e))}const Pr=Tn,ni=d.forwardRef(({className:e,...t},a)=>g.jsx(Io,{ref:a,className:ze("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));ni.displayName=Io.displayName;const Dr=Mn("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),ri=d.forwardRef(({className:e,variant:t,...a},o)=>g.jsx(jo,{ref:o,className:ze(Dr({variant:t}),e),...a}));ri.displayName=jo.displayName;const Wr=d.forwardRef(({className:e,...t},a)=>g.jsx(_o,{ref:a,className:ze("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));Wr.displayName=_o.displayName;const ci=d.forwardRef(({className:e,...t},a)=>g.jsx(No,{ref:a,className:ze("absolute right-2 top-2 rounded-md p-1 text-foreground
2/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:g.jsx(Ln,{className:"h-4 w-4"})}));ci.displayName=No.displayName;const li=d.forwardRef(({className:e,...t},a)=>g.jsx(Lo,{ref:a,className:ze("text-sm font-semibold",e),...t}));li.displayName=Lo.displayName;const di=d.forwardRef(({className:e,...t},a)=>g.jsx(Fo,{ref:a,className:ze("text-sm opacity-90",e),...t}));di.displayName=Fo.displayName;function Or(){const{toasts:e}=Ms();return g.jsxs(Pr,{children:[e.map(function({id:t,title:a,description:o,action:i,...s}){return g.jsxs(ri,{...s,children:[g.jsxs("div",{className:"grid gap-1",children:[a&&g.jsx(li,{children:a}),o&&g.jsx(di,{children:o})]}),i,g.jsx(ci,{})]},t)}),g.jsx(ni,{})]})}const Rr=["top","right","bottom","left"],Se=Math.min,Z=Math.max,ht=Math.round,rt=Math.floor,re=e=>({x:e,y:e}
2),zr={left:"right",right:"left",bottom:"top",top:"bottom"};function Qt(e,t,a){return Z(e,Se(t,a))}function he(e,t){return typeof e=="function"?e(t):e}function ge(e){return e.split("-")[0]}function Be(e){return e.split("-")[1]}function la(e){return e==="x"?"y":"x"}function da(e){return e==="y"?"height":"width"}function ne(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function ua(e){return la(ne(e))}function Ir(e,t,a){a===void 0&&(a=!1);const o=Be(e),i=ua(e),s=da(i);let n=i==="x"?o===(a?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(n=gt(n)),[n,gt(n)]}function jr(e){const t=gt(e);return[Kt(e),t,Kt(t)]}function Kt(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Ga=["left","right"],Ha=["right","left"],Lr=["top","bottom"],Fr=["bottom","top"];function _r(e,t,a){switch(e){case"top":case"bottom":return a?t?Ha:Ga:t?Ga:Ha;case"left":case"right":return t?Lr:Fr;default:return[]}}function Nr(e,t,a,o){const i=Be(e);let s=_r(ge(e),a==="start",o);return i&&(s=s.map(n=>n+"-"+i),t&&(s=s.concat(s.map(Kt)))),s}function gt(e){const t=ge(e);return zr[t]+e.slice(t.length)}function Br(e){return{top:0,right:0,bottom:0,left:0,...e}}function ui(e){return typeof e!="number"?Br(e):{top:e,right:e,bottom:e,left:e}}function ft(e){const{x:t,y:a,width:o,height:i}=e;return{width:o,height:i,top:a,left:t,right:t+o,bottom:a+i,x:t,y:a}}function Va(e,t,a){let{reference:o,floating:i}=e;const s=ne(t),n=ua(t),r=da(n),c=ge(t),l=s==="y",u=o.x+o.width/2-i.width/2,m=o.y+o.height/2-i.height/2,h=o[r]/2-i[r]/2;let p;switch(c){case"top":p={x:u,y:o.y-i.height};break;case"bottom":p={x:u,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:m};break;case"left":p={x:o.x-i.width,y:m};break;default:p={x:o.x,y:o.y}}switch(Be(t)){case"start":p[n]-=h*(a&&l?-1:1);break;case"end":p[n]+=h*(a&&l?-1:1);break}return p}async function Gr(e,t){var a;t===void 0&&(t={});const{x:o,y:i,platform:s,rects:n,elements:r,strategy:c}=e,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:m="floating",altBoundary:h=!1,padding:p=0}=he(t,e),f=ui(p),b=r[h?m==="floating"?"reference":"floating":m],w=ft(await s.getClippingRect({element:(a=await(s.isElement==null?void 0:s.isElement(b)))==null||a?b:b.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(r.floating)),boundary:l,rootBoundary:u,strategy:c})),v=m==="floating"?{x:o,y:i,width:n.floating.width,height:n.floating.height}:n.reference,S=await(s.getOffsetParent==null?void 0:s.getOffsetParent(r.floating)),k=await(s.isElement==null?void 0:s.isElement(S))?await(s.getScale==null?void 0:s.getScale(S))||{x:1,y:1}:{x:1,y:1},A=ft(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:v,offsetParent:S,strategy:c}):v);return{top:(w.top-A.top+f.top)/k.y,bottom:(A.bottom-w.bottom+f.bottom)/k.y,left:(w.left-A.left+f.left)/k.x,right:(A.right-w.right+f.right)/k.x}}const Hr=50,Vr=async(e,t,a)=>{const{placement:o="bottom",strategy:i="absolute",middleware:s=[],platform:n}=a,r=n.detectOverflow?n:{...n,detectOverflow:Gr},c=await(n.isRTL==null?void 0:n.isRTL(t));let l=await n.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:m}=Va(l,o,c),h=o,p=0;const f={};for(let y=0;y<s.length;y++){const b=s[y];if(!b)continue;const{name:w,fn:v}=b,{x:S,y:k,data:A,reset:M}=await v({x:u,y:m,initialPlacement:o,placement:h,strategy:i,middlewareData:f,re
vendor: 4,449 bytes, line 2
2cts:l,platform:r,elements:{reference:e,floating:t}});u=S??u,m=k??m,f[w]={...f[w],...A},M&&p<Hr&&(p++,typeof M=="object"&&(M.placement&&(h=M.placement),M.rects&&(l=M.rects===!0?await n.getElementRects({reference:e,floating:t,strategy:i}):M.rects),{x:u,y:m}=Va(l,h,c)),y=-1)}return{x:u,y:m,placement:h,strategy:i,middlewareData:f}},Ur=e=>({name:"arrow",options:e,async fn(t){const{x:a,y:o,placement:i,rects:s,platform:n,elements:r,middlewareData:c}=t,{element:l,padding:u=0}=he(e,t)||{};if(l==null)return{};const m=ui(u),h={x:a,y:o},p=ua(i),f=da(p),y=await n.getDimensions(l),b=p==="y",w=b?"top":"left",v=b?"bottom":"right",S=b?"clientHeight":"clientWidth",k=s.reference[f]+s.reference[p]-h[p]-s.floating[f],A=h[p]-s.reference[p],M=await(n.getOffsetParent==null?void 0:n.getOffsetParent(l));let W=M?M[S]:0;(!W||!await(n.isElement==null?void 0:n.isElement(M)))&&(W=r.floating[S]||s.floating[f]);const x=k/2-A/2,D=W/2-y[f]/2-1,F=Se(m[w],D),B=Se(m[v],D),_=F,G=W-y[f]-B,P=W/2-y[f]/2+x,N=Qt(_,P,G),R=!c.arrow&&Be(i)!=null&&P!==N&&s.reference[f]/2-(P<_?F:B)-y[f]/2<0,L=R?P<_?P-_:P-G:0;return{[p]:h[p]+L,data:{[p]:N,centerOffset:P-N-L,...R&&{alignmentOffset:L}},reset:R}}}),$r=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var a,o;const{placement:i,middlewareData:s,rects:n,initialPlacement:r,platform:c,elements:l}=t,{mainAxis:u=!0,crossAxis:m=!0,fallbackPlacements:h,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:y=!0,...b}=he(e,t);if((a=s.arrow)!=null&&a.alignmentOffset)return{};const w=ge(i),v=ne(r),S=ge(r)===r,k=await(c.isRTL==null?void 0:c.isRTL(l.floating)),A=h||(S||!y?[gt(r)]:jr(r)),M=f!=="none";!h&&M&&A.push(...Nr(r,y,f,k));const W=[r,...A],x=await c.detectOverflow(t,b),D=[];let F=((o=s.flip)==null?void 0:o.overflows)||[];if(u&&D.push(x[w]),m){const P=Ir(i,n,k);D.push(x[P[0]],x[P[1]])}if(F=[...F,{placement:i,overflows:D}],!D.every(P=>P<=0)){var B,_;const P=(((B=s.flip)==null?void 0:B.index)||0)+1,N=W[P];if(N&&(!(m==="alignment"?v!==ne(N):!1)||F.every(O=>ne(O.placement)===v?O.overflows[0]>0:!0)))return{data:{index:P,overflows:F},reset:{placement:N}};let R=(_=F.filter(L=>L.overflows[0]<=0).sort((L,O)=>L.overflows[1]-O.overflows[1])[0])==null?void 0:_.placement;if(!R)switch(p){case"bestFit":{var G;const L=(G=F.filter(O=>{if(M){const H=ne(O.placement);return H===v||H==="y"}return!0}).map(O=>[O.placement,O.overflows.filter(H=>H>0).reduce((H,T)=>H+T,0)]).sort((O,H)=>O[1]-H[1])[0])==null?void 0:G[0];L&&(R=L);break}case"initialPlacement":R=r;break}if(i!==R)return{reset:{placement:R}}}return{}}}};function Ua(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function $a(e){return Rr.some(t=>e[t]>=0)}const Yr=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:a,platform:o}=t,{strategy:i="referenceHidden",...s}=he(e,t);switch(i){case"referenceHidden":{const n=await o.detectOverflow(t,{...s,elementContext:"reference"}),r=Ua(n,a.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:$a(r)}}}case"escaped":{const n=await o.detectOverflow(t,{...s,altBoundary:!0}),r=Ua(n,a.floating);return{data:{escapedOffsets:r,escaped:$a(r)}}}default:return{}}}}},mi=new Set(["left","top"]);async function Qr(e,t){const{placement:a,platform:o,elements:i}=e,s=await(o.isRTL==null?void 0:o.isRTL(i.floating)),n=ge(a),r=Be(a),c=ne(a)==="y",l=mi.has(n)?-1:1,u=s&&c?-1:1,m=he(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:f}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return r&&typeof f=="number"&&(p=r==="end"?f*-1:f),c?{x:p*u,y:h*l}:{x:h*l,y:p*u}}const Kr=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var a,o;const{x:i,y:s,placement:n,middlewareData:r}=t,c=await Qr(t,e);return n===((a=r.offset)==null?void 0:a.placement)&&(o=r.arrow)!=null&&o.alignmentOffset?{}:{x:i+c.x,y:s+c.y,data:{...c,placement:n}}}}},Xr=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:a,y:o,placement:i,platform:s}=t,{mainAxis:n=!0,crossAxis:r=!1,limiter:c={fn:w=>{let{x:v,y:S}=w;return{x:v,y:S}}},...l}=he(e,t),u={x:a,y:o},m=await s.detectOverflow(t,l),h=ne(ge(i)),p=la(h);let f=u[p],y=u[h];if(n){const w=p==="y"?"top":"left",v=p==="y"?"bottom":"right",S=f+m[w],k=f-m[v];f=Qt(S,f,k)}if(r){const w=h==="y"?"top":"left",v=h==="y"?"bottom":"right",S=y+m[w],k=y-m[v];
2y=Qt(S,y,k)}const b=c.fn({...t,[p]:f,[h]:y});return{...b,data:{x:b.x-a,y:b.y-o,enabled:{[p]:n,[h]:r}}}}}},Jr=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:a,y:o,placement:i,rects:s,middlewareData:n}=t,{offset:r=0,mainAxis:c=!0,crossAxis:l=!0}=he(e,t),u={x:a,y:o},m=ne(i),h=la(m);let p=u[h],f=u[m];const y=he(r,t),b=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(c){const S=h==="y"?"height":"width",k=s.reference[h]-s.floating[S]+b.mainAxis,A=s.reference[h]+s.reference[S]-b.mainAxis;p<k?p=k:p>A&&(p=A)}if(l){var w,v;const S=h==="y"?"width":"height",k=mi.has(ge(i)),A=s.reference[m]-s.floating[S]+(k&&((w=n.offset)==null?void 0:w[m])||0)+(k?0:b.crossAxis),M=s.reference[m]+s.reference[S]+(k?0:((v=n.offset)==null?void 0:v[m])||0)-(k?b.crossAxis:0);f<A?f=A:f>M&&(f=M)}return{[h]:p,[m]:f}}}},Zr=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var a,o;const{placement:i,rects:s,platform:n,elements:r}=t,{apply:c=()=>{},...l}=he(e,t),u=await n.detectOverflow(t,l),m=ge(i),h=Be(i),p=ne(i)==="y",{width:f,height:y}=s.floating;let b,w;m==="top"||m==="bottom"?(b=m,w=h===(await(n.isRTL==null?void 0:n.isRTL(r.floating))?"start":"end")?"left":"right"):(w=m,b=h==="end"?"top":"bottom");const v=y-u.top-u.bottom,S=f-u.left-u.right,k=Se(y-u[b],v),A=Se(f-u[w],S),M=!t.middlewareData.shift;let W=k,x=A;if((a=t.middlewareData.shift)!=null&&a.enabled.x&&(x=S),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(W=v),M&&!h){const F=Z(u.left,0),B=Z(u.right,0),_=Z(u.top,0),G=Z(u.bottom,0);p?x=f-2*(F!==0||B!==0?F+B:Z(u.left,u.right)):W=y-2*(_!==0||G!==0?_+G:Z(u.top,u.bottom))}await c({...t,availableWidth:x,availableHeight:W});const D=await n.getDimensions(r.floating);return f!==D.width||y!==D.height?{reset:{rects:!0}}:{}}}};function At(){return typeof window<"u"}function Ge(e){return pi(e)?(e.nodeName||"").toLowerCase():"#document"}function ee(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ce(e){var t;return(t=(pi(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function pi(e){return At()?e instanceof Node||e instanceof ee(e).Node:!1}function oe(e){return At()?e instanceof Element||e instanceof ee(e).Element:!1}function fe(e){return At()?e instanceof HTMLElement||e instanceof ee(e).HTMLElement:!1}function Ya(e){return!At()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ee(e).ShadowRoot}function Xe(e){const{overflow:t,overflowX:a,overflowY:o,display:i}=ie(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+a)&&i!=="inline"&&i!=="contents"}function ec(e){return/^(table|td|th)$/.test(Ge(e))}function Ct(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const tc=/transform|translate|scale|rotate|perspective|filter/,ac=/paint|layout|strict|content/,We=e=>!!e&&e!=="none";let Rt;function ma(e){const t=oe(e)?ie(e):e;return We(t.transform)||We(t.translate)||We(t.scale)||We(t.rotate)||We(t.perspective)||!pa()&&(We(t.backdropFilter)||We(t.filter))||tc.test(t.willChange||"")||ac.test(t.contain||"")}function oc(e){let t=ke(e);for(;fe(t)&&!_e(t);){if(ma(t))return t;if(Ct(t))return null;t=ke(t)}return null}function pa(){return Rt==null&&(Rt=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Rt}function _e(e){return/^(html|body|#document)$/.test(Ge(e))}function ie(e){return ee(e).getComputedStyle(e)}function Et(e){return oe(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ke(e){if(Ge(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Ya(e)&&e.host||ce(e);return Ya(t)?t.host:t}function hi(e){const t=ke(e);return _e(t)?e.ownerDocument?e.ownerDocument.body:e.body:fe(t)&&Xe(t)?t:hi(t)}function Qe(e,t,a){var o;t===void 0&&(t=[]),a===void 0&&(a=!0);const i=hi(e),s=i===((o=e.ownerDocument)==null?void 0:o.body),n=ee(i);if(s){const r=Xt(n);return t.concat(n,n.visualViewport||[],Xe(i)?i:[],r&&a?Qe(r):[])}else return t.concat(i,Qe(i,[],a))}function Xt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function gi(e){const t=ie(e);let a=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=fe(e),s=i?e.offsetWidth:a,n=i?e.offsetHeight:o,r=ht(a)!==s||ht(o)!==n;return r&&(a=s,o=n),{width:a,height:o,$:r}}function ha(e){return oe(e)?e:e.contextElement}function Fe(e){const t=ha(e);if(!fe(t))return re(1);const a=t.getBoundingClientRect(),{width:o,height:i,$:s}=gi(t);let n=(s?ht(a.width):a.width)/o,r=(s?ht(a.height):a.height)/i;return(!n||!Number.isFinite(n))&&(n=1),(!r||!Number.isFinite(r))&&(r=1),{x:n,y:r}}const ic=re(0);function fi(e){const t=ee(e);
vendor: 4,205 bytes, line 2
2return!pa()||!t.visualViewport?ic:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function sc(e,t,a){return t===void 0&&(t=!1),!a||t&&a!==ee(e)?!1:t}function Oe(e,t,a,o){t===void 0&&(t=!1),a===void 0&&(a=!1);const i=e.getBoundingClientRect(),s=ha(e);let n=re(1);t&&(o?oe(o)&&(n=Fe(o)):n=Fe(e));const r=sc(s,a,o)?fi(s):re(0);let c=(i.left+r.x)/n.x,l=(i.top+r.y)/n.y,u=i.width/n.x,m=i.height/n.y;if(s){const h=ee(s),p=o&&oe(o)?ee(o):o;let f=h,y=Xt(f);for(;y&&o&&p!==f;){const b=Fe(y),w=y.getBoundingClientRect(),v=ie(y),S=w.left+(y.clientLeft+parseFloat(v.paddingLeft))*b.x,k=w.top+(y.clientTop+parseFloat(v.paddingTop))*b.y;c*=b.x,l*=b.y,u*=b.x,m*=b.y,c+=S,l+=k,f=ee(y),y=Xt(f)}}return ft({width:u,height:m,x:c,y:l})}function Tt(e,t){const a=Et(e).scrollLeft;return t?t.left+a:Oe(ce(e)).left+a}function yi(e,t){const a=e.getBoundingClientRect(),o=a.left+t.scrollLeft-Tt(e,a),i=a.top+t.scrollTop;return{x:o,y:i}}function nc(e){let{elements:t,rect:a,offsetParent:o,strategy:i}=e;const s=i==="fixed",n=ce(o),r=t?Ct(t.floating):!1;if(o===n||r&&s)return a;let c={scrollLeft:0,scrollTop:0},l=re(1);const u=re(0),m=fe(o);if((m||!m&&!s)&&((Ge(o)!=="body"||Xe(n))&&(c=Et(o)),m)){const p=Oe(o);l=Fe(o),u.x=p.x+o.clientLeft,u.y=p.y+o.clientTop}const h=n&&!m&&!s?yi(n,c):re(0);return{width:a.width*l.x,height:a.height*l.y,x:a.x*l.x-c.scrollLeft*l.x+u.x+h.x,y:a.y*l.y-c.scrollTop*l.y+u.y+h.y}}function rc(e){return Array.from(e.getClientRects())}function cc(e){const t=ce(e),a=Et(e),o=e.ownerDocument.body,i=Z(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=Z(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let n=-a.scrollLeft+Tt(e);const r=-a.scrollTop;return ie(o).direction==="rtl"&&(n+=Z(t.clientWidth,o.clientWidth)-i),{width:i,height:s,x:n,y:r}}const Qa=25;function lc(e,t){const a=ee(e),o=ce(e),i=a.visualViewport;let s=o.clientWidth,n=o.clientHeight,r=0,c=0;if(i){s=i.width,n=i.height;const u=pa();(!u||u&&t==="fixed")&&(r=i.offsetLeft,c=i.offsetTop)}const l=Tt(o);if(l<=0){const u=o.ownerDocument,m=u.body,h=getComputedStyle(m),p=u.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,f=Math.abs(o.clientWidth-m.clientWidth-p);f<=Qa&&(s-=f)}else l<=Qa&&(s+=l);return{width:s,height:n,x:r,y:c}}function dc(e,t){const a=Oe(e,!0,t==="fixed"),o=a.top+e.clientTop,i=a.left+e.clientLeft,s=fe(e)?Fe(e):re(1),n=e.clientWidth*s.x,r=e.clientHeight*s.y,c=i*s.x,l=o*s.y;return{width:n,height:r,x:c,y:l}}function Ka(e,t,a){let o;if(t==="viewport")o=lc(e,a);else if(t==="document")o=cc(ce(e));else if(oe(t))o=dc(t,a);else{const i=fi(e);o={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return ft(o)}function bi(e,t){const a=ke(e);return a===t||!oe(a)||_e(a)?!1:ie(a).position==="fixed"||bi(a,t)}function uc(e,t){const a=t.get(e);if(a)return a;let o=Qe(e,[],!1).filter(r=>oe(r)&&Ge(r)!=="body"),i=null;const s=ie(e).position==="fixed";let n=s?ke(e):e;for(;oe(n)&&!_e(n);){const r=ie(n),c=ma(n);!c&&r.position==="fixed"&&(i=null),(s?!c&&!i:!c&&r.position==="static"&&!!i&&(i.position==="absolute"||i.position==="fixed")||Xe(n)&&!c&&bi(e,n))?o=o.filter(u=>u!==n):i=r,n=ke(n)}return t.set(e,o),o}function mc(e){let{element:t,boundary:a,rootBoundary:o,strategy:i}=e;const n=[...a==="clippingAncestors"?Ct(t)?[]:uc(t,this._c):[].concat(a),o],r=Ka(t,n[0],i);let c=r.top,l=r.right,u=r.bottom,m=r.left;for(let h=1;h<n.length;h++){const p=Ka(t,n[h],i);c=Z(p.top,c),l=Se(p.right,l),u=Se(p.bottom,u),m=Z(p.left,m)}return{width:l-m,height:u-c,x:m,y:c}}function pc(e){const{width:t,height:a}=gi(e);return{width:t,height:a}}function hc(e,t,a){const o=fe(t),i=ce(t),s=a==="fixed",n=Oe(e,!0,s,t);let r={scrollLeft:0,scrollTop:0};const c=re(0);function l(){c.x=Tt(i)}if(o||!o&&!s)if((Ge(t)!=="body"||Xe(i))&&(r=Et(t)),o){const p=Oe(t,!0,s,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}else i&&l();s&&!o&&i&&l();const u=i&&!o&&!s?yi(i,r):re(0),m=n.left+r.scrollLeft-c.x-u.x,h=n.top+r.scrollTop-c.y-u.y;return{x:m,y:h,width:n.width,height:n.height}}function zt(e){return ie(e).position==="static"}function Xa(e,t){if(!fe(e)||ie(e).position==="fixed")return null;if(t)return t(e);let a=e.offsetParent;return ce(e)===a&&(a=a.ownerDocument.body),a}function vi(e,t){const a=ee(e);
vendor: 5,750 bytes, line 2
2if(Ct(e))return a;if(!fe(e)){let i=ke(e);for(;i&&!_e(i);){if(oe(i)&&!zt(i))return i;i=ke(i)}return a}let o=Xa(e,t);for(;o&&ec(o)&&zt(o);)o=Xa(o,t);return o&&_e(o)&&zt(o)&&!ma(o)?a:o||oc(e)||a}const gc=async function(e){const t=this.getOffsetParent||vi,a=this.getDimensions,o=await a(e.floating);return{reference:hc(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function fc(e){return ie(e).direction==="rtl"}const yc={convertOffsetParentRelativeRectToViewportRelativeRect:nc,getDocumentElement:ce,getClippingRect:mc,getOffsetParent:vi,getElementRects:gc,getClientRects:rc,getDimensions:pc,getScale:Fe,isElement:oe,isRTL:fc};function wi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function bc(e,t){let a=null,o;const i=ce(e);function s(){var r;clearTimeout(o),(r=a)==null||r.disconnect(),a=null}function n(r,c){r===void 0&&(r=!1),c===void 0&&(c=1),s();const l=e.getBoundingClientRect(),{left:u,top:m,width:h,height:p}=l;if(r||t(),!h||!p)return;const f=rt(m),y=rt(i.clientWidth-(u+h)),b=rt(i.clientHeight-(m+p)),w=rt(u),S={rootMargin:-f+"px "+-y+"px "+-b+"px "+-w+"px",threshold:Z(0,Se(1,c))||1};let k=!0;function A(M){const W=M[0].intersectionRatio;if(W!==c){if(!k)return n();W?n(!1,W):o=setTimeout(()=>{n(!1,1e-7)},1e3)}W===1&&!wi(l,e.getBoundingClientRect())&&n(),k=!1}try{a=new IntersectionObserver(A,{...S,root:i.ownerDocument})}catch{a=new IntersectionObserver(A,S)}a.observe(e)}return n(!0),s}function vc(e,t,a,o){o===void 0&&(o={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:n=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:c=!1}=o,l=ha(e),u=i||s?[...l?Qe(l):[],...t?Qe(t):[]]:[];u.forEach(w=>{i&&w.addEventListener("scroll",a,{passive:!0}),s&&w.addEventListener("resize",a)});const m=l&&r?bc(l,a):null;let h=-1,p=null;n&&(p=new ResizeObserver(w=>{let[v]=w;v&&v.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var S;(S=p)==null||S.observe(t)})),a()}),l&&!c&&p.observe(l),t&&p.observe(t));let f,y=c?Oe(e):null;c&&b();function b(){const w=Oe(e);y&&!wi(y,w)&&a(),y=w,f=requestAnimationFrame(b)}return a(),()=>{var w;u.forEach(v=>{i&&v.removeEventListener("scroll",a),s&&v.removeEventListener("resize",a)}),m?.(),(w=p)==null||w.disconnect(),p=null,c&&cancelAnimationFrame(f)}}const wc=Kr,Sc=Xr,kc=$r,xc=Zr,qc=Yr,Ja=Ur,Ac=Jr,Cc=(e,t,a)=>{const o=new Map,i={platform:yc,...a},s={...i.platform,_c:o};return Vr(e,t,{...i,platform:s})};var Ec=typeof document<"u",Tc=function(){},dt=Ec?d.useLayoutEffect:Tc;function yt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let a,o,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(a=e.length,a!==t.length)return!1;for(o=a;o--!==0;)if(!yt(e[o],t[o]))return!1;return!0}if(i=Object.keys(e),a=i.length,a!==Object.keys(t).length)return!1;for(o=a;o--!==0;)if(!{}.hasOwnProperty.call(t,i[o]))return!1;for(o=a;o--!==0;){const s=i[o];if(!(s==="_owner"&&e.$$typeof)&&!yt(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Si(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Za(e,t){const a=Si(e);return Math.round(t*a)/a}function It(e){const t=d.useRef(e);return dt(()=>{t.current=e}),t}function Mc(e){e===void 0&&(e={});const{placement:t="bottom",strategy:a="absolute",middleware:o=[],platform:i,elements:{reference:s,floating:n}={},transform:r=!0,whileElementsMounted:c,open:l}=e,[u,m]=d.useState({x:0,y:0,strategy:a,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=d.useState(o);yt(h,o)||p(o);const[f,y]=d.useState(null),[b,w]=d.useState(null),v=d.useCallback(O=>{O!==M.current&&(M.current=O,y(O))},[]),S=d.useCallback(O=>{O!==W.current&&(W.current=O,w(O))},[]),k=s||f,A=n||b,M=d.useRef(null),W=d.useRef(null),x=d.useRef(u),D=c!=null,F=It(c),B=It(i),_=It(l),G=d.useCallback(()=>{if(!M.current||!W.current)return;const O={placement:t,strategy:a,middleware:h};B.current&&(O.platform=B.current),Cc(M.current,W.current,O).then(H=>{const T={...H,isPositioned:_.current!==!1};P.current&&!yt(x.current,T)&&(x.current=T,bt.flushSync(()=>{m(T)}))})},[h,t,a,B,_]);dt(()=>{l===!1&&x.current.isPositioned&&(x.current.isPositioned=!1,m(O=>({...O,isPositioned:!1})))},[l]);const P=d.useRef(!1);dt(()=>(P.current=!0,()=>{P.current=!1}),[]),dt(()=>{if(k&&(M.current=k),A&&(W.current=A),k&&A){if(F.current)return F.current(k,A,G);G()}},[k,A,G,F,D]);const N=d.useMemo(()=>({reference:M,floating:W,setReference:v,setFloating:S}),[v,S]),R=d.useMemo(()=>({reference:k,floating:A}),[k,A]),L=d.useMemo(()=>{const O={position:a,left:0,top:0};if(!R.floating)return O;const H=Za(R.floating,u.x),T=Za(R.floating,u.y);return r?{...O,transform:"translate("+H+"px, "+T+"px)",...Si(R.floating)>=1.5&&{willChange:"transform"}}:{position:a,left:H,top:T}},[a,r,R.floating,u.x,u.y]);return d.useMemo(()=>({...u,update:G,refs:N,elements:R,floatingStyles:L}),[u,G,N,R,L])}const Pc=e=>{function t(a){return{}.hasOwnProperty.call(a,"current")}return{name:"arrow",options:e,fn(a){const{element:o,padding:i}=typeof e=="function"?e(a):e;return o&&t(o)?o.current!=null?Ja({element:o.current,padding:i}).fn(a):{}:o?Ja({element:o,padding:i}).fn(a):{}}}},Dc=(e,t)=>{const a=wc(e);return{name:a.name,fn:a.fn,options:[e,t]}},Wc=(e,t)=>{const a=Sc(e);return{name:a.name,fn:a.fn,options:[e,t]}},Oc=(e,t)=>({fn:Ac(e).fn,options:[e,t]}),Rc=(e,t)=>{const a=kc(e);return{name:a.name,fn:a.fn,options:[e,t]}},zc=(e,t)=>{const a=xc(e);return{name:a.name,fn:a.fn,options:[e,t]}},Ic=(e,t)=>{const a=qc(e);return{name:a.name,fn:a.fn,options:[e,t]}},jc=(e,t)=>{const a=Pc(e);return{name:a.name,fn:a.fn,options:[e,t]}};var Lc="Arrow",ki=d.forwardRef((e,t)=>
2{const{children:a,width:o=10,height:i=5,...s}=e;return g.jsx(J.svg,{...s,ref:t,width:o,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?a:g.jsx("polygon",{points:"0,0 30,0 15,10"})})});ki.displayName=Lc;var Fc=ki;function _c(e){const[t,a]=d.useState(void 0);return pe(()=>{if(e){a({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const s=i[0];let n,r;if("borderBoxSize"in s){const c=s.borderBoxSize,l=Array.isArray(c)?c[0]:c;n=l.inlineSize,r=l.blockSize}else n=e.offsetWidth,r=e.offsetHeight;a({width:n,height:r})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else a(void 0)},[e]),t}var xi="Popper",[qi,Ai]=St(xi),[Xl,Ci]=qi(xi),Ei="PopperAnchor",Ti=d.forwardRef((e,t)=>{const{__scopePopper:a,virtualRef:o,...i}=e,s=Ci(Ei,a),n=d.useRef(null),r=s.onAnchorChange,c=d.useCallback(f=>{n.current=f,f&&r(f)},[r]),l=ae(t,c),u=d.useRef(null);d.useEffect(()=>{if(!o)return;const f=u.current;u.current=o.current,f!==u.current&&r(u.current)});const m=s.placementState&&fa(s.placementState),h=m?.[0],p=m?.[1];return o?null:g.jsx(J.div,{"data-radix-popper-side":h,"data-radix-popper-align":p,...i,ref:l})});Ti.displayName=Ei;var ga="PopperContent",[Nc,Bc]=qi(ga),Mi=d.forwardRef((e,t)=>{const{__scopePopper:a,side:o="bottom",sideOffset:i=0,align:s="center",alignOffset:n=0,arrowPadding:r=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:m="partial",hideWhenDetached:h=!1,updatePositionStrategy:p="optimized",onPlaced:f,...y}=e,b=Ci(ga,a),[w,v]=d.useState(null),S=ae(t,be=>v(be)),[k,A]=d.useState(null),M=_c(k),W=M?.width??0,x=M?.height??0,D=o+(s!=="center"?"-"+s:""),F=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},B=Array.isArray(l)?l:[l],_=B.length>0,G={padding:F,boundary:B.filter(Hc),altBoundary:_},{refs:P,floatingStyles:N,placement:R,isPositioned:L,middlewareData:O}=Mc({strategy:"fixed",placement:D,whileElementsMounted:(...be)=>vc(...be,{animationFrame:p==="always"}),elements:{reference:b.anchor},middleware:[Dc({mainAxis:i+x,alignmentAxis:n}),c&&Wc({mainAxis:!0,crossAxis:!1,limiter:m==="partial"?Oc():void 0,...G}),c&&Rc({...G}),zc({...G,apply:({elements:be,rects:V,availableWidth:et,availableHeight:je})=>{const{width:Le,height:He}=V.reference,ue=be.floating.style;ue.setProperty("--radix-popper-available-width",`${et}px`),ue.setProperty("--radix-popper-available-height",`${je}px`),ue.setProperty("--radix-popper-anchor-width",`${Le}px`),ue.setProperty("--radix-popper-anchor-height",`${He}px`)}}),k&&jc({element:k,padding:r}),Vc({arrowWidth:W,arrowHeight:x}),h&&Ic({strategy:"referenceHidden",...G,boundary:_?G.boundary:void 0})]}),H=b.setPlacementState;pe(()=>(H(R),()=>{H(void 0)}),[R,H]);const[T,Pe]=fa(R),le=we(f);pe(()=>{L&&le?.()},[L,le]);const de=O.arrow?.x,ye=O.arrow?.y,Q=O.arrow?.centerOffset!==0,[K,Ie]=d.useState();return pe(()=>{w&&Ie(window.getComputedStyle(w).zIndex)},[w]),g.jsx("div",{ref:P.setFloating,"data-radix-popper-content-wrapper":"",style:{...N,transform:L?N.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:K,"--radix-popper-transform-origin":[O.transformOrigin?.x,O.transformOrigin?.y].join(" "),...O.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:g.jsx(Nc,{scope:a,placedSide:T,placedAlign:Pe,onArrowChange:A,arrowX:de,arrowY:ye,shouldHideArrow:Q,children:g.jsx(J.div,{"data-side":T,"data-align":Pe,...y,ref:S,style:{...y.style,animation:L?void 0:"none"}})})})});Mi.displayName=ga;var Pi="PopperArrow",Gc={top:"bottom",right:"left",bottom:"top",left:"right"},Di=d.forwardRef(function(t,a){const{__scopePopper:o,...i}=t,s=Bc(Pi,o),n=Gc[s.placedSide];return g.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[n]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:g.jsx(Fc,{...i,ref:a,style:{...i.style,display:"block"}})})});Di.displayName=Pi;function Hc(e){return e!==null}
vendor: 5,156 bytes, line 2
2var Vc=e=>({name:"transformOrigin",options:e,fn(t){const{placement:a,rects:o,middlewareData:i}=t,n=i.arrow?.centerOffset!==0,r=n?0:e.arrowWidth,c=n?0:e.arrowHeight,[l,u]=fa(a),m={start:"0%",center:"50%",end:"100%"}[u],h=(i.arrow?.x??0)+r/2,p=(i.arrow?.y??0)+c/2;let f="",y="";return l==="bottom"?(f=n?m:`${h}px`,y=`${-c}px`):l==="top"?(f=n?m:`${h}px`,y=`${o.floating.height+c}px`):l==="right"?(f=`${-c}px`,y=n?m:`${p}px`):l==="left"&&(f=`${o.floating.width+c}px`,y=n?m:`${p}px`),{data:{x:f,y}}}});function fa(e){const[t,a="center"]=e.split("-");return[t,a]}var Uc=Ti,$c=Mi,Yc=Di,[Mt]=St("Tooltip",[Ai]),ya=Ai(),Wi="TooltipProvider",Qc=700,eo="tooltip.open",[Kc,Oi]=Mt(Wi),Ri=e=>{const{__scopeTooltip:t,delayDuration:a=Qc,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:s}=e,n=d.useRef(!0),r=d.useRef(!1),c=d.useRef(0);return d.useEffect(()=>{const l=c.current;return()=>window.clearTimeout(l)},[]),g.jsx(Kc,{scope:t,isOpenDelayedRef:n,delayDuration:a,onOpen:d.useCallback(()=>{o<=0||(window.clearTimeout(c.current),n.current=!1)},[o]),onClose:d.useCallback(()=>{o<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>n.current=!0,o))},[o]),isPointerInTransitRef:r,onPointerInTransitChange:d.useCallback(l=>{r.current=l},[]),disableHoverableContent:i,children:s})};Ri.displayName=Wi;var zi="Tooltip",[Jl,Je]=Mt(zi),Jt="TooltipTrigger",Xc=d.forwardRef((e,t)=>{const{__scopeTooltip:a,...o}=e,i=Je(Jt,a),s=Oi(Jt,a),n=ya(a),r=d.useRef(null),c=ae(t,r,i.onTriggerChange),l=d.useRef(!1),u=d.useRef(!1),m=d.useCallback(()=>l.current=!1,[]);return d.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),g.jsx(Uc,{asChild:!0,...n,children:g.jsx(J.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...o,ref:c,onPointerMove:$(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:$(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:$(e.onPointerDown,()=>{i.open&&i.onClose(),l.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:$(e.onFocus,()=>{l.current||i.onOpen()}),onBlur:$(e.onBlur,i.onClose),onClick:$(e.onClick,i.onClose)})})});Xc.displayName=Jt;var ba="TooltipPortal",[Jc,Zc]=Mt(ba,{forceMount:void 0}),Ii=e=>{const{__scopeTooltip:t,forceMount:a,children:o,container:i}=e,s=Je(ba,t);return g.jsx(Jc,{scope:t,forceMount:a,children:g.jsx(kt,{present:a||s.open,children:g.jsx(oa,{asChild:!0,container:i,children:o})})})};Ii.displayName=ba;var Ne="TooltipContent",ji=d.forwardRef((e,t)=>{const a=Zc(Ne,e.__scopeTooltip),{forceMount:o=a.forceMount,side:i="top",...s}=e,n=Je(Ne,e.__scopeTooltip);return g.jsx(kt,{present:o||n.open,children:n.disableHoverableContent?g.jsx(Li,{side:i,...s,ref:t}):g.jsx(el,{side:i,...s,ref:t})})}),el=d.forwardRef((e,t)=>{const a=Je(Ne,e.__scopeTooltip),o=Oi(Ne,e.__scopeTooltip),i=d.useRef(null),s=ae(t,i),[n,r]=d.useState(null),{trigger:c,onClose:l}=a,u=i.current,{onPointerInTransitChange:m}=o,h=d.useCallback(()=>{r(null),m(!1)},[m]),p=d.useCallback((f,y)=>{const b=f.currentTarget,w={x:f.clientX,y:f.clientY},v=sl(w,b.getBoundingClientRect()),S=nl(w,v),k=rl(y.getBoundingClientRect()),A=ll([...S,...k]);r(A),m(!0)},[m]);return d.useEffect(()=>()=>h(),[h]),d.useEffect(()=>{if(c&&u){const f=b=>p(b,u),y=b=>p(b,c);return c.addEventListener("pointerleave",f),u.addEventListener("pointerleave",y),()=>{c.removeEventListener("pointerleave",f),u.removeEventListener("pointerleave",y)}}},[c,u,p,h]),d.useEffect(()=>{if(n){const f=y=>{const b=y.target,w={x:y.clientX,y:y.clientY},v=c?.contains(b)||u?.contains(b),S=!cl(w,n);v?h():S&&(h(),l())};return document.addEventListener("pointermove",f),()=>document.removeEventListener("pointermove",f)}},[c,u,n,l,h]),g.jsx(Li,{...e,ref:s})}),[tl,al]=Mt(zi,{isInside:!1}),ol=Ws("TooltipContent"),Li=d.forwardRef((e,t)=>{const{__scopeTooltip:a,children:o,"aria-label":i,onEscapeKeyDown:s,onPointerDownOutside:n,...r}=e,c=Je(Ne,a),l=ya(a),{onClose:u}=c;return d.useEffect(()=>(document.addEventListener(eo,u),()=>document.removeEventListener(eo,u)),[u]),d.useEffect(()=>{if(c.trigger){const m=h=>{h.target instanceof Node&&h.target.contains(c.trigger)&&u()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[c.trigger,u]),g.jsx(aa,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:n,onFocusOutside:m=>m.preventDefault(),onDismiss:u,children:g.jsxs($c,{"data-state":c.stateAttribute,...l,...r,ref:t,style:{...r.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[g.jsx(ol,{children:o}),g.jsx(tl,{scope:a,isInside:!0,children:g.jsx(dn,{id:c.contentId,role:"tooltip",children:i||o})})]})})});ji.displayName=Ne;var Fi="TooltipArrow",il=d.forwardRef((e,t)=>
2{const{__scopeTooltip:a,...o}=e,i=ya(a);return al(Fi,a).isInside?null:g.jsx(Yc,{...i,...o,ref:t})});il.displayName=Fi;function sl(e,t){const a=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(a,o,i,s)){case s:return"left";case i:return"right";case a:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function nl(e,t,a=5){const o=[];switch(t){case"top":o.push({x:e.x-a,y:e.y+a},{x:e.x+a,y:e.y+a});break;case"bottom":o.push({x:e.x-a,y:e.y-a},{x:e.x+a,y:e.y-a});break;case"left":o.push({x:e.x+a,y:e.y-a},{x:e.x+a,y:e.y+a});break;case"right":o.push({x:e.x-a,y:e.y-a},{x:e.x-a,y:e.y+a});break}return o}function rl(e){const{top:t,right:a,bottom:o,left:i}=e;return[{x:i,y:t},{x:a,y:t},{x:a,y:o},{x:i,y:o}]}function cl(e,t){const{x:a,y:o}=e;let i=!1;for(let s=0,n=t.length-1;s<t.length;n=s++){const r=t[s],c=t[n],l=r.x,u=r.y,m=c.x,h=c.y;u>o!=h>o&&a<(m-l)*(o-u)/(h-u)+l&&(i=!i)}return i}function ll(e){const t=e.slice();return t.sort((a,o)=>a.x<o.x?-1:a.x>o.x?1:a.y<o.y?-1:a.y>o.y?1:0),dl(t)}function dl(e){if(e.length<=1)return e.slice();const t=[];for(let o=0;o<e.length;o++){const i=e[o];for(;t.length>=2;){const s=t[t.length-1],n=t[t.length-2];if((s.x-n.x)*(i.y-n.y)>=(s.y-n.y)*(i.x-n.x))t.pop();else break}t.push(i)}t.pop();const a=[];for(let o=e.length-1;o>=0;o--){const i=e[o];for(;a.length>=2;){const s=a[a.length-1],n=a[a.length-2];if((s.x-n.x)*(i.y-n.y)>=(s.y-n.y)*(i.x-n.x))a.pop();else break}a.push(i)}return a.pop(),t.length===1&&a.length===1&&t[0].x===a[0].x&&t[0].y===a[0].y?t:t.concat(a)}var ul=Ri,ml=Ii,_i=ji;const pl=ul,hl=d.forwardRef(({className:e,sideOffset:t=4,...a},o)=>g.jsx(ml,{children:g.jsx(_i,{ref:o,sideOffset:t,className:ze("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...a})}));hl.displayName=_i.displayName;const gl="/opengraph.jpg";function to(e){const t=e.ogImage||gl,a=[{kind:"title",text:e.title},{kind:"meta",attr:"name",key:"description",content:e.description},{kind:"meta",attr:"property",key:"og:title",content:e.title},{kind:"meta",attr:"property",key:"og:description",content:e.description},{kind:"meta",attr:"property",key:"og:type",content:"website"},{kind:"meta",attr:"property",key:"og:image",content:t},{kind:"meta",attr:"property",key:"og:image:width",content:"1200"},{kind:"meta",attr:"property",key:"og:image:height",content:"630"},{kind:"meta",attr:"name",key:"twitter:card",content:"summary_large_image"},{kind:"meta",attr:"name",key:"twitter:title",content:e.title},{kind:"meta",attr:"name",key:"twitter:description",content:e.description},{kind:"meta",attr:"name",key:"twitter:image",content:t}];return e.noindex&&a.push({kind:"meta",attr:"name",key:"robots",content:"noindex, nofollow"}),e.canonicalUrl&&(a.push({kind:"meta",attr:"property",key:"og:url",content:e.canonicalUrl}),a.push({kind:"link",rel:"canonical",href:e.canonicalUrl})),(e.alternates??[]).forEach(i=>a.push({kind:"link",rel:"alternate",href:i.href,hreflang:i.hrefLang})),(e.schema?Array.isArray(e.schema)?e.schema:[e.schema]:[]).forEach(i=>a.push({kind:"script-ld",json:JSON.stringify(i)})),a}function fl(e){document.head.querySelectorAll('[data-seo="1"]').forEach(a=>a.remove());const t=document.createDocumentFragment();for(const a of e){if(a.kind==="title"){document.title=a.text;continue}let o;a.kind==="meta"?(o=document.createElement("meta"),o.setAttribute(a.attr,a.key),o.setAttribute("content",a.content)):a.kind==="link"?(o=document.createElement("link"),o.setAttribute("rel",a.rel),a.hreflang&&o.setAttribute("hreflang",a.hreflang),o.setAttribute("href",a.href)):(o=document.createElement("script"),o.setAttribute("type","application/ld+json"),o.textContent=a.json),o.setAttribute("data-seo","1"),t.appendChild(o)}document.head.appendChild(t)}const Ni=d.createContext(null);function Zl(e){const t=d.useContext(Ni);return t&&(t.tags=to(e)),d.useEffect(()=>{fl(to(e))},[e.title,e.description,e.canonicalUrl,e.ogImage,JSON.stringify(e.alternates),JSON.stringify(e.schema)]),null}function yl(){const e=Vi(),[t,a]=d.useState(!1);d.useEffect(()=>{const i=()=>{a(window.scrollY>window.innerHeight)};return i(),window.addEventListener("scroll",i,{passive:!0}),()=>window.removeEventListener("scroll",i)},[]);const o=()=>{window.scrollTo({top:0,behavior:e?"auto":"smooth"})};return g.jsx(Ui,{children:t&&g.jsx($i.button,{type:"button",onClick:o,"aria-label":"Back to top",initial:{opacity:0,y:12}
2,animate:{opacity:1,y:0},exit:{opacity:0,y:12},transition:{duration:.35,ease:[.16,1,.3,1]},className:"group fixed bottom-6 right-6 z-50 flex h-12 w-12 items-center justify-center rounded-full border border-stone-300 bg-white/90 text-stone-600 shadow-lg backdrop-blur transition-colors hover:border-stone-500 hover:text-stone-900 md:bottom-8 md:right-8",children:g.jsx(In,{size:18})})})}const qe={heading:"How We Work",paragraphs:[["Senior-led from strategy through launch, with SEO and performance built in. See ",{text:"Web Design",href:"/business-website"},", ",{text:"SEO",href:"/search-engine-optimization"},", ",{text:"Local SEO",href:"/local-seo"},", and ",{text:"Digital Marketing",href:"/digital-marketing"},", or browse our ",{text:"portfolio",href:"/portfolio"},"."]]},Ae={heading:"Our Miami Studio",paragraphs:[["We are a Miami studio based in Wynwood, minutes from your business, with {{YEARS}}+ years, {{REVIEWS}}+ five-star reviews, and {{PROJECTS}}+ projects across the city. We meet in person and we know your market. Web Design Miami Company, 400 NW 26th St, Miami, FL 33127. Call +1-786-957-3455."]]},Ce={heading:"Cómo Trabajamos",paragraphs:[["Dirigido por perfiles senior, de la estrategia al lanzamiento, con SEO y rendimiento incorporados. Consulta ",{text:"Diseño Web",href:"/es/sitio-web-empresarial"},", ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"},", ",{text:"SEO Local",href:"/es/seo-local"}," y ",{text:"Marketing Digital",href:"/es/marketing-digital"},", o revisa nuestro ",{text:"portafolio",href:"/es/portafolio"},"."]]},Ee={heading:"Nuestro Estudio en Miami",paragraphs:[["Somos un estudio de Miami con base en Wynwood, a minutos de tu negocio, con más de {{YEARS}} años, más de {{REVIEWS}} reseñas de 5 estrellas y más de {{PROJECTS}} proyectos en toda la ciudad. Nos reunimos en persona y conocemos tu mercado. Web Design Miami Company, 400 NW 26th St, Miami, FL 33127. Llamada: +1-786-957-3455."]]};function Te(e,t="/pricing",a="/estimate"){return[{question:`How much does web design cost in ${e}?`,answer:["Websites start at $2,495 and scale with pages, custom design, and functionality. See transparent ranges on our ",{text:"pricing page",href:t}," or get a tailored figure in minutes with the ",{text:"instant estimate",href:a},"."]},{question:`How do I choose a web design agency in ${e}?`,answer:["Look for real local work, reviews you can verify, senior people on your project, and transparent pricing. We bring {{YEARS}}+ years, {{REVIEWS}}+ five-star reviews, and {{PROJECTS}}+ projects across Miami, and we meet in person."]},{question:`Do you work with businesses in ${e}?`,answer:[`Yes. We are a Miami studio based in Wynwood and serve ${e} directly, in English and Spanish.`]},{question:"Why does local knowledge matter for my website?",answer:["Because Miami's neighborhoods buy differently. A luxury offer marketed to the wrong area fails, and a mass-market offer that ignores the right areas leaves money on the table. We build for your actual audience."]},{question:"How long does a website take to build?",answer:["It depends on scope; after a short discovery call you get a defined timeline before any work starts."]},{question:"Is SEO included?",answer:["Every site ships with clean code, fast load times, and on-page SEO foundations. Full ",{text:"SEO",href:"/search-engine-optimization"}," and ",{text:"Local SEO",href:"/local-seo"}," programs are available to grow rankings after launch."]}]}function Me(e){return[{question:`¿Cuánto cuesta el diseño web en ${e}?`,answer:["Los sitios web comienzan en $2,495 y escalan según páginas, diseño personalizado y funcionalidades. Consulta rangos transparentes en nuestra ",{text:"página de precios",href:"/es/precios"}," u obtén una cifra a tu medida con el ",{text:"estimado instantáneo",href:"/es/estimado"},"."]},{question:`¿Cómo elijo una agencia de diseño web en ${e}?`,answer:["Busca trabajo local real, reseñas verificables, personas senior en tu proyecto y precios transparentes. Aportamos más de {{YEARS}} años, más de {{REVIEWS}} reseñas de 5 estrellas y más de {{PROJECTS}} proyectos en Miami, y nos reunimos en persona."]},{question:`¿Trabajan con negocios en ${e}?`,answer:[`Sí. Somos un estudio de Miami con base en Wynwood y atendemos ${e} directamente, en inglés y español.`]},{question:"¿Por qué importa el conocimiento local para mi sitio web?",answer:["Porque cada zona de Miami compra distinto. Una oferta de lujo dirigid
2a a la zona equivocada fracasa, y una oferta masiva que ignora las zonas correctas deja dinero sobre la mesa. Diseñamos para tu audiencia real."]},{question:"¿Cuánto tarda en construirse un sitio web?",answer:["Depende del alcance; tras una breve llamada de descubrimiento recibes un plazo definido antes de comenzar."]},{question:"¿Incluye SEO?",answer:["Todo sitio se entrega con código limpio, carga rápida y bases de SEO on-page. Los programas completos de ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"}," y ",{text:"SEO Local",href:"/es/seo-local"}," están disponibles para crecer después del lanzamiento."]}]}const bl={slug:"brickell",cityEn:"Brickell",cityEs:"Brickell",areaType:"Place",areaSchemaName:"Brickell, Miami, FL",imageId:"miami-location-brickell",en:{seoTitle:"Web Design in Brickell, Miami | Built to Convert",seoDescription:"Web design for Brickell finance, legal, and startup businesses. Fast, credible, bilingual websites built to win high-value clients in Miami's core.",h1:"Web Design in Brickell",heroTagline:"In Miami's financial core, your website is the first piece of due diligence a client runs on you. We build fast, refined, bilingual sites that make Brickell firms look the part and convert high-value leads.",imageAlt:"Brickell skyline in Miami",imageLabel:"Brickell Web Design",sections:[{heading:"The Brickell Market",paragraphs:[["Brickell is Miami's financial district: a dense vertical grid of banks, investment and law firms, family offices, fintech startups, and the luxury towers that house the people who run them. It is one of the most competitive and high-stakes business environments in the Southeast, and it is intensely international, with a large share of clients and capital moving between Miami and Latin America. In an environment like this, a website is rarely the first touch, but it is almost always the first test: the moment a referred prospect, an investor, or a partner decides whether you operate at their level."]]},{heading:"Who We Build For in Brickell",paragraphs:[["We work with the firms that define the district: finance and fintech, law and accounting, private equity and family offices, startups scaling out of the towers, real estate and condo developers, and the upscale services that cater to all of them. The common thread is the buyer. Brickell decision-makers are time-poor, skeptical, and credibility-driven. They judge competence in seconds, they vet even warm referrals online, and their deals routinely involve international, bilingual stakeholders."]]},{heading:"What a Brickell Website Has to Do",paragraphs:[],list:["Establish authority instantly. The design itself has to signal the tier you play in, because a dated or generic site quietly tells a high-value prospect you are not a peer.","Perform flawlessly and load fast, on desktop and mobile, because busy professionals form a judgment before the page finishes loading.","Capture qualified leads without friction: clear consultation booking and contact paths that respect a serious buyer's time.","Communicate credibly in English and Spanish, because so much of Brickell's business is cross-border.","Protect trust. For finance and legal firms, security, privacy, and a buttoned-up presentation are not optional."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["The Brickell buyer is not a generic Miami small business, and marketing to them as if they were burns budget and credibility at the same time. A high-touch professional service positioned like a neighborhood shop will underperform no matter how good the design looks. As a local studio, we build and position for the actual Brickell audience: affluent, discerning, cross-border, and quick to judge. Match the message to that buyer and the site becomes a client-acquisition engine instead of a brochure."]]},qe,{heading:"Services in Brickell",paragraphs:[[{text:"Web Design",href:"/business-website"}," - ",{text:"SEO",href:"/search-engine-optimization"}," - ",{text:"Local SEO",href:"/local-seo"}," - ",{text:"Web Development",href:"/web-development"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Downtown Miami",href:"/downtown-miami-web-design"}," and ",{text:"Coral Gables",href:"/coral-gables-web-design"},"."]]}],faqs:[...Te("Brickell"),{question:"Do you build for Brickell finance and law firms?",answer:["Yes. We build credibility-first, secure, fast websites for professional services firms, with the discretion and polish high-value clients expect."]},{question:"Can you build in English and Spanish for international clients?",answer:["Yes. We deliver natively bilingual sites, which matters for Brickell's heavily cross-border clientele."]},{question:"Our brand needs to look established, not flashy. Can you do refined?",answer:["Yes. We design for authority and restraint when that is what your market rewards, not decoration for its own sake."]},{question:"How do you handle security and privacy for a financial firm's site?",answer:["We build on a modern, secure stack with SSL, hardening, and privacy-conscious forms, and we keep sensitive data handling clean."]}]},es:{seoTitle:"Diseño Web en Brickell, Miami | Hecho para Convert
2ir",seoDescription:"Diseño web para empresas de finanzas, legal y startups en Brickell. Sitios rápidos, creíbles y bilingües para ganar clientes de alto valor en Miami.",h1:"Diseño Web en Brickell",heroTagline:"En el corazón financiero de Miami, tu sitio web es la primera diligencia que un cliente hace sobre ti. Creamos sitios rápidos, refinados y bilingües que hacen lucir a las firmas de Brickell a su nivel y convierten prospectos de alto valor.",imageAlt:"Panorama de Brickell en Miami",imageLabel:"Diseño Web Brickell",sections:[{heading:"El Mercado de Brickell",paragraphs:[["Brickell es el distrito financiero de Miami: una densa cuadrícula vertical de bancos, firmas de inversión y legales, family offices, startups de fintech y las torres de lujo donde vive quien las dirige. Es uno de los entornos de negocio más competitivos y de mayor exigencia del sureste, y es intensamente internacional, con gran parte de sus clientes y capital moviéndose entre Miami y América Latina. En un entorno así, el sitio web rara vez es el primer contacto, pero casi siempre es la primera prueba: el momento en que un prospecto referido, un inversionista o un socio decide si operas a su nivel."]]},{heading:"Para Quién Creamos en Brickell",paragraphs:[["Trabajamos con las firmas que definen el distrito: finanzas y fintech, legal y contabilidad, private equity y family offices, startups que crecen desde las torres, bienes raíces y desarrolladores, y los servicios de alto nivel que los atienden. El hilo común es el comprador. Quien decide en Brickell tiene poco tiempo, es escéptico y se guía por la credibilidad. Juzga la competencia en segundos, verifica en línea incluso las referencias, y sus negocios suelen involucrar a interesados internacionales y bilingües."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Brickell",paragraphs:[],list:["Establecer autoridad al instante. El diseño mismo debe transmitir tu nivel, porque un sitio anticuado o genérico le dice en silencio a un prospecto de alto valor que no eres un par.","Rendir sin fallas y cargar rápido, en escritorio y móvil, porque el profesional ocupado se forma un juicio antes de que termine de cargar la página.","Captar prospectos calificados sin fricción: agenda de consultas y vías de contacto claras que respeten el tiempo de un comprador serio.","Comunicar con credibilidad en inglés y español, porque gran parte del negocio de Brickell es transfronterizo.","Proteger la confianza. Para firmas de finanzas y legales, la seguridad, la privacidad y una presentación impecable no son opcionales."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["El comprador de Brickell no es un pequeño negocio de Miami genérico, y tratarlo como tal desperdicia presupuesto y credibilidad a la vez. Un servicio profesional de alto nivel posicionado como una tienda de barrio rendirá por debajo de su potencial por bueno que se vea el diseño. Como estudio local, diseñamos y posicionamos para la audiencia real de Brickell: con recursos, exigente, transfronteriza y rápida para juzgar. Ajusta el mensaje a ese comprador y el sitio se convierte en un motor de captación de clientes en lugar de un folleto."]]},Ce,{heading:"Servicios en Brickell",paragraphs:[[{text:"Diseño Web",href:"/es/sitio-web-empresarial"}," - ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"}," - ",{text:"SEO Local",href:"/es/seo-local"}," - ",{text:"Desarrollo Web",href:"/es/desarrollo-web"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Downtown Miami",href:"/es/diseno-web-downtown-miami"}," y ",{text:"Coral Gables",href:"/es/diseno-web-coral-gables"},"."]]}],faqs:[...Me("Brickell"),{question:"¿Crean sitios para firmas de finanzas y legales en Brickell?",answer:["Sí. Creamos sitios rápidos, seguros y centrados en la credibilidad para firmas de servicios profesionales, con la discreción y el pulido que esperan los clientes de alto valor."]},{question:"¿Pueden crear el sitio en inglés y español para clientes internacionales?",answer:["Sí. Entregamos sitios nativamente bilingües, algo clave para la clientela transfronteriza de Brickell."]},{question:"Nuestra marca debe verse establecida, no llamativa. ¿Pueden lograr algo refinado?",answer:["Sí. Diseñamos para la autoridad y la sobr
2iedad cuando eso es lo que premia tu mercado, no decoración porque sí."]},{question:"¿Cómo manejan la seguridad y la privacidad del sitio de una firma financiera?",answer:["Construimos sobre una plataforma moderna y segura, con SSL, hardening y formularios cuidadosos con la privacidad, y mantenemos limpio el manejo de datos sensibles."]}]}},vl={slug:"miami-beach",cityEn:"Miami Beach",cityEs:"Miami Beach",areaType:"City",areaSchemaName:"Miami Beach, Miami, FL",imageId:"miami-location-miami-beach",en:{seoTitle:"Web Design in Miami Beach | Brands That Sell",seoDescription:"Web design for Miami Beach hotels, restaurants, retail, and real estate. Visual, mobile-first, multilingual sites built to book and convert.",h1:"Web Design in Miami Beach",heroTagline:"On Miami Beach, your website competes for attention with the ocean. We build striking, fast, multilingual sites that turn browsers into bookings, reservations, and sales.",imageAlt:"Miami Beach waterfront and Art Deco architecture",imageLabel:"Miami Beach Web Design",sections:[{heading:"The Miami Beach Market",paragraphs:[["Miami Beach is a global consumer stage. Millions of visitors a year mix with affluent residents and a heavy international crowd, and they all decide with their eyes and their phones. A hotel, restaurant, or boutique here is judged on Instagram before the visitor ever lands, and the website has seconds to confirm the promise. This is also one of the most crowded hospitality markets in the country: dozens of venues compete for the same night out, the same stay, the same afternoon of shopping. The brands that win look extraordinary and make acting on impulse effortless."]]},{heading:"Who We Build For in Miami Beach",paragraphs:[["Boutique hotels and hospitality groups, restaurants and nightlife venues, fashion and retail brands, spas and wellness, and the real estate businesses that sell the Beach lifestyle. Their buyer is a visitor in vacation mode or a local who expects the same energy: decisions are impulsive, visual, and made on a phone, often in a language other than English."]]},{heading:"What a Miami Beach Website Has to Do",paragraphs:[],list:["Look extraordinary. On the Beach, aesthetic is the product; photography, video, and motion have to carry the brand's energy.","Convert on mobile first. The buyer is on a phone, on the move, and one slow load away from a competitor.","Make booking effortless: reservations, room booking, menus, and tickets built into the site so impulse becomes action on the spot.","Speak multiple languages. English and Spanish at minimum for an international clientele.","Plug into social. Instagram and TikTok drive discovery here; the site has to receive that traffic and close it."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["Miami Beach punishes brands that misread the crowd. A fine-dining concept marketed like a beach bar attracts the wrong table and the wrong reviews; a boutique hotel that looks like a chain gets compared on price alone. We know the difference between the South Beach visitor, the North Beach local, and the international buyer, and we build sites that put the right offer in front of the right eyes."]]},qe,{heading:"Services in Miami Beach",paragraphs:[[{text:"Web Design",href:"/business-website"}," - ",{text:"Ecommerce",href:"/online-store"}," - ",{text:"Photography",href:"/photography"}," - ",{text:"Videography",href:"/videography"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Downtown Miami",href:"/downtown-miami-web-design"}," and ",{text:"Aventura",href:"/aventura-web-design"},"."]]}],faqs:[...Te("Miami Beach"),{question:"Can you handle reservations and booking on the site?",answer:["Yes. We integrate reservations, room booking, menus, and ticketing so visitors act the moment interest peaks."]},{question:"Most of our guests find us on Instagram. Does the website still matter?",answer:["Yes. Social creates the desire; the site confirms the quality and takes the booking. A weak site loses the guest social already won."]},{question:"Can the site work in several languages for tourists?",answer:["Yes. We build multilingual sites, English and Spanish natively, with more languages where your audience demands it."]}
2,{question:"Do you understand hospitality brands specifically?",answer:["Yes. We design for hospitality's reality: visual-first buyers, mobile bookings, seasonal peaks, and reputation pressure."]}]},es:{seoTitle:"Diseño Web en Miami Beach | Marcas que Venden",seoDescription:"Diseño web para hoteles, restaurantes, retail y bienes raíces en Miami Beach. Sitios visuales, mobile-first y multilingües hechos para reservar y convertir.",h1:"Diseño Web en Miami Beach",heroTagline:"En Miami Beach, tu sitio web compite por atención con el mar. Creamos sitios impactantes, rápidos y multilingües que convierten visitantes en reservas y ventas.",imageAlt:"Frente marítimo y arquitectura Art Deco de Miami Beach",imageLabel:"Diseño Web Miami Beach",sections:[{heading:"El Mercado de Miami Beach",paragraphs:[["Miami Beach es un escenario de consumo global. Millones de visitantes al año se mezclan con residentes de alto poder adquisitivo y un público internacional, y todos deciden con los ojos y con el teléfono. A un hotel, restaurante o boutique aquí se le juzga en Instagram antes de que el visitante aterrice, y el sitio web tiene segundos para confirmar la promesa. Es además uno de los mercados de hospitalidad más competidos del país: decenas de lugares pelean por la misma noche, la misma estadía, la misma tarde de compras. Ganan las marcas que lucen extraordinarias y hacen que actuar por impulso sea fácil."]]},{heading:"Para Quién Creamos en Miami Beach",paragraphs:[["Hoteles boutique y grupos de hospitalidad, restaurantes y vida nocturna, marcas de moda y retail, spas y bienestar, y los negocios inmobiliarios que venden el estilo de vida de la playa. Su comprador es un visitante en modo vacaciones o un local que espera la misma energía: decide por impulso, por lo visual y desde el teléfono, muchas veces en un idioma distinto al inglés."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Miami Beach",paragraphs:[],list:["Lucir extraordinario. En la playa, la estética es el producto; la fotografía, el video y el movimiento deben transmitir la energía de la marca.","Convertir primero en móvil. El comprador está en su teléfono, en movimiento, y a una carga lenta de irse con la competencia.","Hacer la reserva sin esfuerzo: reservaciones, habitaciones, menús y boletos integrados al sitio para que el impulso se vuelva acción.","Hablar varios idiomas. Inglés y español como mínimo para una clientela internacional.","Conectarse con lo social. Instagram y TikTok generan el descubrimiento; el sitio debe recibir ese tráfico y cerrarlo."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["Miami Beach castiga a las marcas que leen mal a su público. Un concepto de alta cocina promocionado como bar de playa atrae la mesa equivocada y las reseñas equivocadas; un hotel boutique que parece cadena termina comparado solo por precio. Conocemos la diferencia entre el visitante de South Beach, el local de North Beach y el comprador internacional, y construimos sitios que ponen la oferta correcta frente a los ojos correctos."]]},Ce,{heading:"Servicios en Miami Beach",paragraphs:[[{text:"Diseño Web",href:"/es/sitio-web-empresarial"}," - ",{text:"Ecommerce",href:"/es/tienda-en-linea"}," - ",{text:"Fotografía",href:"/es/fotografia"}," - ",{text:"Videografía",href:"/es/videografia"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Downtown Miami",href:"/es/diseno-web-downtown-miami"}," y ",{text:"Aventura",href:"/es/diseno-web-aventura"},"."]]}],faqs:[...Me("Miami Beach"),{question:"¿Pueden manejar reservas en el sitio?",answer:["Sí. Integramos reservaciones, habitaciones, menús y boletos para que el visitante actúe cuando el interés está en su punto."]},{question:"La mayoría nos encuentra en Instagram. ¿Aún importa el sitio web?",answer:["Sí. Lo social crea el deseo; el sitio confirma la calidad y toma la reserva. Un sitio débil pierde al huésped que lo social ya había ganado."]},{question:"¿El sitio puede funcionar en varios idiomas para turistas?",answer:["Sí. Creamos sitios multilingües, inglés y español de forma nativa, y más idiomas donde tu audiencia lo exija."]},{question:"¿Entienden específicamente a las marcas de hospital
2idad?",answer:["Sí. Diseñamos para la realidad de la hospitalidad: compradores visuales, reservas móviles, picos de temporada y presión de reputación."]}]}},wl={slug:"coral-gables",cityEn:"Coral Gables",cityEs:"Coral Gables",areaType:"City",areaSchemaName:"Coral Gables, Miami, FL",imageId:"miami-location-coral-gables",en:{seoTitle:"Web Design in Coral Gables | Refined & Trusted",seoDescription:"Web design for Coral Gables law, medical, finance, and luxury firms. Refined, authoritative, bilingual sites that signal trust and heritage.",h1:"Web Design in Coral Gables",heroTagline:"Coral Gables clients expect polish and permanence. We build refined, authoritative websites that make established firms look every bit their reputation.",imageAlt:"Tree-lined street in Coral Gables, Miami",imageLabel:"Coral Gables Web Design",sections:[{heading:"The Coral Gables Market",paragraphs:[["The Gables is Miami's old-money professional core: a planned, tree-lined city of established law practices, medical groups, architecture and finance firms, multinational regional headquarters, and the luxury retail of Miracle Mile. Business here runs on reputation, referrals, and relationships that span decades. The buyer is not impressed by loud; they are reassured by evidence of permanence, credentials, and taste. Many firms serve international clients, especially from Latin America and Europe, and expect their partners to operate bilingually as a matter of course."]]},{heading:"Who We Build For in Coral Gables",paragraphs:[["Established law, medical, dental, architecture, engineering, and financial firms; wealth managers and insurance practices; luxury retailers and galleries; and the international corporations based along Alhambra and Ponce. Their clients vet them quietly and thoroughly: they read credentials, look for the office, check how long the firm has existed, and silently compare the website against the fees being charged."]]},{heading:"What a Coral Gables Website Has to Do",paragraphs:[],list:["Signal permanence and pedigree. Design here should feel inevitable and established, never trendy, because trend reads as risk to this buyer.","Present credentials clearly: bios, board certifications, bar admissions, awards, and history, structured so a careful reader finds them fast.","Convert without selling. This audience responds to quiet confidence and a frictionless consultation path, not urgency banners.","Serve international clients in English and Spanish with equal polish.","Perform technically. A slow or broken site contradicts everything the brand claims about diligence."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["A Gables firm that markets itself like a startup erodes the very trust it spent decades earning, and a luxury retailer that chases discount-style traffic devalues the brand. The Gables buyer rewards restraint, proof, and continuity. We design for that psychology: pages that feel like the firm's lobby, credentials that surface at the right moment, and a tone that respects the client's intelligence."]]},qe,{heading:"Services in Coral Gables",paragraphs:[[{text:"Web Design",href:"/business-website"}," - ",{text:"SEO",href:"/search-engine-optimization"}," - ",{text:"Brand Identity",href:"/brand-identity"}," - ",{text:"Website Redesign",href:"/website-redesign"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Coconut Grove",href:"/coconut-grove-web-design"}," and ",{text:"Brickell",href:"/brickell-web-design"},"."]]}],faqs:[...Te("Coral Gables"),{question:"We are an established firm, not a startup. Will the site match our reputation?",answer:["Yes. We design for heritage and authority, refined rather than flashy, so the site reads like your best conference room."]},{question:"Can you present our attorneys' or physicians' credentials properly?",answer:["Yes. We structure bios, certifications, and case results so careful readers find proof fast, with the schema markup search engines need."]},{question:"Our clients are international. Can the site serve them?",answer:["Yes. We build natively bilingual sites in English and Spanish, with the same polish in both."]},{question:"Can you modernize our old website without losing our identity?",answer:["Yes. We preserve the equity in your name and history while rebuilding the technology and design underneath it, and we protect your search rankings through the change."]}]},es:{seoTitle:"Diseño Web en Coral Gables | Refinado y Confiable",seoDescription:"Diseño web para firmas legales, médicas, financieras y de lujo en Coral Gables. Sitios refinados, con autoridad y bilingües que transmiten confianza.",h1:"Diseño Web en Coral Gables",heroTagline:"Los clientes de Coral Gables esperan pulido y permanencia. Creamos sitios refinados y con autoridad que hacen que las firmas establecidas luzcan a la altura de su reputación.",imageAlt:"Calle arbolada en Coral Gables, Miami",imageLabel:"Diseño Web Coral Gables",sections:[{heading:"El Mercado de Coral Gables",paragraphs:[["The Gables es el núcleo profesional tradicional de Miami: una ciudad planificada y arbolada de firmas legales establecidas, grupos médicos, estudios de arquitectura y finanzas, sedes regionales de multinacionales y el retail de lujo de Miracle Mile. Aquí el negocio corre sobre reputación, referencias y relaciones de décadas. Al comprador no lo impresiona lo llamativo; lo tranquiliza la evidencia de permanencia, credenciales y buen gusto. Muchas firmas atienden clientes internacionales, sobre todo de América Latina y Europa, y esperan que sus socios operen en dos idiomas con naturalidad."]]},{heading:"Para Quién Creamos en Coral Gables",paragraphs:[["Firmas establecidas de derecho, medicina, odontología, arquitectura, ingeniería y finanzas;
2 gestores de patrimonio y prácticas de seguros; retail de lujo y galerías; y las corporaciones internacionales asentadas en Alhambra y Ponce. Sus clientes los evalúan en silencio y a fondo: leen credenciales, buscan la oficina, verifican la trayectoria y comparan sin decirlo el sitio web contra los honorarios que pagan."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Coral Gables",paragraphs:[],list:["Transmitir permanencia y pedigrí. El diseño aquí debe sentirse sólido y establecido, nunca de moda, porque la moda se lee como riesgo para este comprador.","Presentar credenciales con claridad: biografías, certificaciones, admisiones y trayectoria, estructuradas para que el lector cuidadoso las encuentre rápido.","Convertir sin vender. Esta audiencia responde a la confianza serena y a una vía de consulta sin fricción, no a banners de urgencia.","Atender clientes internacionales en inglés y español con el mismo pulido.","Rendir técnicamente. Un sitio lento o roto contradice todo lo que la marca afirma sobre su diligencia."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["Una firma de the Gables que se promociona como startup erosiona la confianza que tardó décadas en ganar, y un retailer de lujo que persigue tráfico de descuento devalúa la marca. El comprador de Coral Gables premia la sobriedad, la prueba y la continuidad. Diseñamos para esa psicología: páginas que se sienten como el lobby de la firma, credenciales que aparecen en el momento justo y un tono que respeta la inteligencia del cliente."]]},Ce,{heading:"Servicios en Coral Gables",paragraphs:[[{text:"Diseño Web",href:"/es/sitio-web-empresarial"}," - ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"}," - ",{text:"Identidad de Marca",href:"/es/identidad-de-la-marca"}," - ",{text:"Rediseño Web",href:"/es/rediseno-de-sitio-web"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Coconut Grove",href:"/es/diseno-web-coconut-grove"}," y ",{text:"Brickell",href:"/es/diseno-web-brickell"},"."]]}],faqs:[...Me("Coral Gables"),{question:"Somos una firma establecida, no una startup. ¿El sitio estará a la altura?",answer:["Sí. Diseñamos para el prestigio y la autoridad, refinado antes que llamativo, para que el sitio se lea como tu mejor sala de juntas."]},{question:"¿Pueden presentar bien las credenciales de nuestros abogados o médicos?",answer:["Sí. Estructuramos biografías, certificaciones y resultados para que el lector encuentre la prueba rápido, con el marcado schema que los buscadores necesitan."]},{question:"Nuestros clientes son internacionales. ¿El sitio puede atenderlos?",answer:["Sí. Creamos sitios nativamente bilingües en inglés y español, con el mismo pulido en ambos."]},{question:"¿Pueden modernizar nuestro sitio antiguo sin perder nuestra identidad?",answer:["Sí. Conservamos el valor de tu nombre y tu historia mientras reconstruimos la tecnología y el diseño, y protegemos tu posicionamiento durante el cambio."]}]}},Sl={slug:"wynwood",cityEn:"Wynwood",cityEs:"Wynwood",areaType:"Place",areaSchemaName:"Wynwood, Miami, FL",imageId:"miami-location-wynwood",en:{seoTitle:"Web Design in Wynwood | Bold by Nature",seoDescription:"Web design for Wynwood creative, e-commerce, and startup brands, from a studio based in the neighborhood. Bold, distinctive sites with real personality.",h1:"Web Design in Wynwood",heroTagline:"This is our neighborhood. We build bold, distinctive websites for the creative and commerce brands that make Wynwood what it is.",imageAlt:"Wynwood Walls street art and creative district in Miami",imageLabel:"Wynwood Web Design",sections:[{heading:"The Wynwood Market",paragraphs:[["Wynwood turned warehouses and murals into one of the most recognizable creative districts in the world, and then filled them with galleries, agencies, DTC brands, breweries, tech startups, and venture-backed offices. It is Miami's brand-native neighborhood: the businesses here live or die on identity, and their customers are young, design-literate, and allergic to anything generic. Wynwood is also where our own studio is based, so this is the market we see from the sidew
2alk every day, not from across a bridge."]]},{heading:"Who We Build For in Wynwood",paragraphs:[["Creative agencies and studios, artists and galleries, e-commerce and DTC product brands, cafes, breweries and restaurants, startups and tech companies moving into the district. Their audience discovered them on social, has seen a thousand good-looking sites, and decides in a scroll whether a brand has a real point of view or is renting one."]]},{heading:"What a Wynwood Website Has to Do",paragraphs:[],list:["Have a point of view. In a district built on originality, a template is invisible; design must be distinctive and opinionated, matched to the brand's voice.","Tell the story. Founders, process, craft, and culture are the products here; the site has to narrate, not just list.","Sell without breaking character. E-commerce that converts while keeping the brand's edge intact.","Land the social traffic. Instagram and TikTok discovery has to arrive on pages that keep the same energy and close the sale.","Stay fast under visual weight. Bold imagery and motion only work when performance keeps up."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["Wynwood buyers reward authenticity and punish imitation instantly. A brand that looks corporate here loses the room; the same brand two miles south in Brickell would be underdressed. Because we are based in this neighborhood, we calibrate that line every day: bold enough to belong on these streets, sharp enough to convert."]]},qe,{heading:"Services in Wynwood",paragraphs:[[{text:"Web Design",href:"/business-website"}," - ",{text:"Ecommerce",href:"/online-store"}," - ",{text:"Brand Identity",href:"/brand-identity"}," - ",{text:"AI Photo & Video",href:"/ai-photo-and-video-creation"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Downtown Miami",href:"/downtown-miami-web-design"}," and ",{text:"Miami Beach",href:"/miami-beach-web-design"},"."]]}],faqs:[...Te("Wynwood"),{question:"Are you actually based in Wynwood?",answer:["Yes. Our studio is in the neighborhood, so we know this market, its brands, and its buyers first-hand."]},{question:"We want something that does not look like a template. Can you deliver?",answer:["Yes. Distinctive, opinionated design is our default, built around your brand's voice rather than a theme."]},{question:"Can you build e-commerce for a DTC brand?",answer:["Yes. We build stores, including Shopify and Shopify Plus, designed to convert without flattening your identity."]},{question:"Can we meet in person?",answer:["Easily. We are minutes away, and we work face to face with neighborhood brands whenever it helps."]}]},es:{seoTitle:"Diseño Web en Wynwood | Audaz por Naturaleza",seoDescription:"Diseño web para marcas creativas, de e-commerce y startups en Wynwood, desde un estudio del barrio. Sitios audaces y distintivos con personalidad real.",h1:"Diseño Web en Wynwood",heroTagline:"Este es nuestro barrio. Creamos sitios audaces y distintivos para las marcas creativas y comerciales que hacen de Wynwood lo que es.",imageAlt:"Arte mural en Wynwood Walls y distrito creativo de Miami",imageLabel:"Diseño Web Wynwood",sections:[{heading:"El Mercado de Wynwood",paragraphs:[["Wynwood convirtió bodegas y murales en uno de los distritos creativos más reconocibles del mundo, y los llenó de galerías, agencias, marcas DTC, cervecerías, startups y oficinas de capital de riesgo. Es el barrio nativo de marca de Miami: los negocios aquí viven o mueren por su identidad, y sus clientes son jóvenes, entendidos en diseño y alérgicos a lo genérico. Wynwood es además donde está nuestro propio estudio, así que este mercado lo vemos desde la acera todos los días, no desde el otro lado de un puente."]]},{heading:"Para Quién Creamos en Wynwood",paragraphs:[["Agencias y estudios creativos, artistas y galerías, marcas de producto e-commerce y DTC, cafés, cervecerías y restaurantes, startups y empresas de tecnología que llegan al distrito. Su audiencia los descubrió en redes, ha visto mil sitios bonitos y decide en un scroll si una marca tiene un punto de vista real o lo está alquilando."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Wynwood",paragraphs:[],list:["Tener punto de vista. En un distrito construido sobre la originalidad, una plantilla es invisible; el diseño debe ser distintivo y con carácter, alineado a la voz de la marca.","Contar la historia. Fundadores, proceso, oficio 
2y cultura son el producto aquí; el sitio tiene que narrar, no solo listar.","Vender sin romper el personaje. E-commerce que convierte manteniendo intacto el filo de la marca.","Recibir el tráfico social. El descubrimiento en Instagram y TikTok debe aterrizar en páginas con la misma energía que cierren la venta.","Mantenerse rápido bajo peso visual. Las imágenes y el movimiento audaces solo funcionan si el rendimiento acompaña."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["El comprador de Wynwood premia la autenticidad y castiga la imitación al instante. Una marca que se ve corporativa aquí pierde al público; la misma marca tres kilómetros al sur, en Brickell, estaría mal vestida al revés. Como estamos en este barrio, calibramos esa línea todos los días: lo bastante audaz para pertenecer a estas calles, lo bastante afilado para convertir."]]},Ce,{heading:"Servicios en Wynwood",paragraphs:[[{text:"Diseño Web",href:"/es/sitio-web-empresarial"}," - ",{text:"Ecommerce",href:"/es/tienda-en-linea"}," - ",{text:"Identidad de Marca",href:"/es/identidad-de-la-marca"}," - ",{text:"Fotos y Videos con IA",href:"/es/creacion-de-fotos-y-videos-con-ia"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Downtown Miami",href:"/es/diseno-web-downtown-miami"}," y ",{text:"Miami Beach",href:"/es/diseno-web-miami-beach"},"."]]}],faqs:[...Me("Wynwood"),{question:"¿De verdad están en Wynwood?",answer:["Sí. Nuestro estudio está en el barrio, así que conocemos este mercado, sus marcas y sus compradores de primera mano."]},{question:"Queremos algo que no parezca plantilla. ¿Pueden lograrlo?",answer:["Sí. El diseño distintivo y con carácter es nuestro punto de partida, construido alrededor de la voz de tu marca."]},{question:"¿Pueden crear e-commerce para una marca DTC?",answer:["Sí. Construimos tiendas, incluyendo Shopify y Shopify Plus, diseñadas para convertir sin aplanar tu identidad."]},{question:"¿Podemos reunirnos en persona?",answer:["Con gusto. Estamos a minutos, y trabajamos cara a cara con las marcas del barrio siempre que ayude."]}]}},kl={slug:"doral",cityEn:"Doral",cityEs:"Doral",areaType:"City",areaSchemaName:"Doral, Miami, FL",imageId:"miami-location-doral",en:{seoTitle:"Web Design in Doral | Bilingual B2B Sites",seoDescription:"Web design for Doral corporate, logistics, trade, and healthcare businesses. Bilingual, professional, lead-focused sites for a global business hub.",h1:"Web Design in Doral",heroTagline:"Doral does business with the world in two languages. We build professional, bilingual websites that generate leads for its corporate and trade companies.",imageAlt:"Corporate offices and business district in Doral, Florida",imageLabel:"Doral Web Design",sections:[{heading:"The Doral Market",paragraphs:[["Doral is Miami's working engine: corporate headquarters, aviation and logistics operations feeding Miami International Airport, import-export and trade companies bridging the US and Latin America, healthcare groups, and one of the largest Venezuelan and broader Latin American business communities in the country. It is a B2B city where Spanish is often the first language of the deal and English the second, and where a company's website is checked by procurement departments, distributors, and partners on two continents."]]},{heading:"Who We Build For in Doral",paragraphs:[["Corporate and regional headquarters, logistics, freight and trade companies, aviation services, healthcare and medical groups, auto and equipment businesses, and the professional services that support them. The buyer is a business: procurement teams, partners, and distributors doing due diligence, often bilingual, comparing you against competitors in two markets at once."]]},{heading:"What a Doral Website Has to Do",paragraphs:[],list:["Lead with Spanish where the audience does. Many Doral companies sell primarily to Spanish-speaking clients; the site should reflect the real language of the business, fully bilingual either way.","Read as a serious B2B operation: capabilities, certifications, coverage, and logistics infrastru
2cture presented the way procurement expects.","Generate and route leads: quote requests, RFQs, and contact paths that reach the right department fast.","Support scale: multiple locations, divisions, or franchise structures without the site fragmenting.","Perform for international visitors, because partners load the site from Bogota and Caracas as often as from Miami."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["A Doral trade company that presents itself like a local storefront loses the procurement deal, and one that publishes English-only content ignores half its own market. We build for how Doral actually buys: bilingual, B2B, document-heavy, and relationship-driven, with the credibility signals international partners look for."]]},qe,{heading:"Services in Doral",paragraphs:[[{text:"Web Development",href:"/web-development"}," - ",{text:"SEO",href:"/search-engine-optimization"}," - ",{text:"Google Ads",href:"/google-ads-management"}," - ",{text:"Digital Marketing",href:"/digital-marketing"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Downtown Miami",href:"/downtown-miami-web-design"}," and ",{text:"Coral Gables",href:"/coral-gables-web-design"},"."]]}],faqs:[...Te("Doral"),{question:"Most of our clients speak Spanish. Can the site lead in Spanish?",answer:["Yes. We build Spanish-first when that is your audience, and fully bilingual in every case."]},{question:"Can you handle a multi-division or multi-location company?",answer:["Yes. We architect the site so divisions, locations, or franchises each get proper pages without diluting the brand."]},{question:"Can the site take quote or RFQ requests?",answer:["Yes. We build structured quote and RFQ forms that route to the right team, so inbound business does not sit in a generic inbox."]},{question:"Do you understand companies that sell to Latin America?",answer:["Yes. We are a bilingual Miami studio and build for cross-border credibility in both languages and both markets."]}]},es:{seoTitle:"Diseño Web en Doral | Sitios B2B Bilingües",seoDescription:"Diseño web para empresas corporativas, de logística, comercio y salud en Doral. Sitios bilingües, profesionales y enfocados en generar clientes potenciales.",h1:"Diseño Web en Doral",heroTagline:"Doral hace negocios con el mundo en dos idiomas. Creamos sitios profesionales y bilingües que generan clientes para sus empresas corporativas y de comercio.",imageAlt:"Oficinas corporativas y distrito empresarial en Doral, Florida",imageLabel:"Diseño Web Doral",sections:[{heading:"El Mercado de Doral",paragraphs:[["Doral es el motor de trabajo de Miami: sedes corporativas, operaciones de aviación y logística que alimentan el aeropuerto internacional, empresas de importación y exportación que conectan a Estados Unidos con América Latina, grupos de salud y una de las comunidades de negocios venezolana y latinoamericana más grandes del país. Es una ciudad B2B donde el español suele ser el primer idioma del negocio y el inglés el segundo, y donde el sitio web de una empresa lo revisan departamentos de compras, distribuidores y socios en dos continentes."]]},{heading:"Para Quién Creamos en Doral",paragraphs:[["Sedes corporativas y regionales, empresas de logística, carga y comercio, servicios de aviación, grupos médicos y de salud, negocios automotrices y de equipos, y los servicios profesionales que los apoyan. El comprador es una empresa: equipos de compras, socios y distribuidores haciendo su diligencia, muchas veces bilingüe, comparándote contra competidores en dos mercados a la vez."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Doral",paragraphs:[],list:["Liderar en español donde la audiencia lo hace. Muchas empresas de Doral venden principalmente a clientes hispanohablantes; el sitio debe reflejar el idioma real del negocio, siempre totalmente bilingüe.","Leerse como una operación B2B seria: capacidades, certificaciones, cobertura e infraestructura logística presentadas como compras espera verlas.","Generar y enrutar clientes potenciales: cotizaciones, RFQs y vías de contacto que lleguen rápido al departamento correcto.","Soportar la escala: múltiples ubicaciones, divisiones o franquicias sin que el sitio se fragmente.","Rendir para visitantes internacionales, porque los socios cargan el sitio desde Bogotá y Caracas tanto como desde Miami."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["Una empresa de comercio en Doral que se presenta como tienda de barrio pierde el contrato de compras, y una que publica solo en inglés ignora la mitad de su propio mercado. Construimos para la forma real en que Doral compra: bilingüe, B2B, con documentación seria y relaciones de largo plazo, con las señales de credibilidad que buscan los socios internacionales."]]},Ce,{heading:"Servicios en Doral",paragraphs:[[{text:"Desarrollo Web",href:"/es/desarrollo-web"}," - ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"}," - ",{text:"Google Ads",href:"/es/gestion-de-google-ads"}," - ",{text:"Marketing Digital",href:"/es/marketing-digital"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Downtown Miami",href:"/es/diseno-web-downtown-miami"}," y ",{text:"Coral Gables",href:"/es/diseno-web-coral-gables"},"."]]}],faqs:[...Me("Doral"),{question:"La mayoría de nuestros clientes hablan español. ¿El sitio puede priorizar el español?",answer:["Sí. Construimos con prioridad al español cuando esa es tu audiencia, y siempre totalmente bilingüe."]},{question:"¿Pueden manejar una empresa con varias divisiones o ubicaciones?",answer:["Sí. Estructuramos el sitio para que c
2ada división, ubicación o franquicia tenga sus páginas sin diluir la marca."]},{question:"¿El sitio puede recibir cotizaciones o RFQs?",answer:["Sí. Creamos formularios estructurados que llegan al equipo correcto, para que el negocio entrante no muera en una bandeja genérica."]},{question:"¿Entienden a las empresas que venden hacia América Latina?",answer:["Sí. Somos un estudio bilingüe de Miami y construimos credibilidad transfronteriza en ambos idiomas y ambos mercados."]}]}},xl={slug:"aventura",cityEn:"Aventura",cityEs:"Aventura",areaType:"City",areaSchemaName:"Aventura, Miami, FL",imageId:"miami-location-aventura",en:{seoTitle:"Web Design in Aventura | Premium & Converting",seoDescription:"Web design for Aventura retail, real estate, medical, and aesthetics businesses. Premium, mobile, appointment-driven sites for an affluent market.",h1:"Web Design in Aventura",heroTagline:"Aventura shoppers expect premium and act fast. We build polished, mobile websites that turn an affluent audience into booked appointments and sales.",imageAlt:"Aventura Mall and waterfront skyline in Florida",imageLabel:"Aventura Web Design",sections:[{heading:"The Aventura Market",paragraphs:[["Anchored by one of the largest malls in the country and ringed by high-rise waterfront living, Aventura concentrates an affluent, image-conscious, heavily international population, with strong South American, Northeast transplant, and seasonal communities. Commerce here is premium by default: luxury retail, real estate, medical, dental and aesthetics practices, and concierge-style services. The buyer is used to five-star treatment and evaluates a business's website the way they evaluate its storefront or waiting room."]]},{heading:"Who We Build For in Aventura",paragraphs:[["Luxury retailers and boutiques, real estate brokers and developers, medical, dental, dermatology and aesthetics practices, wellness and fitness studios, and professional services serving high-net-worth households. Their customer books appointments, expects immediate responsiveness, and quietly disqualifies any business whose digital presence feels beneath the price point."]]},{heading:"What an Aventura Website Has to Do",paragraphs:[],list:["Look and feel premium end to end, because this buyer pattern-matches quality in an instant and prices you accordingly.","Convert on mobile with zero friction, from a waiting room, a mall bench, or a beach chair.","Make booking the center of the experience: appointments, consultations, and follow-ups handled elegantly.","Support English and Spanish naturally for an international clientele.","Reinforce reputation: reviews, before-and-afters where appropriate, and credentials placed where a discerning buyer looks for them."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["In Aventura, underpricing your presentation costs more than overpricing your service. An aesthetics practice with a discount-clinic website attracts price shoppers instead of loyal patients; a broker whose site feels generic never gets the listing. We design for the affluent buyer's psychology: polish first, proof close behind, and an effortless path to booking."]]},qe,{heading:"Services in Aventura",paragraphs:[[{text:"Web Design",href:"/business-website"}," - ",{text:"Local SEO",href:"/local-seo"}," - ",{text:"CRO",href:"/conversion-rate-optimization"}," - ",{text:"Email Marketing",href:"/email-marketing"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Miami Beach",href:"/miami-beach-web-design"}," and ",{text:"Downtown Miami",href:"/downtown-miami-web-design"},"."]]}],faqs:[...Te("Aventura"),{question:"We rely on booked appointments. Can the site drive those?",answer:["Yes. We design around booking and consultation flows built to convert affluent, mobile-first visitors."]},{question:"Our patients and clients are image-conscious. Will the site match?",answer:["Yes. Premium visual design is the baseline here, aligned with the standard your price point implies."]},{question:"Can you serve our international clientele?",answer:["Yes. We build natively bilingual sites in English and Spanish, with the same finish in both."]},{question:"Can you integrate with our scheduling or practice softw
2are?",answer:["Usually yes. We integrate leading booking and practice systems; we confirm your specific stack during discovery."]}]},es:{seoTitle:"Diseño Web en Aventura | Premium y que Convierte",seoDescription:"Diseño web para retail, bienes raíces, medicina y estética en Aventura. Sitios premium, móviles y orientados a citas para un mercado de alto poder.",h1:"Diseño Web en Aventura",heroTagline:"Los clientes de Aventura esperan lo premium y actúan rápido. Creamos sitios pulidos y móviles que convierten a un público de alto poder en citas y ventas.",imageAlt:"Aventura Mall y panorama frente al agua en Florida",imageLabel:"Diseño Web Aventura",sections:[{heading:"El Mercado de Aventura",paragraphs:[["Anclada por uno de los centros comerciales más grandes del país y rodeada de torres frente al agua, Aventura concentra una población de alto poder adquisitivo, consciente de la imagen y fuertemente internacional, con comunidades sudamericanas, del noreste de Estados Unidos y de temporada. El comercio aquí es premium por defecto: retail de lujo, bienes raíces, prácticas médicas, dentales y de estética, y servicios estilo concierge. El comprador está acostumbrado al trato cinco estrellas y evalúa el sitio web de un negocio como evalúa su vitrina o su sala de espera."]]},{heading:"Para Quién Creamos en Aventura",paragraphs:[["Retailers y boutiques de lujo, brokers y desarrolladores inmobiliarios, prácticas médicas, dentales, de dermatología y estética, estudios de bienestar y fitness, y servicios profesionales para hogares de alto patrimonio. Su cliente agenda citas, espera respuesta inmediata y descarta en silencio a cualquier negocio cuya presencia digital se sienta por debajo del precio."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Aventura",paragraphs:[],list:["Verse y sentirse premium de principio a fin, porque este comprador detecta la calidad al instante y te pone precio según eso.","Convertir en móvil sin fricción, desde una sala de espera, una banca del mall o una silla de playa.","Poner la cita en el centro de la experiencia: agendas, consultas y seguimientos manejados con elegancia.","Soportar inglés y español con naturalidad para una clientela internacional.","Reforzar la reputación: reseñas, antes y después donde corresponda, y credenciales donde el comprador exigente las busca."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["En Aventura, quedarte corto en presentación cuesta más que pasarte en precio. Una práctica de estética con sitio de clínica de descuento atrae cazadores de ofertas en lugar de pacientes leales; un broker con sitio genérico nunca consigue el listing. Diseñamos para la psicología del comprador de alto poder: pulido primero, prueba muy cerca y un camino sin esfuerzo hacia la cita."]]},Ce,{heading:"Servicios en Aventura",paragraphs:[[{text:"Diseño Web",href:"/es/sitio-web-empresarial"}," - ",{text:"SEO Local",href:"/es/seo-local"}," - ",{text:"CRO",href:"/es/optimizacion-de-tasa-de-conversion"}," - ",{text:"Email Marketing",href:"/es/email-marketing"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Miami Beach",href:"/es/diseno-web-miami-beach"}," y ",{text:"Downtown Miami",href:"/es/diseno-web-downtown-miami"},"."]]}],faqs:[...Me("Aventura"),{question:"Dependemos de las citas agendadas. ¿El sitio puede impulsarlas?",answer:["Sí. Diseñamos en torno a flujos de reserva y consulta hechos para convertir visitantes móviles de alto poder."]},{question:"Nuestros pacientes y clientes cuidan mucho la imagen. ¿El sitio estará a la altura?",answer:["Sí. El diseño visual premium es el punto de partida aquí, alineado con el estándar que tu precio implica."]},{question:"¿Pueden atender a nuestra clientela internacional?",answer:["Sí. Creamos sitios nativamente bilingües en inglés y español, con el mismo acabado en ambos."]},{question:"¿Se integran con nuestro software de citas o de práctica?",answer:["Normalmente sí. Integramos los principales sistemas de reserva y práctica; confirmamos tu caso en el descubrimiento."]}]}},ql={slug:"coconut-grove",cityEn:"Coconut Grove",cityEs:"Coconut Grove",areaType:"Place",areaSchemaName:"Coconut Grove, Miami, FL",imageId:"miami-location-coconut-grove",en:{seoTitle:"Web Design in Coconut Grove | Local & Modern",seoDescription:"Web design for Coconut Grove boutiques, wellness, dining, and real estate. Warm, lifestyle-led sites with modern performance for a village market.",h1:"Web Design in Coconut Grove",heroTagline:"Coconut Grove trades on charm and community. We build warm, lifestyle-led websites that keep the village feel and still perform like modern software.",imageAlt:"Banyan tree-lined 
2street in Coconut Grove, Miami",imageLabel:"Coconut Grove Web Design",sections:[{heading:"The Coconut Grove Market",paragraphs:[["The Grove is Miami's original village: banyan-shaded streets, a sailing harbor, sidewalk cafes, and a fiercely loyal community that predates the skyline. It has quietly become one of the city's most desirable addresses, with tech firms and family offices moving into new low-rise offices while the neighborhood keeps its bohemian, outdoors, family character. Businesses here succeed by belonging: the Grove buyer supports places that feel like part of the neighborhood, and can tell instantly when something is corporate wearing a costume."]]},{heading:"Who We Build For in Coconut Grove",paragraphs:[["Boutiques and local retail, wellness, yoga and fitness studios, restaurants and cafes, real estate agents and developers, family and professional services, marine and sailing businesses, and the schools-and-families ecosystem around them. Their customer is affluent but understated, community-minded, and lifestyle-driven; they choose the local option when it feels genuinely local and still meets a modern standard."]]},{heading:"What a Coconut Grove Website Has to Do",paragraphs:[],list:["Feel warm and human. Photography, tone, and pacing should carry the Grove's outdoor, village character rather than corporate gloss.","Signal community roots: the story, the people, and the neighborhood presence matter as much as the service list.","Meet the modern bar anyway: fast, mobile, easy booking and reservations, because charm does not excuse friction.","Handle events and seasonality, from regattas to festivals, where the neighborhood's calendar drives business.","Serve English and Spanish comfortably."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["The Grove rewards businesses that read as neighbors and quietly passes on those that read as chains. A wellness studio styled like a franchise loses to the one that feels like it grew here; a realtor with a generic site never captures what makes a Grove address worth the premium. We design for that sensibility: warm and local on the surface, sharp and fast underneath."]]},qe,{heading:"Services in Coconut Grove",paragraphs:[[{text:"Web Design",href:"/business-website"}," - ",{text:"Local SEO",href:"/local-seo"}," - ",{text:"Photography",href:"/photography"}," - ",{text:"Website Maintenance",href:"/website-maintenance-and-support"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Coral Gables",href:"/coral-gables-web-design"}," and ",{text:"Brickell",href:"/brickell-web-design"},"."]]}],faqs:[...Te("Coconut Grove"),{question:"We want approachable, not corporate. Can you do that?",answer:["Yes. We design warm, community-first sites that still load fast, rank, and convert."]},{question:"Can the site handle classes, events, or reservations?",answer:["Yes. We integrate scheduling, class booking, and reservations so your calendar runs through the site."]},{question:"We are a small local business. Is professional web design worth it?",answer:["Yes, especially here. The Grove buyer chooses local when local also looks trustworthy; a strong site is how the neighborhood favorite wins against chains."]},{question:"Do you know the Grove?",answer:["Yes. We are a Miami studio minutes away, and we build for the Grove's specific mix of village character and affluent expectations."]}]},es:{seoTitle:"Diseño Web en Coconut Grove | Local y Moderno",seoDescription:"Diseño web para boutiques, bienestar, gastronomía y bienes raíces en Coconut Grove. Sitios cálidos y de estilo de vida con rendimiento moderno.",h1:"Diseño Web en Coconut Grove",heroTagline:"Coconut Grove vive del encanto y la comunidad. Creamos sitios cálidos y de estilo de vida que conservan el ambiente de barrio y rinden como software moderno.",imageAlt:"Calle sombreada por banianos en Coconut Grove, Miami",imageLabel:"Diseño Web Coconut Grove",sections:[{heading:"El Mercado de Coconut Grove",paragraphs:[["The Grove es el pueblo original de Miami: calles sombreadas por banianos, un puerto de veleros, cafés en la acera y una comunidad ferozmente leal que existía antes que los rascacielos. Silenciosamente se volvió una de las direcciones más deseadas de la ciudad, con empresas de tecnología y family offices llegando a oficinas bajas nuevas mientras el barrio conserva su carácter bohemio, familiar y al aire libre. Aquí los negocios triunfan por pertenecer: el comprador del Grove apoya los lugares que se sienten parte del barrio y detecta al instante cuando algo es corporativo disfrazado."]]},{heading:"Para Quién Creamos en Coconut Grove",paragraphs:[["Boutiques y retail local, estudios de bienestar, yoga y fitness, restaurantes y cafés, agentes y desarrolladores inmobiliarios, servicios familiares y profesionales, negocios náuticos y de vela, y el ecosistema de escuelas y familias a su alrededor. Su 
2cliente tiene recursos pero es discreto, comunitario y de estilo de vida; elige la opción local cuando se siente genuinamente local y aún así cumple un estándar moderno."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Coconut Grove",paragraphs:[],list:["Sentirse cálido y humano. La fotografía, el tono y el ritmo deben transmitir el carácter de pueblo y aire libre del Grove, no el brillo corporativo.","Mostrar raíces en la comunidad: la historia, la gente y la presencia en el barrio pesan tanto como la lista de servicios.","Cumplir igual el estándar moderno: rápido, móvil, con reservas y agenda fáciles, porque el encanto no disculpa la fricción.","Manejar eventos y temporadas, de regatas a festivales, donde el calendario del barrio mueve el negocio.","Atender inglés y español con comodidad."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["El Grove premia a los negocios que se leen como vecinos y descarta en silencio a los que se leen como cadenas. Un estudio de bienestar con estilo de franquicia pierde contra el que se siente nacido aquí; un agente inmobiliario con sitio genérico nunca captura lo que hace que una dirección del Grove valga el sobreprecio. Diseñamos para esa sensibilidad: cálido y local en la superficie, afilado y rápido por debajo."]]},Ce,{heading:"Servicios en Coconut Grove",paragraphs:[[{text:"Diseño Web",href:"/es/sitio-web-empresarial"}," - ",{text:"SEO Local",href:"/es/seo-local"}," - ",{text:"Fotografía",href:"/es/fotografia"}," - ",{text:"Mantenimiento Web",href:"/es/mantenimiento-y-soporte-web"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Coral Gables",href:"/es/diseno-web-coral-gables"}," y ",{text:"Brickell",href:"/es/diseno-web-brickell"},"."]]}],faqs:[...Me("Coconut Grove"),{question:"Queremos algo cercano, no corporativo. ¿Pueden lograrlo?",answer:["Sí. Diseñamos sitios cálidos y centrados en la comunidad que igual cargan rápido, posicionan y convierten."]},{question:"¿El sitio puede manejar clases, eventos o reservas?",answer:["Sí. Integramos agenda, reserva de clases y reservaciones para que tu calendario corra por el sitio."]},{question:"Somos un negocio local pequeño. ¿Vale la pena el diseño web profesional?",answer:["Sí, especialmente aquí. El comprador del Grove elige lo local cuando lo local también inspira confianza; un buen sitio es como el favorito del barrio le gana a las cadenas."]},{question:"¿Conocen el Grove?",answer:["Sí. Somos un estudio de Miami a minutos, y construimos para la mezcla particular del Grove: carácter de pueblo con expectativas de alto nivel."]}]}},Al={slug:"downtown-miami",cityEn:"Downtown Miami",cityEs:"Downtown Miami",areaType:"Place",areaSchemaName:"Downtown Miami, Miami, FL",imageId:"miami-location-downtown-miami",en:{seoTitle:"Web Design in Downtown Miami | Professional B2B",seoDescription:"Web design for Downtown Miami corporate, legal, and startup businesses. Professional, reliable, bilingual sites built to scale and generate leads.",h1:"Web Design in Downtown Miami",heroTagline:"Downtown Miami is where the city does serious business. We build professional, reliable, bilingual websites that scale with corporate and startup teams.",imageAlt:"Downtown Miami skyline and Biscayne Bay",imageLabel:"Downtown Miami Web Design",sections:[{heading:"The Downtown Miami Market",paragraphs:[["Downtown is the civic and commercial spine of the city: courts and government offices, banks and corporate towers, the arena and cultural district, a wave of residential conversions, and a fast-growing tech and startup scene spilling over from Brickell. It is denser, more transactional, and more mixed than any other area we serve: a law office, a fintech team, a condo developer, and a cultural venue can share one block. What they share is a professional, urban buyer who expects competence by default and moves quickly between options."]]},{heading:"Who We Build For in Downtown Miami",paragraphs:[["Corporate and financial firms, legal practices working around the courts, government-adjacent consultancies, condo and mixed-use developers, tech startups scaling headcount, and the cultural and entertainment venues that anchor the district. The buyer is professional and often institutional: committees, boards, and procurement processes are common, and decisions weigh reliability heavily."]]},{heading:"What a Downtown Miami Website Has to Do",paragraphs:[],list:["Read as institutional-grade: professional design, clear structure, and no rough edges, because committees disqualify on small signals.","Generate leads systematically: clear service pages, strong calls to action, and forms that route inquiries to the right people.","Scale without re-platforming: new practice areas, projects, or locations should slot in cleanly as the organization grows.","Stay reliable under load and over time; downtime and decay are unacceptable in this buyer's world.","Operate bilingually for an international, cross-border business population."]},{heading:"Why the Right Audience Matters Here",paragraphs:[["Downtown rewards clarity and punishes noise. A developer pre-selling a tower needs institutional confidence, not flash; a startup courting enterprise clients needs to look bigger than it is without pretending. Reading which register each Downtown buyer expects, and building to it, is exactly the local judgment we bring."]]},qe,{heading:"Services in Downtown Miami",paragraphs:[[{text:"Web Development",href:"/web-development"}," - ",{text:"SEO",href:"/search-engine-optimization"}," - ",{text:"Digital Marketing",href:"/digital-marketing"}," - ",{text:"Website Redesign",href:"/website-redesign"}]]},Ae,{heading:"Also Serving",paragraphs:[["We also work with businesses in ",{text:"Brickell",href:"/brickell-web-design"}," and ",{text:"Wynwood",href:"/wynwood-web-design"},"."]]}],faqs:[...Te("Downtown Miami"),{question:"We are scaling fast. Will the site keep up?",answer:["Yes. We build on a modern stack that scales cleanly, so new pages, projects, and team
2s slot in without a rebuild."]},{question:"Our buyers are committees, not individuals. Does that change the site?",answer:["Yes, and we design for it: clear structure, downloadable credibility, and content that survives being forwarded to five stakeholders."]},{question:"Can you serve both our English and Spanish-speaking clients?",answer:["Yes. We deliver natively bilingual sites with equal polish in both languages."]},{question:"Can you handle a development or pre-construction project site?",answer:["Yes. We build project and pre-sale sites with the institutional finish buyers and lenders expect."]}]},es:{seoTitle:"Diseño Web en Downtown Miami | B2B Profesional",seoDescription:"Diseño web para empresas corporativas, legales y startups en Downtown Miami. Sitios profesionales, confiables y bilingües para escalar y captar clientes.",h1:"Diseño Web en Downtown Miami",heroTagline:"Downtown Miami es donde la ciudad hace negocios en serio. Creamos sitios profesionales, confiables y bilingües que escalan con equipos corporativos y startups.",imageAlt:"Panorama de Downtown Miami y la Bahía de Biscayne",imageLabel:"Diseño Web Downtown Miami",sections:[{heading:"El Mercado de Downtown Miami",paragraphs:[["El Downtown es la columna cívica y comercial de la ciudad: cortes y oficinas de gobierno, bancos y torres corporativas, la arena y el distrito cultural, una ola de conversiones residenciales y una escena de tecnología y startups que se desborda desde Brickell. Es más denso, más transaccional y más mixto que cualquier otra zona que atendemos: una oficina legal, un equipo de fintech, un desarrollador de condominios y un espacio cultural pueden compartir una cuadra. Lo que comparten es un comprador profesional y urbano que da la competencia por sentada y se mueve rápido entre opciones."]]},{heading:"Para Quién Creamos en Downtown Miami",paragraphs:[["Firmas corporativas y financieras, prácticas legales alrededor de las cortes, consultorías cercanas al gobierno, desarrolladores de condominios y usos mixtos, startups de tecnología en crecimiento, y los espacios culturales y de entretenimiento que anclan el distrito. El comprador es profesional y muchas veces institucional: comités, juntas y procesos de compras son comunes, y las decisiones pesan mucho la confiabilidad."]]},{heading:"Qué Tiene que Lograr un Sitio Web en Downtown Miami",paragraphs:[],list:["Leerse de nivel institucional: diseño profesional, estructura clara y cero bordes ásperos, porque los comités descartan por señales pequeñas.","Generar clientes de forma sistemática: páginas de servicio claras, llamados a la acción fuertes y formularios que enrutan al equipo correcto.","Escalar sin cambiar de plataforma: nuevas áreas, proyectos o ubicaciones deben integrarse limpiamente a medida que crece la organización.","Mantenerse confiable bajo carga y en el tiempo; la caída y el deterioro son inaceptables en el mundo de este comprador.","Operar en dos idiomas para una población de negocios internacional."]},{heading:"Por Qué Importa la Audiencia Correcta Aquí",paragraphs:[["El Downtown premia la claridad y castiga el ruido. Un desarrollador prevendiendo una torre necesita confianza institucional, no destellos; una startup cortejando clientes enterprise necesita verse más grande de lo que es sin fingir. Leer qué registro espera cada comprador del Downtown, y construir para eso, es exactamente el criterio local que aportamos."]]},Ce,{heading:"Servicios en Downtown Miami",paragraphs:[[{text:"Desarrollo Web",href:"/es/desarrollo-web"}," - ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"}," - ",{text:"Marketing Digital",href:"/es/marketing-digital"}," - ",{text:"Rediseño Web",href:"/es/rediseno-de-sitio-web"}]]},Ee,{heading:"También Servimos",paragraphs:[["También trabajamos con negocios en ",{text:"Brickell",href:"/es/diseno-web-brickell"}," y ",{text:"Wynwood",href:"/es/diseno-web-wynwood"},"."]]}],faqs:[...Me("Downtown Miami"),{question:"Estamos escalando rápido. ¿El sitio seguirá el ritmo?",answer:["Sí. Construimos sobre una plataforma moderna que escala limpiamente: páginas, proyectos y equipos nuevos entran sin reconstrucción."]},{question:"Nuestros compradores son comités, no individuos. ¿Eso cambia el sitio?",answer:["Sí, y diseñamos para ello: estructura clara, credibilidad descargable y contenido que sobrevive a ser reenviado a cinco interesados."]},{question:"¿Pueden atender a nuestros clientes en inglés y en español?",answer:["Sí. Entregamos sitios nativamente bilingües con el mismo pulido en ambos idiomas."]},{question:"¿Pueden hacer el sitio de un proyecto inmobiliario o de preconstrucción?",answer:["Sí. Creamos sitios de proyecto y preventa con el acabado institucional que esperan compradores y financistas."]}]}},Zt=[bl,vl,wl,Sl,kl,xl,ql,Al];function ed(e){return Zt.find(t=>t.slug===e)}const Cl={slug:"local-seo",title:"Local SEO",category:"Growth & Marketing",shortDe
2scription:"Local SEO that earns you a spot in the Miami map pack.",heroTagline:"Own the three results that drive local calls.",painPoints:[],deliverables:[],outcomes:["a stronger Google Business Profile","more calls from the map pack","consistent local citations"],faqs:[{question:"How do I get more Google reviews without breaking the rules?",answer:"By making the ask a natural step of great service: right moment, direct link, personal request. We build that system with you. Buying or incentivizing reviews violates Google's policies and risks profile suspension, and we won't do it."},{question:"How long until I show in the map pack?",answer:"Depends on your category's competition and your profile's history. Uncompetitive categories can move in weeks; dense ones take months. We'll tell you which you're in during the audit."}],relatedProjectSlugs:[],seoTitle:"Local SEO in Miami | Rank in the Map Pack",seoDescription:'Miami local SEO that gets you into the Google map pack and "near me" results. Google Business Profile optimization, local citations and reviews that convert.',h1:"Local SEO Agency Miami",breadcrumb:[{label:"Home",href:"/"},{label:"Services",href:"/services"},{label:"Local SEO",href:"/local-seo"}],schema:{name:"Local SEO Services",serviceType:"Local search engine optimization",areaServed:["Miami","Miami-Dade County"],description:"Local SEO services in Miami that put you in the map pack. Google Business Profile optimization, reviews strategy, local content. Proof included."},image:{id:"local-seo-map-pack",alt:"Local map pack results with five-star ratings shown on a phone in Miami",prompt:"User-supplied photo: person at a wooden desk reviewing a local SEO dashboard on a laptop while holding a phone showing a business profile with reviews, soft natural light, editorial styling."},bodySections:[{paragraphs:[["When someone in Miami-Dade County needs what you sell, the search usually ends in the map pack: the three businesses Google shows with stars, photos, and a call button. Local SEO is the work of earning one of those three spots. It's also the service we can prove better than any other: our own agency lives in that map pack, and the five-star reviews attached to it are where most of our leads come from. We'll build you the same engine."]]},{heading:"What local SEO includes",paragraphs:[["Google Business Profile optimization: categories, services, photos, posts, and the details most profiles get wrong. Reviews strategy: an honest, repeatable system for earning reviews from real customers (never purchased, never faked; that's a fast way to lose a profile). Local citations: consistent name, address, and phone across the directories Google checks. Locally-targeted pages: service and area pages on your site that support the profile, like the ones you're reading now. Tracking: map-pack positions, calls, and direction requests, reported monthly in plain numbers."]]},{heading:"Why the map pack matters more than rankings here",paragraphs:[["Organic listings earn research clicks; the map pack earns phone calls. For service businesses in Miami (contractors, med spas, law firms, home services), the map pack routinely drives more revenue than every blue link combined. That's why our local SEO plans lead with your profile and reviews before anything else."]]},{heading:"Our worked example: this agency",paragraphs:[["We don't show you a stranger's case study for this service; we show you ours. Search our category in Miami, find our profile, read the reviews, and note the position. Everything you see there, from the review volume to the supporting pages, is the playbook we run for clients."]]},{paragraphs:[["See also ",{text:"our SEO services",href:"/search-engine-optimization"}," and ",{text:"Google Ads management",href:"/google-ads-management"},". Get an ",{text:"instant estimate",href:"/estimate"}," or view our ",{text:"pricing page",href:"/pricing"},"."]]}],richFaqs:[{question:"How do I get more Google reviews without breaking the rules?",answer:["By making the ask a natural step of great service: right moment, direct link, personal request. We build that system with you. Buying or incentivizing reviews violates Google's policies and risks profile suspension, and we won't do it."]},{question:"How long until I show in the map pack?",answer:["Depends on your category's competition and your profile's history. Uncompetitive categories can move in weeks; dense ones take months. We'll tell you which you're in during the audit."]},{question:"I serve customers at their location. Does local SEO still work?",answer:["Yes. Service-area businesses have their own profile setup rules, and we configure them correctly so you rank where your customers are, not just where your office is."]},{question:"Do I need a new website for local SEO?",answer:["Not always. A solid profile with a mediocre site beats the reverse. But local landing pages on a fast site amplify everything; we'll show you the gap in the audit."]}],es:{slug:"seo-local",title:"SEO Local",seoTitle:"SEO Local en Miami | Aparece en el Mapa",seoDescription:'SEO local en Miami para aparecer en el paquete de mapas y en búsquedas "cerca de mí". Optimización de Google Business Profile, citas locales y reseñas.',h1:"Agencia de SEO Local en Miami",heroTagline:"Domine los tres resultados que generan llamadas locales.",breadcrumb:[{label:"Inicio",href:"/es"},{label:"Servicios",href:"/es/servicios"},{label:"SEO Local",href:"/es/seo-local"}],outcomes:["un Perfil de Empresa de Google más sólido","más llamadas desde el paquete de mapas","citas locales consistentes"],imageAlt:"Resultados del paquete de mapas con calificaciones de cinco estrellas mostrados en un teléfono en Miami",schema:{name:"Servicios de SEO Local",serviceType:"Local search engine optimization",areaServed:["Miami","Miami-Dade County"],description:"Servicios de SEO local en Miami que lo colocan en el paquete de mapas. Optimización del Perfil de Empresa de Google, estrategia de reseñas, contenido local. Con pruebas incluidas."},bodySections:[{paragraphs:[["Cuando alguien en el condado de Miami-Dade necesita lo que usted vende, la búsqueda suele terminar en el paquete de mapas: los tres negocios que Google muestra con estrellas, fotos y un botón para llamar. El SEO local es el trabajo de ganar uno de esos tres lugares. También es el servicio que podemos demostrar mejor que ningún otro: nuestra propia agencia vive en ese paquete de mapas, y las reseñas de cinco estrellas asociadas a él son de donde proviene la mayoría de nuestros clientes potenciales. Le construiremos el mismo motor."]]},{heading:"Qué incluye el SEO local",paragraphs:[["Optimización del Perfil de Empresa de Google: categorías, servicios, fotos, publicaciones y los detalles que la mayoría de los perfiles hacen mal. Estrategia de reseñas: un sistema honesto y repetible para ganar reseñas de clientes reales (nunca compradas, nunca falsas; esa es una forma rápida de perder un perfil). Citas locales: nombre, dirección y teléfono consistentes en los directorios que Google revisa. Páginas orientadas a lo local: páginas de servicio y de área en su sitio que respaldan el perfil, como las que está leyendo ahora. Seguimiento: posiciones en el paquete de mapas, llamadas y solicitudes de indicaciones, reportadas cada mes en cifras claras."]]},{heading:"Por qué el paquete de mapas importa más que el posicionamiento aquí",paragraphs:[["Los listados orgánicos ganan clics de investigación; el paquete de mapas gana llamadas telefónicas. Para los negocios de servicios en Miami (contratistas, med spas, bufetes de abogados, servicios para el hogar), el paquete de mapas genera de forma rutinaria más 
2ingresos que todos los enlaces azules combinados. Por eso nuestros planes de SEO local comienzan con su perfil y sus reseñas antes que cualquier otra cosa."]]},{heading:"Nuestro ejemplo trabajado: esta agencia",paragraphs:[["No le mostramos el caso de estudio de un desconocido para este servicio; le mostramos el nuestro. Busque nuestra categoría en Miami, encuentre nuestro perfil, lea las reseñas y observe la posición. Todo lo que ve allí, desde el volumen de reseñas hasta las páginas de apoyo, es el manual que aplicamos para los clientes."]]},{paragraphs:[["Vea también ",{text:"nuestros servicios de SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"}," y la ",{text:"gestión de Google Ads",href:"/es/gestion-de-google-ads"},". Obtenga un ",{text:"estimado instantáneo",href:"/es/estimado"}," o consulte nuestra ",{text:"página de precios",href:"/es/precios"},"."]]}],faqs:[{question:"¿Cómo consigo más reseñas de Google sin romper las reglas?",answer:["Haciendo que la solicitud sea un paso natural de un excelente servicio: el momento correcto, un enlace directo, una petición personal. Construimos ese sistema con usted. Comprar o incentivar reseñas viola las políticas de Google y arriesga la suspensión del perfil, y no lo haremos."]},{question:"¿Cuánto tardaré en aparecer en el paquete de mapas?",answer:["Depende de la competencia de su categoría y del historial de su perfil. Las categorías poco competidas pueden moverse en semanas; las densas tardan meses. Le diremos en cuál está durante la auditoría."]},{question:"Atiendo a los clientes en su ubicación. ¿El SEO local todavía funciona?",answer:["Sí. Los negocios de área de servicio tienen sus propias reglas de configuración de perfil, y las configuramos correctamente para que usted posicione donde están sus clientes, no solo donde está su oficina."]},{question:"¿Necesito un nuevo sitio web para el SEO local?",answer:["No siempre. Un perfil sólido con un sitio mediocre le gana a lo contrario. Pero las páginas de aterrizaje locales en un sitio rápido amplifican todo; le mostraremos la diferencia en la auditoría."]}]}},El={slug:"digital-marketing",title:"Digital Marketing",category:"Growth & Marketing",shortDescription:"A Miami digital marketing agency that builds the site, runs the ads, and does the SEO under one roof.",heroTagline:"Site, ads, and SEO under one accountable roof.",painPoints:[],deliverables:[],outcomes:["one accountable team","channels that work together","clear reporting on leads"],faqs:[{question:"What does a digital marketing agency actually do month to month?",answer:'Run and optimize your campaigns, produce the content and creative they need, watch the data daily, and report the results monthly in plain language. You should always be able to answer "what did we get for it?"'},{question:"Which channel should a local business start with?",answer:"Usually local SEO plus Google Ads: one builds a durable asset, the other produces leads while it grows. Social ads join once the funnel converts."}],relatedProjectSlugs:[],seoTitle:"Digital Marketing Agency in Miami | Grow Fast",seoDescription:"Full-service Miami digital marketing agency: SEO, Google & Meta ads, email and content under one strategy. Senior-led, measurable growth. Get a free plan.",h1:"Digital Marketing Agency Miami",breadcrumb:[{label:"Home",href:"/"},{label:"Services",href:"/services"},{label:"Digital Marketing",href:"/digital-marketing"}],schema:{name:"Digital Marketing",serviceType:"Digital marketing",areaServed:["Miami","Miami-Dade County"],description:"A Miami digital marketing agency that builds the site, runs the ads, and does the SEO under one roof. Public pricing."},image:{id:"digital-marketing-warroom",alt:"Marketer working on a laptop with campaign analytics and marketing dashboards",prompt:"User-supplied photo: over-the-shoulder shot of a marketer typing on a laptop showing a digital marketing workboard with campaign analytics, audience insights and keyword rankings."},bodySections:[{paragraphs:[["Most businesses end up with a marketing Frankenstein: a website from one vendor, ads from another, SEO from a third, and nobody accountable for the number that matters: leads. We're a digital marketing agency in Miami that owns the whole chain. The same team that designs y
2our site runs your campaigns, so when something underperforms, we fix it instead of pointing at another vendor."]]},{heading:"Everything under one roof",paragraphs:[["Search: ",{text:"SEO",href:"/search-engine-optimization"}," and ",{text:"local SEO",href:"/local-seo"}," for durable, unpaid visibility. Paid media: ",{text:"Google Ads",href:"/google-ads-management"}," for buyers searching now, ",{text:"Meta ads",href:"/meta-ads-management"}," for demand you create. Email & SMS: automated flows that turn your existing list into repeat revenue (",{text:"email marketing",href:"/email-marketing"},"). The platform itself: a ",{text:"website",href:"/business-website"}," engineered to convert the traffic everything above produces. You can hire any piece alone; they simply work better wired together."]]},{heading:"Built for Miami-Dade businesses",paragraphs:[["Local service businesses, professional practices, and growing brands make up most of our client list. The strategies are sized accordingly: budgets that make sense for a county-level market, channels chosen by where your customers actually are, and reporting that talks about calls and booked jobs, not vanity impressions."]]},{heading:"Need enterprise or ecommerce scale?",paragraphs:[["Larger programs are handled in-house by our own senior team, the same people who run your county-level campaigns. Ecommerce accounts, multi-channel budgets, and more complex reporting are all scoped and managed here, with no handoff to a junior bench. If your scope is bigger than a county, ",{text:"get in touch",href:"/proposal"}," and we'll map a plan to it."]]},{heading:"What it costs",paragraphs:[["Marketing retainers are listed openly on our ",{text:"pricing page",href:"/pricing"},": management fees, recommended ad spend, and typical total investment, so there's no mystery invoice. The ",{text:"instant estimate",href:"/estimate"}," can scope a combined plan in about two minutes."]]}],richFaqs:[{question:"What does a digital marketing agency actually do month to month?",answer:['Run and optimize your campaigns, produce the content and creative they need, watch the data daily, and report the results monthly in plain language. You should always be able to answer "what did we get for it?"']},{question:"Which channel should a local business start with?",answer:["Usually local SEO plus Google Ads: one builds a durable asset, the other produces leads while it grows. Social ads join once the funnel converts."]},{question:"Do you require long contracts?",answer:["Plans are monthly retainers; we earn the renewal. Specific terms are on the pricing page."]},{question:"Can you work with our in-house person?",answer:["Yes. Several clients pair an internal coordinator with our team. We handle strategy and execution; they keep the company context flowing."]}],es:{slug:"marketing-digital",title:"Marketing Digital",seoTitle:"Agencia de Marketing Digital en Miami | Crece Rápido",seoDescription:"Agencia de marketing digital en Miami: SEO, Google y Meta Ads, email y contenido bajo una sola estrategia. Crecimiento medible. Pide tu plan gratis.",h1:"Agencia de Marketing Digital en Miami",heroTagline:"Sitio, anuncios y SEO bajo un mismo techo responsable.",breadcrumb:[{label:"Inicio",href:"/es"},{label:"Servicios",href:"/es/servicios"},{label:"Marketing Digital",href:"/es/marketing-digital"}],outcomes:["un solo equipo responsable","canales que trabajan juntos","reportes claros sobre los clientes potenciales"],imageAlt:"Paneles de campañas de marketing digital para un negocio de Miami",schema:{name:"Marketing Digital",serviceType:"Digital marketing",areaServed:["Miami","Miami-Dade County"],description:"Una agencia de marketing digital en Miami que crea el sitio, gestiona los anuncios y hace el SEO bajo un mismo techo. Precios públicos."},bodySections:[{paragraphs:[["La mayoría de los negocios terminan con un Frankenstein de marketing: un sitio web de un proveedor, los anuncios de otro, el SEO de un tercero y nadie responsable del número que importa: los clientes potenciales. Somos una agencia de marketing digital en Miami que es dueña de toda la cadena. El mismo equipo que diseña su sitio gestiona sus campañas, así que cuando algo rinde por debajo de lo esperado, lo corregimos en lugar de señalar a otro proveedor."]]},{heading:"Todo bajo un mismo techo",paragraphs:[["Búsqueda: ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"}," y ",{text:"SEO local",href:"/es/seo-local"}," para una visibilidad duradera y sin pagar. Medios pagados: ",{text:"Google Ads",href:"/es/gestion-de-google-ads"}," para compradores que buscan ahora, ",{text:"anuncios de Meta",href:"/es/gestion-de-meta-ads"}," para la demanda que usted crea. Email y SMS: flujos automatizados que convierten su lista existente en ingresos recurrentes (",{text:"marketing por email",href:"/es/email-marketing"},"). La plataforma en sí: un ",{text:"sitio web",href:"/es/sitio-web-empresarial"}
2," diseñado para convertir el tráfico que todo lo anterior produce. Puede contratar cualquier pieza por separado; simplemente funcionan mejor conectadas entre sí."]]},{heading:"Hecho para negocios del condado de Miami-Dade",paragraphs:[["Los negocios de servicios locales, las prácticas profesionales y las marcas en crecimiento conforman la mayor parte de nuestra lista de clientes. Las estrategias se dimensionan en consecuencia: presupuestos que tienen sentido para un mercado a nivel de condado, canales elegidos según dónde están realmente sus clientes y reportes que hablan de llamadas y trabajos agendados, no de impresiones vanidosas."]]},{heading:"¿Necesita escala empresarial o de ecommerce?",paragraphs:[["Los programas más grandes los maneja internamente nuestro propio equipo senior, las mismas personas que ejecutan sus campañas a nivel de condado. Las cuentas de ecommerce, los presupuestos multicanal y los reportes más complejos se planifican y gestionan aquí, sin transferencias a un equipo junior. Si su alcance es mayor que un condado, ",{text:"contáctenos",href:"/es/propuesta"}," y trazaremos un plan a su medida."]]},{heading:"Cuánto cuesta",paragraphs:[["Los retainers de marketing están listados abiertamente en nuestra ",{text:"página de precios",href:"/es/precios"},": tarifas de gestión, inversión publicitaria recomendada e inversión total típica, para que no haya facturas misteriosas. El ",{text:"estimado instantáneo",href:"/es/estimado"}," puede definir un plan combinado en aproximadamente dos minutos."]]}],faqs:[{question:"¿Qué hace realmente una agencia de marketing digital mes a mes?",answer:["Ejecuta y optimiza sus campañas, produce el contenido y la creatividad que necesitan, vigila los datos a diario y reporta los resultados cada mes en lenguaje claro. Usted siempre debería poder responder «¿qué obtuvimos a cambio?»."]},{question:"¿Con qué canal debería empezar un negocio local?",answer:["Por lo general, SEO local más Google Ads: uno construye un activo duradero, el otro produce clientes potenciales mientras crece. Los anuncios sociales se suman una vez que el embudo convierte."]},{question:"¿Exigen contratos largos?",answer:["Los planes son retainers mensuales; nos ganamos la renovación. Los términos específicos están en la página de precios."]},{question:"¿Pueden trabajar con nuestra persona interna?",answer:["Sí. Varios clientes combinan un coordinador interno con nuestro equipo. Nosotros manejamos la estrategia y la ejecución; ellos mantienen el contexto de la empresa fluyendo."]}]}},Tl={slug:"web-hosting",title:"Web Hosting",category:"Digital Platform",shortDescription:"Miami web hosting from the team that builds your site. Fast, monitored, maintained: design and hosting under one roof so nothing falls between them.",heroTagline:"Design and hosting under one roof, with one phone number.",painPoints:[],deliverables:[],outcomes:["faster, monitored hosting","one team for design and hosting","backups and updates handled for you"],faqs:[{question:"How much does hosting cost?",answer:"Hosting is bundled with our maintenance plans starting at $500/month including development hours, or scoped standalone for larger sites; the instant estimate will give you a number for yours."},{question:"Will you host a site you didn't build?",answer:"Yes, after a quick technical review so we know what we're taking responsibility for."}],relatedProjectSlugs:[],seoTitle:"Web Hosting in Miami | Fast, Secure, Managed",seoDescription:"Managed web hosting in Miami built for speed, uptime and security. SSL, backups, monitoring and a real team behind your site. Hosting that just works.",h1:"Managed Web Hosting Miami",breadcrumb:[{label:"Home",href:"/"},{label:"Services",href:"/services"},{label:"Web Hosting",href:"/web-hosting"}],schema:{name:"Web Hosting",serviceType:"Web hosting",areaServed:["Miami","Miami-Dade County"],description:"Miami web hosting from the team that builds your site. Fast, monitored, maintained: design and hosting under one roof so nothing falls between them."}
2,image:{id:"web-hosting-infrastructure",alt:"Managed web hosting infrastructure for Miami business websites",prompt:"Close-up of a tidy desk setup with a closed laptop, a small network router with soft unlabeled indicator lights, and neatly coiled cables on warm wood, morning window light and a potted plant blurred behind, calm dependable atmosphere, no people."},bodySections:[{paragraphs:[["The most common website emergency we see isn't a hack or a crash. It's a business discovering that their designer, their host, and their domain registrar are three different companies, none of whom will take responsibility. Our Miami web hosting exists to end that. We design the site, we host the site, we maintain the site; when something needs fixing, there is exactly one phone number, and it's ours."]]},{heading:"What's included",paragraphs:[["Managed hosting on fast, modern infrastructure sized to your traffic. Uptime and security monitoring with same-day response. SSL, backups, and updates handled without you asking. Performance tuning: because hosting speed is a ranking factor and a conversion factor, and we treat it as both. Direct support from the people who built your site, not a ticket queue overseas."]]},{heading:"Design and hosting together",paragraphs:[[`Search for "website design and hosting companies" and you'll find plenty offering one or the other. The value is in the combination: when the same team owns both layers, "the site is slow" becomes a fix, not a finger-pointing exercise between vendors. It's also why our maintenance clients renew: the site keeps working, quietly, and that's the whole point. Pair hosting with a `,{text:"website maintenance plan",href:"/website-maintenance-and-support"}," for updates and small improvements on a schedule."]]},{heading:"Moving an existing site to us",paragraphs:[["We migrate sites from shared hosts, page builders, and WordPress installs weekly, including our own. We moved this very website off WordPress onto a custom stack, so we know precisely where migrations break and how to move without losing rankings. Your migration includes a redirect map, DNS handling, and post-move checks; downtime is minutes, not days."]]},{paragraphs:[["See also our ",{text:"web design",href:"/business-website"}," services."]]}],richFaqs:[{question:"How much does hosting cost?",answer:["Hosting is bundled with our ",{text:"maintenance plans",href:"/pricing"}," starting at $500/month including development hours, or scoped standalone for larger sites; the ",{text:"instant estimate",href:"/estimate"}," will give you a number for yours."]},{question:"Will you host a site you didn't build?",answer:["Yes, after a quick technical review so we know what we're taking responsibility for."]},{question:"Where are your servers?",answer:["On major cloud infrastructure with US regions and a CDN in front, so your visitors get served from the edge closest to them, which for local customers means fast."]},{question:"What happens if my site goes down at 2 a.m.?",answer:["Monitoring alerts us before most owners notice, and recovery starts immediately. You'll hear from us with what happened and what we did, not the other way around."]}],es:{slug:"alojamiento-web",title:"Alojamiento Web",seoTitle:"Alojamiento Web en Miami | Rápido y Seguro",seoDescription:"Alojamiento web administrado en Miami con velocidad, uptime y seguridad. Incluye SSL, CDN, respaldos, monitoreo y un equipo real detrás de tu sitio.",h1:"Alojamiento Web Administrado en Miami",heroTagline:"Diseño y hosting bajo un mismo techo, con un solo número de teléfono.",breadcrumb:[{label:"Inicio",href:"/es"},{label:"Servicios",href:"/es/servicios"},{label:"Alojamiento Web",href:"/es/alojamiento-web"}],outcomes:["hosting más rápido y monitoreado","un solo equipo para diseño y hosting","copias de seguridad y actualizaciones gestionadas por nosotros"],imageAlt:"Infraestructura de alojamiento web administrado para sitios de negocios de Miami",schema:{name:"Alojamiento Web",serviceType:"Web hosting",areaServed:["Miami","Miami-Dade County"],description:"Alojamiento web en Miami del equipo que construye su sitio. Rápido, monitoreado, mantenido: diseño y hosting bajo un mismo techo para que nada quede a la deriva."},bodySections:[{paragraphs:[["La emergencia de sitio web más común que vemos no es un hackeo ni una caída. Es un negocio que descubre que su diseñador, su proveedor de hosting y su registrador de dominio s
2on tres empresas distintas, y ninguna asume la responsabilidad. Nuestro alojamiento web en Miami existe para poner fin a eso. Nosotros diseñamos el sitio, nosotros alojamos el sitio, nosotros mantenemos el sitio; cuando algo necesita arreglarse, hay exactamente un número de teléfono, y es el nuestro."]]},{heading:"Qué está incluido",paragraphs:[["Alojamiento administrado en infraestructura rápida y moderna dimensionada según su tráfico. Monitoreo de tiempo de actividad y seguridad con respuesta el mismo día. SSL, copias de seguridad y actualizaciones gestionadas sin que usted lo pida. Ajuste de rendimiento: porque la velocidad del hosting es un factor de posicionamiento y un factor de conversión, y lo tratamos como ambos. Soporte directo de las personas que construyeron su sitio, no de una cola de tickets en el extranjero."]]},{heading:"Diseño y hosting juntos",paragraphs:[['Busque "website design and hosting companies" y encontrará muchos que ofrecen lo uno o lo otro. El valor está en la combinación: cuando el mismo equipo es dueño de ambas capas, "el sitio está lento" se convierte en una solución, no en un juego de señalar culpables entre proveedores. También es la razón por la que nuestros clientes de mantenimiento renuevan: el sitio sigue funcionando, en silencio, y ese es todo el punto. Combine el hosting con un ',{text:"plan de mantenimiento web",href:"/es/mantenimiento-y-soporte-web"}," para actualizaciones y pequeñas mejoras de forma programada."]]},{heading:"Migrar un sitio existente hacia nosotros",paragraphs:[["Migramos sitios desde hostings compartidos, constructores de páginas e instalaciones de WordPress cada semana, incluido el nuestro. Movimos este mismo sitio web de WordPress a un stack a medida, así que sabemos con precisión dónde se rompen las migraciones y cómo mover sin perder posicionamiento. Su migración incluye un mapa de redirecciones, manejo de DNS y verificaciones posteriores al traslado; el tiempo de inactividad es de minutos, no de días."]]},{paragraphs:[["Vea también nuestros servicios de ",{text:"diseño web",href:"/es/sitio-web-empresarial"},"."]]}],faqs:[{question:"¿Cuánto cuesta el hosting?",answer:["El hosting viene incluido en nuestros ",{text:"planes de mantenimiento",href:"/es/precios"}," desde $500/mes incluyendo horas de desarrollo, o se cotiza de forma independiente para sitios más grandes; el ",{text:"estimado instantáneo",href:"/es/estimado"}," le dará una cifra para el suyo."]},{question:"¿Alojarán un sitio que ustedes no construyeron?",answer:["Sí, después de una revisión técnica rápida para saber de qué nos estamos haciendo responsables."]},{question:"¿Dónde están sus servidores?",answer:["En infraestructura de nube principal con regiones en EE. UU. y un CDN por delante, para que sus visitantes sean atendidos desde el borde más cercano a ellos, lo que para los clientes locales significa rapidez."]},{question:"¿Qué pasa si mi sitio se cae a las 2 a. m.?",answer:["El monitoreo nos alerta antes de que la mayoría de los dueños se den cuenta, y la recuperación comienza de inmediato. Usted sabrá de nosotros con lo que pasó y lo que hicimos, no al revés."]}]}},Ml={slug:"web-development",title:"Web Development",category:"Digital Platform",shortDescription:"Custom web development in Miami, built to last.",heroTagline:"Clean, fast, custom-built websites and apps.",painPoints:[],deliverables:[],outcomes:["custom features built to spec","integrations with your existing tools","fast, hand-coded performance"],faqs:[{question:"What technologies do you build with?",answer:"Modern JavaScript frameworks with static rendering for marketing sites, and whatever your integrations demand. We choose the stack for longevity and speed, not fashion."},{question:"Can you add features to my existing site?",answer:"Usually, yes, after a code review. If the existing platform fights the feature, we'll tell you what a rebuild costs versus forcing it."}],relatedProjectSlugs:[],seoTitle:"Web Development Company in Miami | Custom Builds",seoDescription:"Miami web development for custom-coded sites and web apps, fast, secure and built to scale. Beyond templates: real engineering for real business needs.",h1:"Web Development Company Miami",breadcrumb:[{label:"Home",href:"/"},{label:"Services",href:"/services"},{label:"Web Development",href:"/web-development"}],schema:{name:"Web Development",serviceType:"Web development",areaServed:["Miami","Miami-Dade County"],description:"Miami web development for custom-coded sites and web apps, fast, secure and built to scale. Beyond templates: real engineering for real business needs."},image:{id:"web-development-code",alt:"Custom web development in progress at our Miami studio",prompt:"Over-the-shoulder 
2candid of a developer at a wooden desk, hands on a worn mechanical keyboard, a monitor showing abstract dark-theme editor blocks as blurred shapes, a mug and sticky-note pad without writing nearby, warm late-afternoon window light raking across the desk."},bodySections:[{paragraphs:[["Web design decides how your site looks; web development decides what it can do. We're a Florida web development company that writes real code (custom features, integrations, calculators, booking flows, member areas) instead of stretching a page-builder plugin past its limits. If you can describe the behavior, we can build it, and it will be fast."]]},{heading:"Custom web development solutions",paragraphs:[['Custom features and tools: estimate calculators, quizzes, booking systems, gated content, client portals. Integrations: CRMs, payment processors, scheduling platforms, inventory systems, and the APIs that make your site talk to your operations. Performance engineering: Core Web Vitals treated as a build requirement, not an afterthought. Application development: when the project outgrows "website," we build web applications, including larger SaaS and enterprise builds, with the same standards.']]},{heading:"We use our own medicine",paragraphs:[["This website is our proof of craft: we migrated it off WordPress and rebuilt it as a custom-coded, statically-rendered platform. The interactive pricing you'll find here, the instant estimate tool, the bilingual architecture: all built in-house, by the team you'd be hiring. Ask other agencies to show you their stack; most are selling custom development from a templated site."]]},{heading:"Development vs. design: which do you need?",paragraphs:[[`If your site looks dated, that's design. If your site can't do something (take bookings, calculate quotes, sync with your software), that's development. Most projects need a measure of both, which is why the same team here does both; you'll never hear "our developer doesn't do design changes." (Deeper comparison: our guide to `,{text:"web design vs. web development",href:"/web-development"},".)"]]},{paragraphs:[["See also our ",{text:"web design",href:"/business-website"}," and ",{text:"ecommerce development",href:"/online-store"}," services."]]}],richFaqs:[{question:"What technologies do you build with?",answer:["Modern JavaScript frameworks with static rendering for marketing sites, and whatever your integrations demand. We choose the stack for longevity and speed, not fashion."]},{question:"Can you add features to my existing site?",answer:["Usually, yes, after a code review. If the existing platform fights the feature, we'll tell you what a rebuild costs versus forcing it."]},{question:"How much does custom development cost?",answer:["Project builds start at $2,495 for marketing sites (fully custom builds at $5,995) and scale with complexity; see ",{text:"pricing",href:"/pricing"}," or get a scoped figure from the ",{text:"instant estimate",href:"/estimate"},"."]},{question:"Do you outsource development?",answer:["No. Design and development are in-house. It's the only way we can promise the accountability we sell."]}],es:{slug:"desarrollo-web",title:"Desarrollo Web",seoTitle:"Empresa de Desarrollo Web en Miami | Sitios a Medida",seoDescription:"Desarrollo web en Miami para sitios y aplicaciones a la medida: rápidos, seguros y escalables. Más allá de plantillas: ingeniería real para tu negocio.",h1:"Empresa de Desarrollo Web en Miami",heroTagline:"Sitios web y aplicaciones limpios, rápidos y hechos a medida.",breadcrumb:[{label:"Inicio",href:"/es"},{label:"Servicios",href:"/es/servicios"},{label:"Desarrollo Web",href:"/es/desarrollo-web"}],outcomes:["funciones a medida hechas a su especificación","integraciones con sus herramientas existentes","rendimiento rápido programado a mano"],imageAlt:"Desarrollo web a medida en progreso en nuestro estudio de Miami",schema:{name:"Desarrollo Web",serviceType:"Web development",areaServed:["Miami","Miami-Dade County"],description:"Desarrollo web en Miami para sitios y aplicaciones a la medida: rápidos, seguros y escalables. Más allá de plantillas: ingeniería real para tu negocio."},bodySections:[{paragraphs:[["El diseño web decide cómo se ve su sitio; el desarrollo web decide qué puede hacer. Somos una compañía de desarrollo web en Florida que escribe código real (funciones a medida, integraciones, calculadoras, flujos de reservas, áreas de miembros) en lugar de forzar un plugin de constructor de páginas más allá de sus límites. Si usted puede describir el comportamiento, nosotros podemos construirlo, y será rápido."]]},{heading:"Soluciones de desarrollo web a medida",paragraphs:[['Funciones y herramientas a medida: calculadoras de estimación, cuestionarios, sistemas de reservas, contenido restringido, portales de clientes. Integraciones: CRMs, procesadores de pago, plataformas de agendamiento, sistemas de inventario y las APIs que hacen que su sitio se comunique con sus operaciones. Ingeniería de rendimiento: los Core Web Vitals tratados como un requisito de construcción, no como una ocurrencia tardía. Desarrollo de aplicaciones: cuando el proyecto supera al "sitio web", construimos aplicaciones web, incluyendo los proyectos más grandes de SaaS y empresariales, con los mismos estándares.']]},{heading:"Usamos nuestra propia medicina",paragraphs:[["Este sitio web es nuestra prueba de oficio: lo migramos desde WordPress y lo reconstruimos como una plataforma programada a medida y renderizada estáticamente. Los precios interactivos que encontrará aquí, la herramienta de estimado instantáneo, la arquitectura bilingüe: todo construido internamente, por el equipo que usted contrataría. Pídale a otras agencias que le muestren su stack; la mayoría vende desarrollo a medida desde un sitio hecho con plantillas."]]},{heading:"Desarrollo vs. diseño: ¿cuál necesita?",paragraphs:[['Si su sitio se ve anticuado, eso es diseño. Si su sitio no puede hacer algo (tomar reservas, calcular cotizaciones, sincronizarse con su software), eso es desarrollo. La mayoría de los proyectos necesitan una medida de ambos, y por eso el mismo equipo aquí hace ambas cosas; nunca escuchará "nuestro desarrollador no hace cambios de diseño". (Comparación más profunda: nuestra guía sobre ',{text:"diseño web vs. desarrollo web",href:"/es/desarrollo-web"},".)"]]},{paragraphs:[["Vea también nuestros servicios de ",{text:"diseño web",href:"/es/sitio-web-empresarial"}," y ",{text:"desarrollo de comercio electrónico",href:"/es/tienda-en-linea"},"."]]}],faqs:[{question:"¿Con qué tecnologías construyen?",answer:["Frameworks modernos de JavaScript con renderizado estático para sitios de marketing, y lo que sea que exijan sus integraciones. Elegimos el stack por su longevidad y velocidad, no por moda."]},{question:"¿Pueden agregar funciones a mi sitio existente?",answer:["Generalmente, sí, después de una revisión de código. Si la plataforma existente pelea con la función, le diremos cuánto cuesta una reconstrucción frente a forzarla."]},{question:"¿Cuánto cuesta el desarrollo a medida?",answer:["Los proyectos comienzan en $2,495 para sitios de marketing (construcciones totalmente personalizadas en $5,995) y escalan con la complejidad; consulte los ",{text:"precios",href:"/es/precios"}," u obtenga una cifra específica con el ",{text:"estimado instantáneo",href:"/es/estimado"},"."]},{question:"¿Subcontratan el desarrollo?",answer:["No. El diseño y el desarrollo son internos. Es la única manera en que podemos prometer la responsabilidad que vendemos."]}]}},Pl={slug:"ai-automation",title:"AI & Automation",category:"Product & Softw
2are",shortDescription:"AI automation services for South Florida businesses: lead follow-up, scheduling, quoting, and back-office workflows that run themselves. Built by our team.",heroTagline:"AI automation services turn that stack into software.",painPoints:[],deliverables:[],outcomes:["Faster Lead Response","Less Repetitive Manual Work","Supervised, Measurable Automations"],faqs:[{question:"What does AI automation cost for a small business?",answer:"Most builds are scoped projects starting around the cost of a small website, with light monthly upkeep; get a real figure from the instant estimate."},{question:"Which tasks should we automate first?",answer:"The one that loses you money fastest, which is usually lead response time. A lead answered in two minutes converts dramatically better than one answered in two hours."}],relatedProjectSlugs:[],seoTitle:"AI Automation Agency in Miami | Work Smarter",seoDescription:"Miami AI automation agency that builds AI workflows, chatbots and integrations to cut busywork and scale your team. Book a free automation audit today.",h1:"AI Automation Agency Miami",breadcrumb:[{label:"Home",href:"/"},{label:"Services",href:"/services"},{label:"AI Automation",href:"/ai-automation"}],schema:{name:"AI Automation Services",serviceType:"AI automation",areaServed:["Miami","South Florida","United States"],description:"AI automation services for South Florida businesses: lead follow-up, scheduling, quoting, and back-office workflows that run themselves. Built by our team."},image:{id:"ai-automation-flows",alt:"Laptop on a stone coffee table showing a business automation dashboard with lead response, scheduling, and CRM workflow cards",prompt:"User-supplied photo: laptop on a stone coffee table in a bright living room, screen showing a business automation dashboard with lead response, appointment scheduling, and CRM workflow cards."},bodySections:[{paragraphs:[["Every small business has a stack of work that's necessary, repetitive, and quietly expensive: answering the same questions, chasing leads that came in overnight, moving data between systems by hand. AI automation services turn that stack into software. We design and build automations that respond to leads in seconds, book appointments without phone tag, draft quotes from your pricing rules, and keep your tools in sync, supervised by your team, not a replacement for it."]]},{heading:"What we automate",paragraphs:[["Lead response: every form fill and message gets an instant, intelligent reply and lands in your CRM tagged and routed. Scheduling: back-and-forth eliminated; customers book against real availability. Quoting and intake: structured estimates generated from your rules (the ",{text:"instant estimate",href:"/estimate"}," on this site is one we built for ourselves). Operations: invoices, reminders, review requests, and reporting that run on schedule. Content operations: publishing pipelines that keep marketing moving weekly, which is exactly how this website is run."]]},{heading:"An AI automation company that ships its own automations",paragraphs:[["This is not a service we bolted on because it's trendy. Our own agency runs on the systems we sell: automated estimate delivery, an AI-assisted publishing workflow for SEO pages, and internal reporting bots. When we scope your automation, we're drawing on tools we operate daily, and we'll show them to you working."]]},{heading:"Practical, supervised, measurable",paragraphs:[["We don't deploy black boxes. Every automation has a human checkpoint where judgment matters, logs you can read, and a single number it's accountable to: response time, booked appointments, or hours saved. If an automation doesn't move its number, we rework it or retire it."]]},{paragraphs:[["See also our ",{text:"AI photo and video production",href:"/ai-photo-and-video-creation"},", ",{text:"web development",href:"/web-development"},", and ",{text:"pricing",href:"/pricing"},"."]]}],richFaqs:[{question:"What does AI automation cost for a small business?",answer:["Most builds are scoped projects starting around the cost of a small website, with light monthly upkeep; get a real figure from the ",{text:"instant estimate",href:"/estimate"},"."]}
2,{question:"Which tasks should we automate first?",answer:["The one that loses you money fastest, which is usually lead response time. A lead answered in two minutes converts dramatically better than one answered in two hours."]},{question:"Will this replace our staff?",answer:["It replaces their most repetitive hour, not their job. Businesses use the recovered time for the work that actually needs people."]},{question:"We already use ChatGPT. How is this different?",answer:["A chat tool helps a person work; an automation works without the person. We build the pipes, guardrails, and integrations around the AI so it runs your process end to end."]}],es:{slug:"automatizacion-con-ia",title:"Automatización con IA",seoTitle:"Agencia de Automatización con IA en Miami | Trabaja Más Inteligente",seoDescription:"Agencia de automatización con IA en Miami: flujos, chatbots e integraciones que eliminan tareas repetitivas y hacen crecer tu equipo. Auditoría gratis.",h1:"Agencia de Automatización con IA en Miami",heroTagline:"Los servicios de automatización con IA convierten esa pila de trabajo en software.",breadcrumb:[{label:"Inicio",href:"/es"},{label:"Servicios",href:"/es/servicios"},{label:"Automatización con IA",href:"/es/automatizacion-con-ia"}],outcomes:["respuesta más rápida a los prospectos","menos trabajo manual repetitivo","automatizaciones supervisadas y medibles"],imageAlt:"Flujo de trabajo de automatización con IA que conecta los sistemas de un negocio de Miami",schema:{name:"Servicios de Automatización con IA",serviceType:"AI automation",areaServed:["Miami","South Florida","United States"],description:"Servicios de automatización con IA para negocios del sur de Florida: seguimiento de prospectos, agendamiento, cotización y flujos administrativos que funcionan solos. Creados por nuestro equipo."},bodySections:[{paragraphs:[["Todo pequeño negocio tiene una pila de trabajo que es necesaria, repetitiva y silenciosamente costosa: responder las mismas preguntas, perseguir prospectos que llegaron durante la noche, mover datos entre sistemas a mano. Los servicios de automatización con IA convierten esa pila en software. Diseñamos y construimos automatizaciones que responden a los prospectos en segundos, agendan citas sin el ir y venir de llamadas, redactan cotizaciones a partir de sus reglas de precios y mantienen sus herramientas sincronizadas, supervisadas por su equipo en lugar de reemplazarlo."]]},{heading:"Qué automatizamos",paragraphs:[["Respuesta a prospectos: cada formulario y mensaje recibe una respuesta instantánea e inteligente y llega a su CRM etiquetado y enrutado. Agendamiento: se elimina el ir y venir; los clientes reservan según la disponibilidad real. Cotización e intake: estimados estructurados generados a partir de sus reglas (el ",{text:"estimado instantáneo",href:"/es/estimado"}," en este sitio es uno que construimos para nosotros mismos). Operaciones: facturas, recordatorios, solicitudes de reseñas y reportes que se ejecutan según un calendario. Operaciones de contenido: canales de publicación que mantienen el marketing avanzando cada semana, que es exactamente cómo se gestiona este sitio web."]]},{heading:"Una compañía de automatización con IA que lanza sus propias automatizaciones",paragraphs:[["Este no es un servicio que agregamos porque está de moda. Nuestra propia agencia funciona con los sistemas que vendemos: entrega automatizada de estimados, un flujo de publicación asistido por IA para páginas de SEO y bots internos de reportes. Cuando definimos el alcance de su automatización, nos apoyamos en herramientas que operamos a diario, y se las mostraremos funcionando."]]},{heading:"Práctica, supervisada, medible",paragraphs:[["No implementamos cajas negras. Cada automatización tiene un punto de control humano donde el criterio importa, registros que usted puede leer y un único número del que es responsable: tiempo de respuesta, citas reservadas u horas ahorradas. Si una automatización no mueve su número, la rehacemos o la retiramos."]]},{paragraphs:[["Vea también nuestros servicios de ",{text:"producción de fotografía y video con IA",href:"/es/creacion-de-fotos-y-videos-con-ia"},", ",{text:"desarrollo web",href:"/es/desarrollo-web"}," y ",{text:"precios",href:"/es/precios"},"."]]}],faqs:[{question:"¿Cuánto cuesta la automatización con IA para un pequeño negocio?",answer:["La mayoría de los proyectos se cotizan por alcance, comenzando alrededor del costo de un sitio web pequeño, con un ligero mantenimiento mensual; obtenga una cifra real con el ",{text:"estimado instantáneo",href:"/es/estimado"},"."]},{question:"¿Qué tareas deberíamos automatizar primero?",answer:["La que le hace perder dinero más rápido, que suele ser el tiempo de respuesta a los prospectos. Un prospecto respondido en dos minutos convierte muchísimo mejor que uno respondido en dos horas."]},{question:"¿Esto reemplazará a nuestro personal?",answer:["Reemplaza su hora más repetitiva, no su trabajo. Los negocios usan el tiempo recuperado para el trabajo que realmente necesita personas."]},{question:"Ya usamos ChatGPT, ¿en qué se diferencia esto?",answer:["Una herramienta de chat ayuda a una persona a trabajar; una automatización trabaja sin la persona. Construimos las tuberías, los controles y las integraciones alrededor de la IA para que ejecute su proceso de principio a fin."]}]}},Dl={slug:"website-redesign",title:"Website Redesign",category:"Digital Platform",shortDe
2scription:"Website redesign in Miami that keeps your rankings and lifts conversions.",heroTagline:"A rebuild that moves the numbers, not just the look.",painPoints:[],deliverables:[],outcomes:["protected search rankings","a higher conversion rate","a faster, modern site"],faqs:[],relatedProjectSlugs:[],seoTitle:"Website Redesign in Miami | Keep Your Rankings",seoDescription:"Miami website redesign that modernizes your site without losing SEO. We rebuild for speed, conversions and brand, and protect your rankings through launch.",h1:"Website Redesign Company Miami",breadcrumb:[{label:"Home",href:"/"},{label:"Services",href:"/services"},{label:"Website Redesign",href:"/website-redesign"}],schema:{name:"Website Redesign Service",serviceType:"Website redesign",areaServed:["Miami","Miami-Dade County"],description:"A business website redesign service that keeps your rankings and upgrades everything else. We redesigned our own site: here's how we protect yours."},image:{id:"website-redesign-beforeafter",alt:"Before and after of a business website redesign by our Miami team",prompt:"Two people reviewing a laptop together at a sunlit wooden table near a big window with potted plants, screen showing an abstract elegant webpage layout as blurred blocks, printed wireframe sheets with greeked lines spread on the table, both faces turned away or cropped, cozy natural office."},bodySections:[{paragraphs:[["A redesign done casually is how businesses lose rankings they spent years earning: URLs change, pages vanish, and Google quietly forgets you. Our business website redesign service treats your existing traffic as an asset to protect. Before a pixel changes, we map every URL, every ranking, and every lead path, then redesign on top of that foundation instead of underneath it."]]},{heading:"What a redesign includes",paragraphs:[["A design system that matches who you've become, not who you were when the old site launched. An SEO preservation plan: redirect maps, content parity, and post-launch monitoring. Conversion upgrades: clearer paths from visitor to lead, informed by what your analytics already show. Speed: redesigns should get faster, not just prettier."]]},{heading:"We redesign with receipts",paragraphs:[["We recently rebuilt our own website from WordPress to a fully custom platform: same domain, protected rankings, better speed. The checklist we developed for that migration is the one your project runs on. Ask us to walk you through it on the first call; it's the fastest way to tell a careful redesign partner from a risky one."]]},{paragraphs:[["See also our ",{text:"web design",href:"/business-website"}," and ",{text:"SEO",href:"/search-engine-optimization"}," services."]]}],richFaqs:[{question:"Will a redesign hurt my SEO?",answer:["Done carelessly, it can. Done with URL mapping, 301s, and content parity, rankings typically hold and then improve as speed and structure get better. That protection is built into every redesign we do."]},{question:"Can you redesign just part of the site?",answer:["Yes. Phased redesigns (homepage and money pages first) are often the smart route for larger sites."]},{question:"How long does a redesign take?",answer:["Most business sites run 4 to 8 weeks depending on page count and content readiness."]},{question:"What does it cost?",answer:["Redesigns follow our project pricing from $2,495 (fully custom from $5,995); see ",{text:"pricing",href:"/pricing"}," or get an exact range from the ",{text:"instant estimate",href:"/estimate"},"."]}],es:{slug:"rediseno-de-sitios-web",title:"Rediseño Web",seoTitle:"Rediseño Web en Miami | Conserva tu SEO",seoDescription:"Rediseño web en Miami que moderniza tu sitio sin perder SEO. Reconstruimos para velocidad, conversiones y marca, y protegemos tus rankings al lanzar.",h1:"Empresa de Rediseño Web en Miami",heroTagline:"Una reconstrucción que mueve las cifras, no solo la apariencia.",breadcrumb:[{label:"Inicio",href:"/es"},{label:"Servicios",href:"/es/servicios"},{label:"Rediseño Web",href:"/es/rediseno-de-sitios-web"}],outcomes:["posicionamiento de búsqueda protegido","una tasa de conversión más alta","un sitio más rápido y moderno"],imageAlt:"Antes y después de un rediseño de sitio web para empresas realizado por nuestro equipo de Miami",schema:{name:"Servicio de Rediseño de Sitios Web",serviceType:"Website redesign",areaServed:["Miami","Miami-Dade County"],description:"Un servicio de rediseño de sitios web para empresas que conserva su posicionamiento y mejora todo lo demás. Rediseñamos nuestro propio sitio: así protegemos el suyo."},bodySections:[{paragraphs:[["Un rediseño hecho a la ligera es la forma en que las empresas pierden el posicionamiento que tardaron años en ganar: las URL cambian, las páginas desaparecen y Google se olvida de usted en silencio. Nuestro servicio de rediseño de sitios web para empresas trata su tráfico existente como un activo que debe protegerse. Antes de que cambie un solo píxel, mapeamos cada URL, cada posición y cada ruta de clientes potenciales, y luego rediseñamos sobre esa base en vez de por debajo de ella."]]},{heading:"Qué incluye un rediseño",paragraphs:[["Un sistema de diseño que refleja en quién se ha convert
2ido, no quién era cuando se lanzó el sitio anterior. Un plan de preservación de SEO: mapas de redirecciones, paridad de contenido y monitoreo posterior al lanzamiento. Mejoras de conversión: rutas más claras del visitante al cliente potencial, informadas por lo que sus analíticas ya muestran. Velocidad: los rediseños deben volverse más rápidos, no solo más bonitos."]]},{heading:"Rediseñamos con pruebas",paragraphs:[["Hace poco reconstruimos nuestro propio sitio web de WordPress a una plataforma totalmente personalizada: mismo dominio, posicionamiento protegido, mejor velocidad. La lista de verificación que desarrollamos para esa migración es la misma con la que se ejecuta su proyecto. Pídanos que se la expliquemos en la primera llamada; es la forma más rápida de distinguir a un socio de rediseño cuidadoso de uno arriesgado."]]},{paragraphs:[["Vea también nuestros servicios de ",{text:"diseño web",href:"/es/sitio-web-empresarial"}," y ",{text:"SEO",href:"/es/optimizacion-para-motores-de-busqueda-seo"},"."]]}],faqs:[{question:"¿Un rediseño perjudicará mi SEO?",answer:["Hecho con descuido, puede hacerlo. Hecho con mapeo de URL, redirecciones 301 y paridad de contenido, el posicionamiento por lo general se mantiene y luego mejora a medida que la velocidad y la estructura mejoran. Esa protección está integrada en cada rediseño que hacemos."]},{question:"¿Pueden rediseñar solo una parte del sitio?",answer:["Sí. Los rediseños por fases (primero la página de inicio y las páginas que generan ingresos) suelen ser la ruta inteligente para sitios más grandes."]},{question:"¿Cuánto tarda un rediseño?",answer:["La mayoría de los sitios de empresas toman de 4 a 8 semanas según la cantidad de páginas y la preparación del contenido."]},{question:"¿Cuánto cuesta?",answer:["Los rediseños siguen nuestros precios por proyecto desde $2,495 (totalmente personalizados desde $5,995); consulte ",{text:"precios",href:"/es/precios"}," u obtenga un rango exacto desde el ",{text:"estimado instantáneo",href:"/es/estimado"},"."]}]}},Wl=[Cl,El,Tl,Ml,Pl,Dl];function Y(e,t){return[{label:"Inicio",href:"/es"},{label:"Servicios",href:"/es/servicios"},{label:e,href:`/es/${t}`}]}const Ze=[{slug:"business-website",title:"Business Website",category:"Digital Platform",seoTitle:"Web Design for Businesses in Miami | Convert More",seoDescription:"Expert business web design in Miami built to attract customers, lift conversions and grow your brand with a fast, responsive, on-brand website.",h1:"Web Design for Businesses",heroTagline:"High-level web design, executed impeccably. We create digital experiences that are not only aesthetically elegant but also exceptionally functional.",shortDescription:"Custom-designed marketing websites built to convert visitors into customers.",painPoints:[],deliverables:[],outcomes:["Stronger online presence","Higher conversion rates","Multilingual support available"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Consultation & Planning — We begin with an in-depth consultation to fully understand your goals and requirements, ensuring the final product is a true reflection of your vision."],["2. Prototype Design — Our team designs prototypes that align with your brand and clearly communicate with your audience, giving you a fully visualized concept before development begins."],["3. Technical Development — We implement the latest technologies to build secure, robust, and scalable websites that deliver seamless user experiences."],["4. Usability Testing & Launch — We thoroughly test your site to identify and fix any usability issues. Once everything is optimized across all devices, we launch your website to the world."],["5. Ongoing Maintenance & Support — We provide ongoing support post-launch to ensure your site remains up-to-date and operates flawlessly."]]},{heading:"Industries We Serve",paragraphs:[],list:["Websites for the technology sector","Websites for the health sector","Websites for the education sector","Websites for the retail sector","Websites for the hospitality sector"]}],faqs:[{question:"What does the web design process involve?",answer:"At Web Design Miami Company, every successful project begins with strategy. We collaborate closely with you to merge your vision with our expertise, resulting in a high-impact website that exceeds expectations."},{question:"How much does a website typically cost?",answer:"Pricing varies depen
2ding on complexity, custom design, functionality, and required support. Get a custom quote by filling out our contact form."},{question:"How long will it take to design and develop my website?",answer:"On average, a website takes about 6-8 weeks to complete. Timelines may be extended by delays in feedback, incomplete content, or custom functionality requirements."},{question:"Can I see examples of your previous work?",answer:"Absolutely! Check out our portfolio on our website."},{question:"Do you offer multilingual website support?",answer:"Yes! We can design websites that support multiple languages or dynamic language switching to help you reach international audiences."}],richFaqs:[{question:"1. What does the web design process involve?",answer:["At Web Design Miami Company, every successful project begins with strategy. We collaborate closely with you to merge your vision with our expertise, resulting in a high-impact website that exceeds expectations."]},{question:"2. How much does a website typically cost?",answer:["Pricing varies depen
2ding on complexity, custom design, functionality, and required support. Get a custom quote by filling out our ",{text:"contact form",href:"/contact"},"."]},{question:"3. How long will it take to design and develop my website?",answer:["On average, a website takes about 6–8 weeks to complete. Timelines may be extended by delays in feedback, incomplete content, or custom functionality requirements."]},{question:"4. Can I see examples of your previous work?",answer:["Absolutely! Check out our ",{text:"portfolio",href:"/portfolio"},"."]},{question:"5. Do you use templates or will my website be custom designed?",answer:["We offer both options. You can choose a fully custom website or a professional Shopify theme build, depending on your timeline and budget."]},{question:"6. Can you integrate third-party tools?",answer:["Yes. We integrate a wide range of third-party tools seamlessly, including Stripe, PayPal, Shopify Payments, CRM software, analytics platforms, and more."]},{question:"7. Do you offer multilingual website support?",answer:["Yes! We can design websites that support multiple languages or dynamic language switching to help you reach international audiences."]}],relatedProjectSlugs:[],es:{slug:"sitio-web-empresarial",title:"Diseño Web para Empresas",seoTitle:"Diseño Web para Empresas en Miami | Convierte Más",seoDescription:"Diseño web para empresas en Miami que atrae clientes, mejora conversiones y hace crecer tu marca con un sitio rápido, responsive y a tu medida.",h1:"Diseño Web para Empresas",heroTagline:"Diseño web de alto nivel, ejecutado impecablemente. Creamos experiencias digitales que no solo son estéticamente elegantes, sino también excepcionalmente funcionales.",breadcrumb:Y("Diseño Web para Empresas","sitio-web-empresarial"),outcomes:["Mayor presencia en línea","Tasas de conversión más altas","Soporte multilingüe disponible"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Consultoría y Planificación — Comenzamos con una consulta profunda para entender completamente sus objetivos y requisitos, asegurando que el producto final sea un verdadero reflejo de su visión."],["2. Diseño de Prototipo — Nuestro equipo diseña prototipos que se alinean con su marca y comunican claramente con su audiencia, dándole un concepto completamente visualizado antes de que comience el desarrollo."],["3. Desarrollo Técnico — Implementamos las últimas tecnologías para construir sitios web seguros, robustos y escalables que ofrecen experiencias de usuario fluidas."],["4. Pruebas de Usabilidad y Lanzamiento — Probamos exhaustivamente su sitio para identificar y corregir cualquier problema de usabilidad. Una vez optimizado en todos los dispositivos, lanzamos su sitio al mundo."],["5. Mantenimiento y Soporte Continuo — Brindamos soporte continuo post-lanzamiento para asegurar que su sitio se mantenga actualizado y funcione sin problemas."]]},{heading:"Sectores que Atendemos",paragraphs:[],list:["Sitios web para el sector tecnológico","Sitios web para el sector salud","Sitios web para el sector educativo","Sitios web para el sector minorista","Sitios web para el sector de hospitalidad"]}],faqs:[{question:"1. ¿En qué consiste el proceso de diseño web?",answer:["En Web Design Miami Company, todo proyecto exitoso comienza con una estrategia. Colaboramos estrechamente con usted para fusionar su visión con nuestra experiencia, resultando en un sitio web de alto impacto que supera las expectativas."]},{question:"2. ¿Cuánto cuesta típicamente un sitio web?",answer:["El precio varía según la complejidad, diseño personalizado, funcionalidad y soporte requerido. Obtenga una cotización personalizada completando nuestro ",{text:"formulario de contacto",href:"/es/contacto"},"."]},{question:"3. ¿Cuánto tiempo tomará diseñar y desarrollar mi sitio web?",answer:["En promedio, un sitio web tarda entre 6 y 8 semanas en completarse. Sin embargo, los plazos pueden extenderse por retrasos en la retroalimentación, contenido incompleto o requisitos de funcionalidades personalizadas."]},{question:"4. ¿Puedo ver ejemplos de trabajos anteriores?",answer:["¡Por supuesto! Consulte nuestro ",{text:"portafolio",href:"/es/portafolio"},"."]},{question:"5. ¿Utilizan plantillas o mi sitio web será diseña
2do a medida?",answer:["Ofrecemos ambas opciones. Puede elegir un sitio web WordPress completamente personalizado o un tema profesional de Shopify, según su cronograma y presupuesto."]},{question:"6. ¿Pueden integrar herramientas de terceros?",answer:["Sí. Integramos sin problemas una variedad de herramientas de terceros, incluyendo Stripe, PayPal, Shopify Payments, software CRM, plataformas de análisis y más."]},{question:"7. ¿Ofrecen soporte para sitios web multilingües?",answer:["¡Sí! Podemos diseñar sitios web que soporten múltiples idiomas o con cambio dinámico de idioma para ayudarle a llegar a audiencias internacionales."]}],imageAlt:"Diseño de sitio web empresarial en Miami por Web Design Miami Company"}},{slug:"online-store",title:"Online Store",category:"Digital Platform",seoTitle:"Online Store Development in Miami | Ecommerce",seoDescription:"Miami ecommerce development that turns visitors into loyal customers with intuitive navigation and beautiful, strategic, conversion-first design.",h1:"Premium Online Store Development",heroTagline:"We create online stores that not only attract visitors but also convert them into loyal customers through intuitive navigation and beautiful, strategic design.",shortDescription:"Premium e-commerce stores designed to convert visitors into loyal customers.",painPoints:[],deliverables:[],outcomes:["Market-ready store design","Seamless checkout experience","Ongoing performance monitoring"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Market Analysis — We analyze your market and competitors to ensure your online store stands out and captures the right audience."],["2. Design Strategy — We develop a visually compelling design that reflects your brand while optimizing the shopping experience."],["3. Technology Implementation — We use leading e-commerce platforms and adapt best practices to ensure security, speed, and scalability."],["4. Conversion Optimization — We integrate SEO elements and digital marketing strategies to increase traffic and boost conversion rates."],["5. Launch and Continuous Evaluation — Once launched, we monitor performance and continuously fine-tune the experience to drive results."]]},{heading:"Industries We Serve",paragraphs:[],list:["Online store for fashion and accessories","Online store for beauty products","Online store for health and wellness","Online store for food and beverages","Online store for home goods"]}],faqs:[{question:"How long will it take to design and develop my online store?",answer:"Timelines depend on complexity and feedback. Typically, stores take about 6-8 weeks to design and develop."},{question:"How much does an online store web design typically cost?",answer:"Pricing varies depen
2ding on complexity, custom design, functionality, and required support. Get a custom quote by filling out our contact form."},{question:"Can you integrate specific payment systems into my online store?",answer:"Yes. We integrate PayPal, Stripe, Square, Apple Pay, Google Pay, Shop Pay, Amazon Pay, and Click to Pay."},{question:"Do you offer multilingual website options for my online store?",answer:"Yes! We can design websites that support multiple languages or dynamic language switching to help you reach international audiences."}],richFaqs:[{question:"1. How long will it take to design and develop my online store?",answer:["Timelines depend on complexity and feedback. Typically, stores take about 6–8 weeks to design and develop."]},{question:"2. How much does an online store web design typically cost?",answer:["Pricing varies depending on complexity, custom design, functionality, and required support. Get a custom quote by filling out our ",{text:"contact form",href:"/contact"},"."]},{question:"3. Can you integrate specific payment systems?",answer:["Yes. We integrate PayPal, Stripe, Square, Apple Pay, Google Pay, Shop Pay, Amazon Pay, and Click to Pay."]},{question:"4. Do you offer multilingual options for my online store?",answer:["Yes! We can design websites that support multiple languages or dynamic language switching to help you reach international audiences."]}],relatedProjectSlugs:[],es:{slug:"tienda-en-linea",title:"Desarrollo de Tiendas en Línea",seoTitle:"Desarrollo de Tienda en Línea en Miami",seoDescription:"Desarrollo de ecommerce en Miami que convierte visitantes en clientes fieles con navegación intuitiva y un diseño estratégico enfocado en vender.",h1:"Desarrollo Premium de Tiendas en Línea",heroTagline:"Creamos tiendas en línea que no solo atraen visitantes, sino que los convierten en clientes leales mediante una navegación intuitiva y un diseño hermoso y estratégico.",breadcrumb:Y("Tiendas en Línea","tienda-en-linea"),outcomes:["Diseño de tienda listo para el mercado","Proceso de pago sin fricciones","Monitoreo continuo del rendimiento"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Análisis de Mercado — Analizamos su mercado y competidores para asegurar que su tienda en línea destaque y capture al público adecuado."],["2. Estrategia de Diseño — Desarrollamos un diseño visualmente atractivo que refleje su marca mientras optimiza la experiencia de compra."],["3. Implementación Tecnológica — Utilizamos las principales plataformas de comercio electrónico y adaptamos las mejores prácticas para garantizar seguridad, velocidad y escalabilidad."],["4. Optimización de Conversiones — Integramos elementos SEO y estrategias de marketing digital para aumentar el tráfico y mejorar las tasas de conversión."],["5. Lanzamiento y Evaluación Continua — Una vez lanzada, monitoreamos el rendimiento y ajustamos continuamente la experiencia para impulsar resultados."]]},{heading:"Industrias que Atendemos",paragraphs:[],list:["Tiendas en línea de moda y accesorios","Tiendas en línea de productos de belleza","Tiendas en línea de salud y bienestar","Tiendas en línea de alimentos y bebidas","Tiendas en línea de artículos para el hogar"]}],faqs:[{question:"¿Cuánto tiempo tomará diseñar y desarrollar mi tienda en línea?",answer:["Los tiempos dependen de la complejidad y la retroalimentación. Por lo general, las tiendas tardan entre 6 y 8 semanas."]},{question:"¿Cuánto cuesta típicamente el diseño web de una tienda en línea?",answer:["El precio varía según la complejidad, el diseño personalizado, la funcionalidad y el soporte requerido. Obtenga una cotización completando nuestro ",{text:"formulario de contacto",href:"/es/contacto"},"."]},{question:"¿Pueden integrar sistemas de pago específicos?",answer:["Sí. Podemos integrar PayPal, Stripe, Square, Apple Pay, Google Pay, Shop Pay, Amazon Pay y Click to Pay."]},{question:"¿Ofrecen opciones de sitios web multilingües para mi tienda?",answer:["¡Sí! Podemos diseñar sitios web que soporten múltiples idiomas o con cambio dinámico de idioma para ayudarle a alcanzar audiencias internacionales."]}],imageAlt:"Desarrollo de tienda en línea premium en Miami por Web Design Miami Company"}},{slug:"shopify-website",title:"Shopify Website",category:"Digital Platform",seoTitle:"Shopify Development in Miami | Top Plus Stores",seoDescription:"Miami Shopify Plus development that boosts sales, speeds up your store and improves UX. High-performing Shopify sites built to convert and scale.",h1:"Experts in Shopify and Shopify Plus",heroTagline:"We design Shopify and Shopify Plus stores that combine stunning design with high-performance features helping you to attract, convert, and retain customers.",shortDe
2scription:"Expert Shopify and Shopify Plus store development combining stunning design with high-performance features.",painPoints:[],deliverables:[],outcomes:["Custom Shopify store design","High-performance store features","30 days of post-launch support"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Consultation & Planning — We start by understanding your brand and business goals to map out a clear development strategy."],["2. Prototype Design — We design a detailed Shopify prototype, showcasing your brand's aesthetic and the site's intended functionality."],["3. Technical Implementation — We develop your store using advanced technologies and best practices to ensure security, scalability, and operational efficiency."],["4. Usability Testing — We thoroughly test your site to identify and fix any usability issues. Once everything is optimized across all devices, we launch your website to the world."],["5. Maintenance and Post-Delivery Support — We provide ongoing support post-launch to ensure your site remains up-to-date and operates flawlessly."]]},{heading:"Industries We Serve with Shopify",paragraphs:[],list:["Shopify websites for fashion and accessories","Shopify websites for health and fitness","Shopify websites for beauty products","Shopify websites for organic and gourmet foods","Shopify websites for home decor items"]}],faqs:[{question:"How long will it take to design and develop my Shopify website?",answer:"On average, a website takes about 6-8 weeks to complete. Timelines may be extended by delays in feedback, incomplete content, or custom functionality requirements."},{question:"How much does a Shopify web design typically cost?",answer:"Pricing varies depen
2ding on complexity, custom design, functionality, and required support. Get a custom quote by filling out our contact form."},{question:"Why should I choose Shopify over other e-commerce platforms?",answer:"Shopify is ideal for scalable, flexible eCommerce solutions. Benefits include scalability, customization, enhanced security, expert support, seamless integrations, and optimized performance."},{question:"Can you fully customize my Shopify store according to my specific needs?",answer:"Yes! We build fully tailored Shopify solutions to meet your brand's needs and customer expectations."},{question:"Do you offer ongoing technical support after the store launches?",answer:"Every Shopify store comes with 30 days of complimentary support, including video tutorials for basic updates."}],richFaqs:[{question:"1. How long will it take to design and develop my Shopify website?",answer:["On average, a website takes about 6–8 weeks to complete. Timelines may be extended by delays in feedback, incomplete content, or custom functionality requirements."]},{question:"2. How much does a Shopify web design typically cost?",answer:["Pricing varies depen
2ding on complexity, custom design, functionality, and required support. Get a custom quote by filling out our ",{text:"contact form",href:"/contact"},"."]},{question:"3. Why should I choose Shopify over other e-commerce platforms?",answer:["Shopify is ideal for scalable, flexible eCommerce solutions with benefits including scalability, customization, enhanced security, expert support, seamless integrations, and optimized performance."]},{question:"4. Can you fully customize my Shopify store?",answer:["Yes! We build fully tailored Shopify solutions to meet your brand's needs and customer expectations."]},{question:"5. Do you offer ongoing technical support after launch?",answer:["Every Shopify store comes with 30 days of complimentary support, including video tutorials for basic updates. We also offer ongoing ",{text:"website maintenance plans",href:"/website-maintenance-and-support"},"."]},{question:"7. Is Shopify SEO-friendly?",answer:["Definitely. Shopify offers SEO-friendly structures, metadata, responsive design, and fast load speeds. Our ",{text:"SEO services",href:"/search-engine-optimization"}," are available to help grow organic traffic."]},{question:"9. Do you offer multilingual website options for Shopify?",answer:["Yes! We can design websites that support multiple languages or dynamic language switching to help you reach international audiences."]}],relatedProjectSlugs:[],es:{slug:"sitio-web-shopify",title:"Sitio Web Shopify",seoTitle:"Desarrollo Shopify en Miami | Tiendas Plus",seoDescription:"Desarrollo Shopify Plus en Miami que aumenta ventas, acelera tu tienda y mejora la experiencia. Sitios Shopify de alto rendimiento listos para escalar.",h1:"Expertos en Shopify y Shopify Plus",heroTagline:"Diseñamos tiendas Shopify y Shopify Plus que combinan un diseño impresionante con funciones de alto rendimiento para ayudarte a atraer, convertir y fidelizar clientes.",breadcrumb:Y("Sitio Web Shopify","sitio-web-shopify"),outcomes:["Diseño de tienda Shopify a medida","Funciones de alto rendimiento","30 días de soporte post-lanzamiento"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Consultoría y Planificación — Comenzamos entendiendo tu marca y objetivos comerciales para trazar una estrategia de desarrollo clara."],["2. Diseño de Prototipo — Diseñamos un prototipo detallado de Shopify que muestra la estética de tu marca y la funcionalidad prevista del sitio."],["3. Implementación Técnica — Desarrollamos tu tienda utilizando tecnologías avanzadas y mejores prácticas para garantizar seguridad, escalabilidad y eficiencia operativa."],["4. Pruebas de Usabilidad — Probamos exhaustivamente tu sitio para identificar y corregir cualquier problema de usabilidad. Una vez optimizado en todos los dispositivos, lanzamos tu sitio al mundo."],["5. Mantenimiento y Soporte Post-Entrega — Ofrecemos soporte continuo después del lanzamiento para asegurar que tu sitio se mantenga actualizado y funcione perfectamente."]]},{heading:"Sectores que Atendemos con Shopify",paragraphs:[],list:["Sitios Shopify para moda y accesorios","Sitios Shopify para salud y fitness","Sitios Shopify para productos de belleza","Sitios Shopify para alimentos orgánicos y gourmet","Sitios Shopify para artículos de decoración del hogar"]}],faqs:[{question:"1. ¿Cuánto tiempo toma diseñar y desarrollar mi sitio web Shopify?",answer:["En promedio, un sitio web tarda entre 6 y 8 semanas en completarse."]},{question:"2. ¿Cuánto cuesta típicamente el diseño web en Shopify?",answer:["El precio varía según la complejidad, diseño personalizado, funcionalidades y soporte requerido. Obtén una cotización completando nuestro ",{text:"formulario de contacto",href:"/es/contacto"},"."]},{question:"3. ¿Por qué debería elegir Shopify sobre otras plataformas?",answer:["Shopify es ideal para soluciones de comercio electrónico escalables y flexibles, con beneficios que incluyen escalabilidad, personalización, seguridad mejorada, soporte experto, integraciones sincronizadas y rendimiento optimizado."]},{question:"4. ¿Pueden personalizar completamente mi tienda Shopify?",answer:["¡Sí! Construimos 
2soluciones Shopify totalmente a medida para satisfacer las necesidades de tu marca."]},{question:"5. ¿Ofrecen soporte técnico continuo después del lanzamiento?",answer:["Cada tienda Shopify incluye 30 días de soporte gratuito, incluyendo tutoriales en video para actualizaciones básicas."]},{question:"7. ¿Es Shopify amigable con el SEO?",answer:["Definitivamente. Shopify ofrece estructuras amigables con SEO, metadatos, diseño responsivo y velocidades de carga rápidas."]},{question:"9. ¿Ofrecen opciones multilingües para mi diseño web en Shopify?",answer:["¡Sí! Podemos diseñar sitios web que soporten múltiples idiomas o con cambio dinámico de idioma."]}],imageAlt:"Desarrollo de sitio web Shopify en Miami por Web Design Miami Company"}},{slug:"website-maintenance-and-support",title:"Website Maintenance and Support",timeline:"Ongoing · monthly plans",timelineEs:"Continuo · planes mensuales",category:"Digital Platform",seoTitle:"Website Maintenance & Support in Miami",seoDescription:"Keep your Miami website secure, fast and up to date with proactive maintenance, edits and support. Real people, quick turnarounds, no downtime stress.",h1:"Website Maintenance and Support Services",heroTagline:"Your website is your most important digital asset. We keep it fast, secure, and up-to-date so you can focus on running your business.",shortDescription:"Comprehensive website maintenance and support to keep your site secure, fast, and current.",painPoints:[],deliverables:[],outcomes:["Always-on security monitoring","Regular performance optimization","Expert technical support on demand"],bodySections:[{heading:"Our Maintenance & Support Service Includes",paragraphs:[["1. Software Updates — Keep your site updated with the latest software and plugins to ensure compatibility and security."],["2. Security Monitoring — We protect your site against threats and vulnerabilities through continuous monitoring and rapid incident response."],["3. Performance Optimization — We fine-tune site speed and database eff
2iciency for optimal performance."],["4. Regular Backups — We perform periodic backups to protect your data and facilitate recovery in case of loss."],["5. Technical Consulting — We provide expert advice to improve your web presence and ensure your site meets your business goals."],["6. Technical Support — We resolve bugs and issues quickly, keeping your business online and running smoothly."],["7. Implementation of New Features — As your needs evolve, we implement new features to enhance your site's capabilities and user experience."]]}],faqs:[{question:"What does web maintenance involve?",answer:"Professional website maintenance includes content updates, security checks, performance monitoring, link audits, backups, software updates, usability checks, spam management, error monitoring, and form testing."},{question:"Will I receive reports about my website's performance?",answer:"Absolutely! We provide regular, detailed reports covering your website's performance, highlighting key metrics like loading speed, uptime, security status, and completed updates."}
2,{question:"Do you offer emergency support if my website experiences sudden issues?",answer:"Yes. If your website encounters unexpected problems such as downtime, broken links, or critical errors, our team is ready to respond quickly."}],richFaqs:[{question:"1. What does web maintenance involve?",answer:["Professional website maintenance includes content updates, security checks, performance monitoring, link audits, backups, software updates, usability checks, spam management, error monitoring, and form testing."]},{question:"2. Will I receive reports about my website's performance?",answer:["Absolutely! We provide regular, detailed reports covering your website's performance, highlighting key metrics like loading speed, uptime, security status, and completed updates or improvements."]},{question:"3. Do you offer emergency support if my website experiences sudden issues?",answer:["Yes. If your website encounters unexpected problems such as downtime, broken links, security breaches, or critical errors, our team is ready to respond quickly and restore your site's functionality."]}],relatedProjectSlugs:[],es:{slug:"mantenimiento-y-soporte-web",title:"Mantenimiento y Soporte Web",seoTitle:"Mantenimiento y Soporte Web en Miami",seoDescription:"Mantén tu sitio en Miami seguro, rápido y actualizado con mantenimiento proactivo, ediciones y soporte. Personas reales y respuestas ágiles, sin estrés.",h1:"Servicios de Mantenimiento y Soporte Web",heroTagline:"Su sitio web es su activo digital más importante. Lo mantenemos rápido, seguro y actualizado para que pueda concentrarse en dirigir su negocio.",breadcrumb:Y("Mantenimiento y Soporte Web","mantenimiento-y-soporte-web"),outcomes:["Monitoreo de seguridad permanente","Optimización regular del rendimiento","Soporte técnico experto bajo demanda"],bodySections:[{heading:"Nuestro Servicio de Mantenimiento y Soporte Incluye",paragraphs:[["1. Actualizaciones de Software — Mantenga su sitio actualizado con el software y los complementos más recientes para asegurar compatibilidad y seguridad."],["2. Monitoreo de Seguridad — Protegemos su sitio contra amenazas y vulnerabilidades mediante monitoreo continuo y respuesta rápida a incidentes de seguridad."],["3. Optimización del Rendimiento — Ajustamos la velocidad del sitio y la eficiencia de la base de datos para un rendimiento óptimo."],["4. Copias de Seguridad Regulares — Realizamos copias de seguridad periódicas para proteger sus datos y facilitar la recuperación en caso de pérdida."],["5. Consultoría Técnica — Brindamos asesoramiento experto para mejorar su presencia web y asegurar que su sitio cumpla con los objetivos de su negocio."],["6. Soporte Técnico — Resolvemos errores y problemas rápidamente para mantener su negocio en línea y funcionando sin contratiempos."],["7. Implementación de Nuevas Funcionalidades — A medida que sus necesidades evolucionan, implementamos nuevas funcionalidades para mejorar las capacidades y la experiencia de usuario de su sitio."]]}],faqs:[{question:"1. ¿En qué consiste el mantenimiento web?",answer:["Un sitio web profesional requiere mantenimiento continuo para funcionar correctamente, mantenerse seguro y estar actualizado. Nuestros servicios incluyen actualización de contenido, revisiones de seguridad, monitoreo del rendimiento, auditorías de enlaces, copias de seguridad, actualizaciones de software, gestión de spam y pruebas de formularios."]},{question:"2. ¿Recibiré informes sobre el rendimiento de mi sitio web?",answer:["¡Por supuesto! Proporcionamos informes regulares y detallados que cubren el rendimiento de su sitio, destacando métricas clave como velocidad de carga, tiempo de actividad y estado de seguridad."]},{question:"3. ¿Ofrecen soporte de emergencia si mi sitio presenta problemas repentinos?",answer:["Sí. Si su sitio web encuentra problemas inesperados como caídas, enlaces rotos o errores críticos, nuestro equipo está listo para responder rápidamente y restaurar la funcionalidad."]}],imageAlt:"Servicio de mantenimiento y soporte web en Miami por Web Design Miami Company"}},{slug:"search-engine-optimization",title:"Search Engine Optimization",timeline:"First results: 3–6 months",timelineEs:"Primeros resultados: 3–6 meses",category:"Growth & Marketing",seoTitle:"SEO Agency in Miami | Rank & Grow Organically",seoDescription:"Miami SEO that improves visibility and attracts high-intent traffic through a data-driven strategy focused on rankings and qualified leads. Contact us today.",h1:"Miami SEO Agency",heroTagline:"Improve your online visibility and attract high-intent traffic through a solid, data-driven SEO strategy. Our approach is focused on increasing your rankings, driving qualified traffic, and turning search intent into real business opportunities.",shortDe
2scription:"Data-driven SEO strategy that increases rankings, drives qualified traffic, and turns search intent into real business opportunities.",painPoints:[],deliverables:[],outcomes:["Higher search engine rankings","Qualified organic traffic","Measurable long-term ROI"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Planning & Goal Definition — We begin by learning about your business, market, and long-term objectives. From there, we define measurable SEO goals and prioritize the actions that support your growth strategy."],["2. Website Audit — We conduct a comprehensive audit of your site to evaluate its technical health, structure, and current performance. This helps us identify both issues and opportunities for improvement."],["3. Error Resolution & On-Page Optimization — We fix critical issues such as crawl errors, broken links, and slow load times. Key pages are then optimized with improved tags, metadata, internal linking, and enhancements to user flow."],["4. Keyword Research & Content Creation — We identify strategic keyword opportunities based on search intent and competition. With that data, we create or refine content that attracts, informs, and converts."],["5. Off-Page SEO — We build high-quality backlinks and strengthen your domain authority through ethical link-building practices and outreach strategies tailored to your niche."],["6. Performance Analysis & Strategy Adjustments — Using analytics tools, we monitor progress, track KPIs, and adjust the strategy regularly to ensure sustainable ranking growth and long-term results."]]}],faqs:[{question:"How does SEO work and what strategies do you implement?",answer:"SEO combines technical optimization, high-quality content, and strategic link building. Key strategies include creating helpful content, optimizing for mobile and voice search, improving site speed, building high-authority backlinks, and using structured data."},{question:"How long does it take to see results from SEO efforts?",answer:"SEO is a long-term strategy. Results typically start to show within 3 to 6 months, depending on your industry, competition, and the current state of your website."},{question:"What is SEO and how does it help my business grow?",answer:"SEO is the process of improving your website's visibility in search engines. It helps your business grow by driving organic traffic, attracting customers actively searching for your products or services, and increasing credibility online."},{question:"How do I know if my website needs SEO services?",answer:"If your site isn't ranking well, traffic is low, or you're not getting leads organically, SEO can help. A professional audit can reveal missed opportunities and technical issues."}],richFaqs:[{question:"How does SEO work and what strategies do you implement?",answer:["At Web Design Miami Company, SEO combines technical optimization, high-quality content, and strategic link building. Key strategies include creating helpful content, optimizing for mobile and voice search, improving website speed, building high-authority backlinks, using structured data and schema markup, and leveraging AI tools for keyword insights."]},{question:"How long does it take to see results from SEO efforts?",answer:["SEO is a long-term strategy, and results typically start to show within 3 to 6 months, depending on your industry, competition, and the current state of your website. Consistency and quality are key to lasting growth."]},{question:"What is SEO and how does it help my business grow?",answer:["SEO (Search Engine Optimization) is the process of improving your website's visibility in search engines like Google. It helps your business grow by driving organic traffic, attracting potential customers actively searching for your products or services, and increasing credibility and trust online."]},{question:"How do I know if my website needs SEO services?",answer:["If your site isn't ranking well, traffic is low, or you're not getting leads organically, SEO can help. A professional audit can reveal missed opportunities and technical issues that may be holding your site back."]}],relatedProjectSlugs:[],es:{slug:"optimizacion-para-motores-de-busqueda-seo",title:"Optimización para Motores de Búsqueda",seoTitle:"Agencia SEO en Miami | Posiciona y Crece",seoDescription:"SEO en Miami que mejora tu visibilidad y atrae tráfico de alta intención con una estrategia basada en datos, enfocada en rankings y clientes.",h1:"Agencia SEO en Miami",heroTagline:"Mejore su visibilidad en línea y atraiga tráfico de alta intención mediante una estrategia SEO sólida y basada en datos. Nuestro enfoque se centra en aumentar sus posiciones, generar tráfico cualificado y convert
2ir la intención de búsqueda en oportunidades reales de negocio.",breadcrumb:Y("SEO","optimizacion-para-motores-de-busqueda-seo"),outcomes:["Posiciones más altas en buscadores","Tráfico orgánico cualificado","ROI medible a largo plazo"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Planificación y Definición de Objetivos — Comenzamos conociendo su negocio, mercado y objetivos a largo plazo. Definimos metas SEO medibles y priorizamos las acciones que apoyan su estrategia de crecimiento."],["2. Auditoría del Sitio Web — Realizamos una auditoría completa de su sitio para evaluar su salud técnica, estructura y rendimiento actual."],["3. Resolución de Errores y Optimización On-Page — Corregimos problemas críticos como errores de rastreo, enlaces rotos y tiempos de carga lentos. Luego optimizamos las páginas clave con etiquetas mejoradas, metadatos y enlaces internos."],["4. Investigación de Palabras Clave y Creación de Contenido — Identificamos oportunidades estratégicas de palabras clave basadas en la intención de búsqueda y la competencia. Creamos o refinamos contenido que atrae, informa y convierte."],["5. SEO Off-Page — Construimos enlaces de alta calidad y fortalecemos la autoridad de su dominio mediante prácticas éticas de link building."],["6. Análisis de Rendimiento y Ajustes de Estrategia — Monitoreamos el progreso, seguimos los KPIs y ajustamos la estrategia regularmente para asegurar un crecimiento sostenible."]]}],faqs:[{question:"1. ¿Cómo funciona el SEO y qué estrategias implementan en su empresa en 2025?",answer:["En Web Design Miami Company, el SEO combina optimización técnica, contenido de alta calidad y construcción estratég
2ica de enlaces. Las estrategias clave incluyen crear contenido útil, optimizar para búsqueda móvil y por voz, mejorar la velocidad del sitio, construir enlaces de alta autoridad, y usar datos estructurados y herramientas de IA."]},{question:"2. ¿Cuánto tiempo tarda en verse resultados de los esfuerzos de SEO?",answer:["El SEO es una estrategia a largo plazo, y los resultados suelen comenzar a notarse entre 3 y 6 meses, dependiendo de su industria, competencia y estado actual de su sitio web."]},{question:"3. ¿Qué es SEO y cómo ayuda a crecer mi negocio?",answer:["SEO es el proceso de mejorar la visibilidad de su sitio web en motores de búsqueda como Google. Ayuda a su negocio a crecer al generar tráfico orgánico, atraer clientes potenciales y aumentar la credibilidad en línea."]},{question:"4. ¿Cómo sé si mi sitio web necesita servicios de SEO?",answer:["Si su sitio no tiene buen posicionamiento, el tráfico es bajo o no recibe clientes potenciales de forma orgánica, el SEO puede ayudar. Una auditoría profesional puede revelar oportunidades perdidas y problemas técnicos."]}],imageAlt:"Agencia SEO en Miami — Web Design Miami Company"}},{slug:"google-ads-management",title:"Google Ads",category:"Growth & Marketing",seoTitle:"Google Ads in Miami | Max ROI",seoDescription:"Expert Miami Google Ads management that drives traffic, increases conversions and maximizes ad ROI. Senior-led campaigns, transparent reporting.",h1:"Google Ads Agency Miami",heroTagline:"Boost your online presence and increase your conversions with our expert Google Ads management. We transform your advertising spend into measurable results, increasing both qualified leads and effective sales.",shortDescription:"Expert Google Ads management that transforms your ad spend into measurable leads and sales.",painPoints:[],deliverables:[],outcomes:["More qualified leads and sales","Measurable advertising ROI","Transparent performance reports"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Strategy Development — We begin by understanding your business goals, target audience, and budget. Through keyword research and competitive analysis, we build a personalized strategy tailored to your goals."],["2. Campaign Creation — We design and launch your campaigns, selecting the best keywords and settings to connect effectively with your ideal customers."],["3. Ad Optimization — We monitor and adjust your ads regularly, improving relevance and profitability based on performance data and user behavior."],["4. Reporting and Performance Improvement — We deliver clear reports showing your progress and use those insights to refine your campaign and achieve stronger results over time."]]}],faqs:[{question:"What are the benefits of Google Ads for businesses?",answer:"Google Ads provides greater online visibility, targeted advertising, fast results, budget flexibility, performance tracking, remarketing opportunities, and both local and global reach."},{question:"What types of ads can you run with Google Ads?",answer:"We help you run Search Ads, Display Ads, Video Ads (YouTube), Shopping Ads, App Promotion Ads, Performance Max Campaigns, and Local Ads."},{question:"What is the minimum ad investment that works for Google Ads?",answer:"It varies by industry and objectives. Some sectors require a larger budget due to competition, while others can succeed with less. Contact us for a personalized recommendation."},{question:"How do you optimize my Google Ads campaign for better results?",answer:"We use a data-driven approach: in-depth keyword research, strategic audience targeting, compelling ad copy, continuous A/B testing, and smart bid and budget adjustments."}],richFaqs:[{question:"What are the benefits of Google Ads for businesses?",answer:["Google Ads provides: greater online visibility, targeted advertising, fast results, budget flexibility, performance tracking, remarketing opportunities, and both local and global reach."]},{question:"What types of ads can you run with Google Ads?",answer:["We help you run Search Ads, Display Ads, Video Ads (YouTube), Shopping Ads, App Promotion Campaigns, Performance Max Campaigns, and Local Ads."]},{question:"What is the minimum ad investment that works for Google Ads?",answer:["It varies by industry and objectives. Fill out our ",{text:"contact form",href:"/contact"}," to receive a personalized recommendation."]},{question:"How do you optimize my Google Ads campaign?",answer:["We use a data-driven approach: in-depth keyword research, strategic audie
2nce targeting, compelling ad copy, continuous A/B testing, and smart bid adjustments — helping improve CTR, reduce cost per lead, and attract traffic that converts."]},{question:"Do you provide performance reports for Google Ads campaigns?",answer:["Yes. We share detailed reports using data from Google Ads, Analytics, SEMrush, and Search Console — including impressions, clicks, CTR, conversions, ROI, and cost per conversion."]}],relatedProjectSlugs:[],es:{slug:"gestion-de-google-ads",title:"Gestión de Google Ads",seoTitle:"Gestión de Google Ads en Miami | Máximo ROI",seoDescription:"Gestión experta de Google Ads en Miami que genera tráfico, aumenta conversiones y maximiza el ROI. Campañas dirigidas y reportes transparentes.",h1:"Agencia de Google Ads en Miami",heroTagline:"Impulsa tu presencia en línea y aumenta tus conversiones con nuestra gestión experta de Google Ads. Transformamos tu inversión publicitaria en resultados medibles, incrementando tanto los clientes potenciales calificados como las ventas efectivas.",breadcrumb:Y("Google Ads","gestion-de-google-ads"),outcomes:["Más leads y ventas calificadas","ROI publicitario medible","Informes de rendimiento transparentes"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Desarrollo de Estrategia — Comenzamos conociendo tus objetivos comerciales, público objetivo y presupuesto. A través de la investigación de palabras clave y análisis competitivo, construimos una estrategia personalizada adaptada a tus metas."],["2. Creación de Campañas — Diseñamos y lanzamos tus campañas, seleccionando las mejores palabras clave y configuraciones para conectar eficazmente con tus clientes ideales."],["3. Optimización de Anuncios — Monitoreamos y ajustamos tus anuncios regularmente, mejorando la relevancia y la rentabilidad basándonos en datos de rendimiento y comportamiento del usuario."],["4. Reportes y Mejora del Rendimiento — Entregamos reportes claros que muestran tu progreso y utilizamos esos insights para perfeccionar tu campaña y obtener resultados más sólidos con el tiempo."]]}],faqs:[{question:"¿Cuáles son los beneficios de Google Ads para los negocios?",answer:["Google Ads proporciona mayor visibilidad en línea, publicidad segmentada, resultados rápidos, flexibilidad de presupuesto, seguimiento del rendimiento, oportunidades de remarketing y alcance local y global."]},{question:"¿Qué tipos de anuncios se pueden ejecutar con Google Ads?",answer:["Le ayudamos a ejecutar Anuncios de Búsqueda, Anuncios de Display, Anuncios en Video (YouTube), Anuncios de Shopping, Campañas Performance Max y Anuncios Locales."]},{question:"¿Cuál es la inversión mínima en publicidad que funciona para Google Ads?",answer:["Varía según tu industria y objetivos. Completa nuestro ",{text:"formulario de contacto",href:"/es/contacto"}," para recibir una recomendación personalizada."]},{question:"¿Cómo optimizan mi campaña de Google Ads para obtener mejores resultados?",answer:["Utilizamos un enfoque basado en datos: investigación profunda de palabras clave, segmentación estratég
2ica, textos publicitarios atractivos, pruebas A/B continuas y ajustes inteligentes de pujas."]},{question:"¿Vale la pena Google Ads para una pequeña o mediana empresa?",answer:["Sí, dependiendo de tus objetivos y mercado. Analizamos tu negocio y audiencia para determinar si Google Ads es adecuado para ti y diseñamos una estrategia para maximizar tu inversión."]},{question:"¿Proveen reportes de rendimiento para las campañas de Google Ads?",answer:["Sí. Compartimos reportes detallados con datos de Google Ads, Analytics, SEMrush y Search Console, incluyendo impresiones, clics, CTR, conversiones y ROI."]}],imageAlt:"Agencia de Google Ads en Miami — Web Design Miami Company"}},{slug:"meta-ads-management",title:"Meta Ads Management",category:"Growth & Marketing",seoTitle:"Meta Ads Company in Miami | Facebook & Instagram",seoDescription:"Grow with Miami's Meta ads team. We build Facebook and Instagram campaigns that boost sales, traffic and brand visibility. Get your free plan today.",h1:"Meta Ads Agency Miami",heroTagline:"Maximize your return on digital advertising with our expert Meta Ads management. We create campaigns that engage, convert, and build lasting connections with your audience.",shortDescription:"Expert Meta Ads management on Facebook and Instagram that engages, converts, and builds lasting connections.",painPoints:[],deliverables:[],outcomes:["Targeted Facebook & Instagram reach","Higher conversion rates","Real-time performance insights"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Strategy Development — We begin by understanding your business, audience, and goals. Through market research and competitive insights, we build a Meta Ads strategy around your needs."],["2. Campaign Creation — We design and launch campaigns using the right creatives and audiences to generate results that matter."],["3. Ad Optimization — We regularly test and refine creative elements, messaging, and targeting to improve performance and maximize reach."],["4. Reporting and Performance Enhancement — We provide detailed reporting and fine-tune your campaigns based on real-time results, continuously improving ROI and advertising impact."]]},{heading:"Ad Objectives We Support",paragraphs:[],list:["Brand Awareness: Increase recognition of your brand among a broader audience.","Reach: Maximize the number of people who see your ads.","Traffic: Drive visitors to your website or app.","Engagement: Boost interactions with your posts or page.","App Installs: Encourage users to install your mobile app.","Video Views: Gain more views on your video content.","Lead Generation: Capture qualified leads for your business.","Sales: Drive online purchases through your e-commerce platform.","Store Traffic: Increase visits to your physical store locations."]}],faqs:[{question:"What are the benefits of Meta Ads for business?",answer:"Meta Ads provide highly targeted reach, visual and interactive ad formats, flexible budgets, real-time performance insights, remarketing capabilities, a mobile-first experience, and integration with Instagram Shopping and Facebook Shops."},{question:"What types of ads can you run with Meta Ads?",answer:"We support Image Ads, Video Ads, Carousel Ads, Collection Ads, Reels Ads, Stories Ads, Lead Ads, and Dynamic Product Ads."},{question:"How much is the minimum ad investment that works for Meta Ads?",answer:"You can technically start with $1/day, but actual results depend on your goals and competition. Fill out our contact form to receive a tailored recommendation."},{question:"How will you optimize my Meta Ads campaign?",answer:"We focus on high-converting creative, split testing, detailed audience targeting, and campaign adjustments based on live data."},{question:"Are Meta Ads worth it for a small and medium-sized business?",answer:"Often, yes. We review your offer, audience, and market to see if Meta is a good fit and create a strategy that supports your business goals."},{question:"Do you provide performance reports for Meta Ads campaigns?",answer:"Yes. We report on key metrics like reach, impressions, CTR, conversions, and ROAS. You'll get clear insights and recommendations for what to do next."}],richFaqs:[{question:"What are the benefits of Meta Ads for business?",answer:["Meta Ads provide highly targeted reach, visual and interactive ad formats, flexible budgets, real-time performance insights, remarketing capabilities, a mobile-first experience, and integration with Instagram Shopping and Facebook Shops."]},{question:"What types of ads can you run with Meta Ads?",answer:["We support Image Ads, Video Ads, Carousel Ads, Collection Ads, Reels Ads, Stories Ads, Lead Ads, and Dynamic Product Ads."]},{question:"How much is the minimum ad investment for Meta Ads?",answer:["You can technically start with $1/day (Meta's pricing guidelines), but actual results depen
2d on your goals and competition. Fill out our ",{text:"contact form",href:"/contact"}," to receive a tailored recommendation."]},{question:"How will you optimize my Meta Ads campaign?",answer:["We focus on: high-converting creative, split testing, detailed audience targeting, and campaign adjustments based on live data."]},{question:"Are Meta Ads worth it for small and medium-sized businesses?",answer:["Often, yes. We review your offer, audience, and market to see if Meta is a good fit. If it is, we create a strategy that supports your business goals."]},{question:"Do you provide performance reports?",answer:["Yes. We report on reach, impressions, CTR, conversions, and ROAS. You'll get clear insights and recommendations for what to do next."]}],relatedProjectSlugs:[],es:{slug:"gestion-de-meta-ads",title:"Gestión de Meta Ads",seoTitle:"Meta Ads en Miami | Facebook e Instagram",seoDescription:"Crece con el equipo de Meta Ads en Miami. Creamos campañas en Facebook e Instagram que aumentan ventas, tráfico y visibilidad. Pide tu plan gratis.",h1:"Agencia de Anuncios Meta en Miami",heroTagline:"Maximice su retorno en publicidad digital con nuestra gestión experta de Anuncios Meta. Creamos campañas que atraen, convierten y construyen conexiones duraderas con su audiencia.",breadcrumb:Y("Meta Ads","gestion-de-meta-ads"),outcomes:["Alcance segmentado en Facebook e Instagram","Tasas de conversión más altas","Información de rendimiento en tiempo real"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Desarrollo de Estrategia — Comenzamos entendiendo su negocio, audiencia y objetivos. A través de investigación de mercado y análisis competitivo, diseñamos una estrategia de Anuncios Meta adaptada a sus necesidades."],["2. Creación de Campañas — Diseñamos y lanzamos campañas utilizando los creativos y audiencias adecuados para generar resultados que importan."],["3. Optimización de Anuncios — Probamos y refinamos regularmente los elementos creativos, mensajes y segmentación para mejorar el rendimiento y maximizar el alcance."],["4. Reportes y Mejora del Rendimiento — Proporcionamos informes detallados y ajustamos sus campañas basándonos en resultados en tiempo real, mejorando continuamente el ROI."]]},{heading:"Objetivos de Anuncios que Apoyamos",paragraphs:[],list:["Reconocimiento de Marca: Aumente el reconocimiento entre una audiencia más amplia.","Alcance: Maximice la cantidad de personas que ven sus anuncios.","Tráfico: Dirija visitantes a su sitio web o aplicación.","Interacción: Impulse las interacciones con sus publicaciones o página.","Instalaciones de Aplicaciones: Anime a los usuarios a instalar su app móvil.","Visualizaciones de Video: Obtenga más vistas en su contenido de video.","Generación de Leads: Capture clientes potenciales calificados.","Ventas: Impulse compras en línea a través de su plataforma de e-commerce.","Tráfico a Tiendas: Aumente las visitas a sus ubicaciones físicas."]}],faqs:[{question:"1. ¿Cuáles son los beneficios de los Anuncios Meta para negocios?",answer:["Los Anuncios Meta proporcionan alcance altamente segmentado, formatos visuales e interactivos, presupuestos flexibles, información de rendimiento en tiempo real, capacidades de remarketing, experiencia móvil prioritaria e integración con Instagram Shopping y Facebook Shops."]},{question:"2. ¿Qué tipos de anuncios puedo publicar con Anuncios Meta?",answer:["Ofrecemos soporte para Anuncios con imagen, Anuncios en video, Anuncios carrusel, Anuncios de colección, Anuncios en Reels, Anuncios en Stories, Anuncios para generación de leads y Anuncios dinámicos de productos."]},{question:"3. ¿Cuál es la inversión mínima en anuncios que funciona para Meta?",answer:["Técnicamente puede comenzar con $1/día, pero los resultados reales dependen de sus objetivos y competencia. Complete nuestro ",{text:"formulario de contacto",href:"/es/contacto"}," para recibir una recomendación personalizada."]},{question:"4. ¿Cómo optimizan mi campaña de Anuncios Meta?",answer:["Nos enfocamos en creativos de alta conversión, pruebas A/B, segmentación detallada de audiencia y ajustes de campaña basados en datos en vivo."]},{question:"5. ¿Vale la pena usar Anuncios Meta para una pequeña o mediana empresa?",answer:["A menudo, sí. Revisamos 
2su oferta, audiencia y mercado para determinar si Meta es adecuado y creamos una estrategia que apoye sus objetivos."]},{question:"6. ¿Proporcionan informes de rendimiento?",answer:["Sí. Informamos sobre métricas clave como alcance, impresiones, CTR, conversiones y ROAS, con recomendaciones claras sobre los próximos pasos."]}],imageAlt:"Agencia de Anuncios Meta en Miami — Web Design Miami Company"}},{slug:"tik-tok-ads-management",title:"TikTok Ads Management",category:"Growth & Marketing",seoTitle:"TikTok Ads Company in Miami | Go Viral",seoDescription:"Boost your brand with our Miami TikTok ads team. We create scroll-stopping campaigns that drive engagement, sales and growth. Start your TikTok campaign today.",h1:"TikTok Ads Agency Miami",heroTagline:"Connect with your target audience on TikTok through native, creative, and performance-driven content. We build campaigns that increase your visibility, generate authentic engagement, and turn attention into action.",shortDescription:"TikTok ad campaigns that connect with your audience through native, creative, performance-driven content.",painPoints:[],deliverables:[],outcomes:["Gen Z and millennial audience reach","High-engagement video ads","Measurable campaign results"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Strategy Development — We start by understanding your brand personality, business goals, and your ideal audience's behavior on TikTok. We analyze platform trends and competitor performance to build a strategy that feels native and delivers results."],["2. Campaign Creation — We produce vertical, fast-paced videos tailored to TikTok's unique culture, optimized to hook viewers in the first few seconds."],["3. Retention & Ad Optimization — We focus on retaining attention with smart pacing, messaging, and visuals. Our team regularly tests variations and refines based on performance data."],["4. Reporting and Growth Insights — Our reports go beyond numbers. We identify winning creative themes and advise you on scaling successful content while cutting underperformers."]]},{heading:"Ad Objectives We Work With on TikTok",paragraphs:[],list:["Reach: Get your brand seen by as many users as possible.","Traffic: Drive targeted users to your website or landing page.","Video Views: Increase views and watch time on your video content.","Engagement: Spark interactions through likes, shares, and comments.","Lead Generation: Collect leads directly within the TikTok experience.","Conversions: Drive purchases or actions through high-performing campaigns.","App Installs: Promote your mobile app to the right audience at the right time."]}],faqs:[{question:"What are the benefits of advertising on TikTok for my business?",answer:"TikTok delivers high engagement in a video-first format. Its algorithm connects your content with the right users, making it ideal for brand visibility, storytelling, and product promotion."},{question:"Can you help me create the video content for my TikTok ads?",answer:"Absolutely. Content creation is key on TikTok, and we can handle everything from script and concept to production and editing."},{question:"Can I target specific audiences with TikTok Ads?",answer:"Yes. TikTok Ads Manager allows advanced targeting based on interests, behavior, demographics, device type, and more."},{question:"What types of ad formats are available on TikTok?",answer:"TikTok supports In-Feed Ads, Top View Ads, Spark Ads, Branded Hashtag Challenges, Branded Effects, and Carousel Ads."},{question:"How will you optimize my TikTok campaigns for better results?",answer:"We begin with strong creative strategy and audience insights. Once live, we A/B test creatives, track trends, and fine-tune targeting."},{question:"Do you provide performance reports for TikTok Ads campaigns?",answer:"Yes. You'll receive clear reports with performance data including views, engagement, CTR, conversions, and cost per result."}],richFaqs:[{question:"1. What are the benefits of advertising on TikTok?",answer:["TikTok delivers high engagement in a video-first format. Its algorithm connects your content with the right users, making it ideal for brand visibility, storytelling, and product promotion."]}
2,{question:"2. Can you help me create video content for my TikTok ads?",answer:["Absolutely. We can handle everything from script and concept to production and editing, following trends and platform best practices."]},{question:"3. Can I target specific audiences with TikTok Ads?",answer:["Yes. TikTok Ads Manager allows advanced targeting based on interests, behavior, demographics, device type, and more."]},{question:"4. What types of ad formats are available on TikTok?",answer:["TikTok supports In-Feed Ads, Top View Ads, Spark Ads, Branded Hashtag Challenges, Branded Effects, and Carousel Ads."]},{question:"5. How will you optimize my TikTok campaigns?",answer:["We begin with strong creative strategy and audience insights. Once live, we A/B test creatives, track trends, and fine-tune targeting to drive better performance and lower acquisition costs."]},{question:"6. Do you provide performance reports?",answer:["Yes. You'll receive clear reports with data including views, engagement, CTR, conversions, and cost per result."]}],relatedProjectSlugs:[],es:{slug:"gestion-de-tiktok-ads",title:"Gestión de TikTok Ads",seoTitle:"TikTok Ads en Miami | Hazte Viral",seoDescription:"Impulsa tu marca con el equipo de TikTok Ads en Miami. Creamos campañas que detienen el scroll y generan interacción, ventas y crecimiento.",h1:"Agencia de TikTok Ads en Miami",heroTagline:"Conecta con tu audiencia objetivo en TikTok a través de contenido nativo, creativo y orientado al rendimiento. Creamos campañas que aumentan tu visibilidad, generan engagement auténtico y convierten la atención en acción.",breadcrumb:Y("TikTok Ads","gestion-de-tiktok-ads"),outcomes:["Alcance a audiencias Gen Z y millennials","Anuncios de video de alto engagement","Resultados de campaña medibles"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Desarrollo de Estrategia — Comenzamos entendiendo la personalidad de tu marca, objetivos comerciales y el comportamiento de tu audiencia ideal en TikTok. Analizamos tendencias de la plataforma y el rendimiento de la competencia."],["2. Creación de Campañas — Producimos videos verticales y de ritmo rápido adaptados a la cultura única de TikTok, optimizados para captar la atención de los espectadores en los primeros segundos."],["3. Optimización de la Retención y los Anuncios — Nos enfocamos en retener la atención con ritmo inteligente, mensajes y visuales. Nuestro equipo prueba variaciones regularmente y refina según los datos de rendimiento."],["4. Reportes e Insights de Crecimiento — Nuestros reportes van más allá de los números. Identificamos temas creativos ganadores y te asesoramos sobre cómo escalar el contenido exitoso y eliminar el que no funciona."]]},{heading:"Objetivos de Anuncios en TikTok",paragraphs:[],list:["Alcance: Haz que tu marca sea vista por la mayor cantidad de usuarios posible.","Tráfico: Dirige usuarios específicos a tu sitio web o página de destino.","Visualizaciones de Video: Aumenta las vistas y el tiempo de visualización de tu contenido.","Engagement: Genera interacciones mediante likes, compartidos y comentarios.","Generación de Leads: Recopila leads directamente dentro de la experiencia de TikTok.","Conversiones: Impulsa compras o acciones a través de campañas de alto rendimiento.","Instalaciones de Apps: Promociona tu app móvil a la audiencia correcta en el momento adecuado."]}],faqs:[{question:"1. ¿Cuáles son los beneficios de publicitar en TikTok?",answer:["TikTok ofrece alto engagement en un formato de video primero. Su algoritmo conecta tu contenido con los usuarios correctos, siendo ideal para visibilidad de marca, storytelling y promoción de productos."]},{question:"2. ¿Pueden ayudarme a crear contenido de video para mis anuncios de TikTok?",answer:["Por supuesto. Podemos encargarnos de todo, desde el guion y concepto hasta la producción y edición, siguiendo las tendencias y mejores prácticas de la plataforma."]},{question:"3. ¿Puedo dirigirme a audiencias específicas con TikTok Ads?",answer:["Sí. El Administrador de Anuncios de TikTok permite segmentación avanzada basada en intereses, comportamiento, demografía, tipo de dispositivo y más."]},{question:"4. ¿Qué tipos de formatos de anuncios están disponibles en TikTok?",answer:["TikTok admite Anuncios In-Feed, Top View, Spark Ads, Retos de Hashtag de Marca, Efectos de Marc
2a y Anuncios Carrusel."]},{question:"5. ¿Cómo optimizarán mis campañas de TikTok?",answer:["Comenzamos con una estrategia creativa sólida e insights de audiencia. Una vez activos, hacemos pruebas A/B, rastreamos tendencias y ajustamos la segmentación para mejorar el rendimiento."]},{question:"6. ¿Proporcionan reportes de rendimiento para las campañas de TikTok Ads?",answer:["Sí. Recibirás reportes claros con datos que incluyen vistas, engagement, CTR, conversiones y costo por resultado."]}],imageAlt:"Agencia de TikTok Ads en Miami — Web Design Miami Company"}},{slug:"email-marketing",title:"Email Marketing",category:"Growth & Marketing",seoTitle:"Email Marketing Services in Miami | Grow Sales",seoDescription:"Miami email marketing that boosts engagement, drives sales and builds loyalty. Automated flows and campaigns that turn subscribers into buyers.",h1:"Email Marketing Service",heroTagline:"Build long-term relationships, increase upsells and cross-sells, and stay top of mind with your audience through strategic and personalized email marketing. Our campaigns go beyond basic promotions, focusing on connection, conversion, and customer retention.",shortDescription:"Strategic, personalized email marketing that builds relationships, drives sales, and retains customers.",painPoints:[],deliverables:[],outcomes:["Increased customer retention","High-ROI email campaigns","Data-driven optimization"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Strategy & List Segmentation — We begin by learning about your business and audience. Then we segment your email list based on behavior, interests, and lifecycle stage so you can send the right message to the right people."],["2. Content Planning & Automation Setup — We develop content calendars and automation flows aligned with your business goals. Whether it's nurturing leads, onboarding new customers, or recovering abandoned carts."],["3. Email Design & Copywriting — We create high-performing emails with compelling subject lines, persuasive copy, and mobile-first designs that drive clicks and conversions."],["4. Testing & Optimization — Through A/B testing and data analysis, we refine send times, content types, and messaging to increase open rates, click-through rates, and overall performance."],["5. Reporting & Growth Opportunities — We monitor performance, provide actionable insights, and regularly refine the strategy to support long-term growth."]]},{heading:"Benefits of Email Marketing for Your Brand",paragraphs:[],list:["Customer Retention: Keep your brand relevant with consistent and valuable communication.","Lead Nurturing: Guide prospects through the buyer journey until they're ready to convert.","Remarketing: Re-engage inactive users or recover abandoned carts with personalized content.","Upselling & Cross-selling: Promote relevant products or services to increase average order value.","Data Ownership: Maintain direct access to your audience without relying on paid platforms.","High ROI: One of the most cost-effective channels for long-term growth."]}],faqs:[{question:"What is email marketing?",answer:"Email marketing is a digital strategy that uses email to engage your audience, promote products or services, and build lasting customer relationships. It's measurable, cost-effective, and ideal for increasing engagement and conversions."},{question:"How can email marketing help my business grow?",answer:"We execute strategic email campaigns designed to promote your products or services, retain existing customers, and re-engage past buyers — delivering personalized content that drives traffic, loyalty, and conversions."},{question:"What is needed to do email marketing correctly?",answer:"Define your goal, segment your audience, share valuable content, write compelling subject lines, focus on strong visual design, include clear calls to action, and track and analyze results."},{question:"How do you measure the success of an email marketing campaign?",answer:"We analyze key metrics like open rates, click-through rates, conversions, and unsubscribes to improve future campaigns and drive real business outcomes."}],richFaqs:[{question:"1. What is email marketing?",answer:["Email marketing is a digital strategy that uses email to engage your audience, promote products or services, and build lasting customer relationships. It's measurable, cost-effective, and ideal for increasing engagement and conversions."]},{question:"2. How can email marketing help my business grow?",answer:["At Web Design Miami Company, we execute strategic email campaigns designed to promote your products or services, retain existing customers, and re-engage past buyers — increasing brand loyalty, driving traffic, and boosting conversions."]},{question:"3. What is needed to do email marketing correctly?",answer:["Define your goal · Segment your audience · Share valuable content · Write compelling subject lines · Focus on strong visual design · Include clear calls to action · Track and analyze results."]},{question:"4. How do you measure the success of an email campaign?",answer:["We analyze key metrics like open rates, click-through rates, conversions, and unsubscribes at Web Design Miami Company to improve future campaigns and drive real business outcomes."]}],relatedProjectSlugs:[],es:{slug:"email-marketing",title:"Servicio de Email Marketing",seoTitle:"Email Marketing en Miami | Aumenta Ventas",seoDescription:"Email marketing en Miami que aumenta la interacción, impulsa ventas y fideliza. Flujos automatizados y campañas que convierten suscriptores en clientes.",h1:"Servicio de Email Marketing",heroTagline:"Construya relaciones a largo plazo, aumente las ventas adicionales y cruzadas, y manténgase presente en la mente de su audiencia mediante un email marketing estratég
2ico y personalizado.",breadcrumb:Y("Email Marketing","email-marketing"),outcomes:["Mayor retención de clientes","Campañas de email de alto ROI","Optimización basada en datos"],bodySections:[{heading:"Cómo lo Hacemos",paragraphs:[["1. Estrategia y Segmentación de Listas — Comenzamos conociendo su negocio y su audiencia. Luego segmentamos su lista de correos según comportamiento, intereses y etapa del ciclo de vida."],["2. Planificación de Contenidos y Configuración de Automatización — Desarrollamos calendarios de contenido y flujos de automatización alineados con sus objetivos comerciales."],["3. Diseño de Emails y Redacción — Creamos emails de alto rendimiento con líneas de asunto atractivas, textos persuasivos y diseños prioritarios para dispositivos móviles."],["4. Pruebas y Optimización — Mediante pruebas A/B y análisis de datos, refinamos los horarios de envío, tipos de contenido y mensajes para aumentar las tasas de apertura y clics."],["5. Reportes y Oportunidades de Crecimiento — Monitoreamos el desempeño, ofrecemos insights accionables y ajustamos la estrategia regularmente para apoyar el crecimiento a largo plazo."]]},{heading:"Beneficios del Email Marketing para su Marca",paragraphs:[],list:["Retención de Clientes: Mantenga su marca relevante con una comunicación constante y valiosa.","Nutrición de Leads: Guíe a los prospectos a lo largo del proceso de compra hasta que estén listos para convertir.","Remarketing: Reenganche usuarios inactivos o recupere carritos abandonados con contenido personalizado.","Upselling y Cross-selling: Promueva productos o servicios relevantes para aumentar el valor promedio de la compra.","Propiedad de Datos: Mantenga acceso directo a su audiencia sin depender de plataformas pagas.","Alto Retorno de Inversión: Uno de los canales más rentables para el crecimiento a largo plazo."]}],faqs:[{question:"¿Qué es el email marketing?",answer:["El email marketing es una estrategia digital que utiliza el correo electrónico para involucrar a su audiencia, promocionar productos o servicios y construir relaciones duraderas con los clientes."]},{question:"¿Cómo puede el email marketing ayudar a crecer mi negocio?",answer:["Ejecutamos campañas estratégicas de email marketing diseñadas para promocionar sus productos, retener clientes existentes y reactivar compradores anteriores, aumentando la lealtad a la marca e impulsando conversiones."]},{question:"¿Qué se necesita para hacer email marketing correctamente?",answer:["Definir su objetivo · Segmentar su audiencia · Compartir contenido valioso · Escribir líneas de asunto atractivas · Enfocarse en un diseño visual fuerte · Incluir llamadas a la acción claras · Rastrear y analizar resultados."]},{question:"¿Cómo se mide el éxito de una campaña de email marketing?",answer:["Analizamos métricas clave como tasas de apertura, clics, conversiones y bajas de suscripción para mejorar campañas futuras y generar resultados reales."]}],imageAlt:"Servicio de email marketing en Miami — Web Design Miami Company"}},{slug:"sms-marketing",title:"SMS Marketing",category:"Growth & Marketing",seoTitle:"SMS Marketing in Miami | 99% Open Rate",seoDescription:"Over 99% of texts get opened. Our Miami SMS marketing reaches customers instantly to boost engagement, repeat sales and revenue. Start today.",h1:"SMS Marketing Agency for E-commerce Brands",heroTagline:"SMS marketing is one of the most direct and effective ways to drive action, boost sales, and build strong customer relationships. We develop personalized, conversational strategies that engage your audience and deliver measurable results.",shortDescription:"Direct SMS marketing strategies that drive action, boost sales, and build strong customer relationships.",painPoints:[],deliverables:[],outcomes:["99%+ open rate channel","Direct customer engagement","Automated revenue recovery"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Strategy & Planning — We define your campaign goals and align them with your growth and retention strategy. Then we develop a sending c
2alendar that includes promotions, automated flows, and value-driven messaging."],["2. Automated Flows & Management — We build and optimize automated SMS flows for each stage of the customer journey: welcome sequences, cart recovery, post-purchase messages, win-back campaigns, and more."],["3. Copywriting & Message Design — We write short, persuasive messages in your brand voice. Smart use of words and emojis grabs attention and encourages action."],["4. Segmentation & Delivery — We segment your list based on behavior and preferences so each message reaches the right person at the right moment."],["5. Analysis & Optimization — We monitor campaign performance, identify trends, and make adjustments that improve click-through rates, conversions, and ROI."]]},{heading:"What Our SMS Marketing Service Includes",paragraphs:[],list:["Campaign strategy and sending calendar","Automated flows for every stage of the funnel","Persuasive copywriting and message design","Advanced segmentation and personalization","Performance reports and ongoing optimization","List growth with popups and landing pages"]}],faqs:[{question:"What is the cost of an SMS marketing campaign?",answer:"Pricing depends on the audience size and your business goals. We'll recommend the best plan during a consultation."},{question:"What is SMS marketing?",answer:"SMS marketing uses text messages to send promotions, updates, or reminders straight to customers' phones. It's fast, direct, and ideal for immediate engagement with high open rates."},{question:"How can SMS marketing help my business grow?",answer:"SMS marketing delivers instant, personalized messages that drive engagement, increase customer retention, and boost sales. It's ideal for time-sensitive offers, reminders, and building direct connections with your audience."},{question:"How do you measure the success of an SMS marketing campaign?",answer:"We track delivery, open rates, click-throughs, responses, and conversions to improve future campaigns and deliver consistent returns."}],richFaqs:[{question:"1. What is the cost of an SMS marketing campaign?",answer:["Pricing depends on the audience size and your business goals. We'll recommend the best plan during a consultation."]},{question:"2. What is SMS marketing?",answer:["SMS marketing uses text messages to send promotions, updates, or reminders straight to customers' phones. It's fast, direct, and ideal for immediate engagement. Well-executed campaigns offer high open rates, direct communication, real-time engagement, and strong conversion potential."]},{question:"3. How can SMS marketing help my business grow?",answer:["SMS marketing helps your business grow by delivering instant, personalized messages that drive engagement, increase customer retention, and boost sales. Ideal for time-sensitive offers, reminders, and direct audience connection."]},{question:"4. How do you measure the success of an SMS campaign?",answer:["At Web Design Miami Company, we track delivery, open rates, click-throughs, responses, and conversions. This data helps us improve future campaigns and deliver consistent returns."]}],relatedProjectSlugs:[],es:{slug:"marketing-por-sms",title:"Marketing por SMS",seoTitle:"Marketing por SMS en Miami | 99% de Apertura",seoDescription:"Más del 99% de los SMS se abren. Nuestro marketing por SMS en Miami llega al instante para aumentar interacción, ventas recurrentes e ingresos.",h1:"Agencia de marketing SMS para marcas de comercio electrónico",heroTagline:"El marketing por SMS es una de las formas más directas y efectivas de impulsar la acción, impulsar las ventas y fortalecer las relaciones con los clientes. Desarrollamos estrategias personalizadas y conversacionales que conectan con tu audiencia y ofrecen resultados medibles.",breadcrumb:Y("Marketing por SMS","marketing-por-sms"),outcomes:["Canal con más del 99% de apertura","Engagement directo con clientes","Recuperación automatizada de ingresos"],bodySections:[{heading:"Cómo lo Hacemos",paragraphs:[["1. Estrategia y Planificación — Definimos los objetivos de su campaña y los alineamos con su estrategia de crecimiento y retención. Desarrollamos un calendario de envíos que incluye promociones, flujos automatizados y mensajes de valor añadido."],["2. Flujos Automatizados y Gestión — Creamos y optimizamos flujos de SMS automatizados para cada etapa del recorrido del cliente: secuencias de bienvenida, recuperación del carrito, mensajes post-compra y campañas de recuperación."],["3. Redacción y Diseño de Mensajes — Redactamos mensajes breves y persuasivos con el tono de su marca. El uso inteligente de palabras y emojis capta la atención e incita a la acción."],["4. Segmentación y Entrega — Segmentamos su lista según su comportamiento y preferencias para que c
2ada mensaje llegue a la persona adecuada en el momento oportuno."],["5. Análisis y Optimización — Monitoreamos el rendimiento de la campaña, identificamos tendencias y realizamos ajustes que mejoran las tasas de clics, las conversiones y el ROI."]]},{heading:"Qué Incluye Nuestro Servicio de Marketing por SMS",paragraphs:[],list:["Estrategia de campaña y calendario de envíos","Flujos automatizados para cada etapa del embudo de conversión","Redacción y diseño de mensajes persuasivos","Segmentación y personalización avanzadas","Informes de rendimiento y optimización continua","Aumento de la lista de suscriptores con ventanas emergentes y landing pages"]}],faqs:[{question:"1. ¿Cuál es el coste de una campaña de marketing por SMS?",answer:["El precio depende del tamaño de la audiencia y de los objetivos de tu negocio. Te recomendaremos el mejor plan durante una consulta."]},{question:"2. ¿Qué es el marketing por SMS?",answer:["El marketing por SMS utiliza mensajes de texto para enviar promociones, actualizaciones o recordatorios directamente a los teléfonos de los clientes. Es rápido, directo e ideal para una interacción inmediata con altas tasas de apertura, comunicación directa y gran potencial de conversión."]},{question:"3. ¿Cómo puede el marketing por SMS ayudar a que mi negocio crezca?",answer:["El marketing por SMS impulsa el crecimiento de tu negocio al enviar mensajes instantáneos y personalizados que impulsan la interacción, aumentan la retención de clientes e impulsan las ventas."]},{question:"4. ¿Cómo se mide el éxito de una campaña de marketing por SMS?",answer:["En Web Design Miami Company, monitoreamos la entrega, las tasas de apertura, los clics, las respuestas y las conversiones para mejorar futuras campañas y obtener resultados consistentes."]}],imageAlt:"Agencia de marketing por SMS en Miami — Web Design Miami Company"}},{slug:"conversion-rate-optimization",title:"Conversion Rate Optimization",category:"Growth & Marketing",seoTitle:"CRO Services in Miami | Boost Conversions",seoDescription:"Turn more Miami visitors into customers with data-driven conversion rate optimization. We test, refine and grow revenue from the traffic you have.",h1:"Boost Your Conversion Rates with Expert CRO Services",heroTagline:"Driving traffic is important, but converting that traffic is essential. Our CRO service helps turn more of your visitors into customers by using data-driven strategies, smart design updates, and behavioral insights.",shortDescription:"CRO service that turns more visitors into customers using data-driven strategies and behavioral insights.",painPoints:[],deliverables:[],outcomes:["More sales from existing traffic","Reduced bounce rates","Data-backed UX improvements"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Audit & Goal Setting — We begin with a full audit of your website or landing pages to find friction points and missed opportunities. Then we define specific goals based on your business objectives."],["2. User Behavior Analysis — We use tools like heatmaps, session recordings, and funnel tracking to understand how users interact with your site and where they drop off."],["3. A/B Testing & Hypothesis Building — We develop hypotheses and run tests to compare layouts, messages, calls to action, and page designs so we know what actually works."],["4. Design & UX Enhancements — With results in hand, we implement design and UX updates that improve trust, streamline the user journey, and guide more visitors to take action."],["5. Reporting & Iteration — CRO is a continuous process. We track results, measure performance over time, and continue testing and refining to maximize your website's revenue potential."]]},{heading:"Why CRO Matters",paragraphs:[],list:["Boost sales without increasing ad spend","Improve return across all marketing channels","Increase revenue from existing traffic","Reduce bounce rates and increase time on site","Understand what drives user action"]}],faqs:[{question:"What is Conversion Rate Optimization (CRO)?",answer:"CRO is the process of increasing the percentage of visitors who take action on your site — whether that's making a purchase, signing up, or submitting a form."},{question:"How do I know if my website needs CRO services?",answer:"If you have traffic but low conversions, high bounce rates, or users who aren't completing key actions, CRO can help identify and fix the friction points."},{question:"How do you improve my store's conversion rates?",answer:"We use a combination of user behavior analysis, A/B testing, design improvements, and UX enhancements based on real data — not guesswork."},{question:"What's the difference between CRO and SEO?",answer:"SEO brings more visitors to your site. CRO converts more of those visitors into customers. Both work best together as part of a complete digital strategy."}],richFaqs:[{question:"1. What is Conversion Rate Optimization (CRO)?",answer:["CRO is the process of increasing the percentage of visitors who take action on your site — whether that's making a purchase, signing up, or submitting a form."]},{question:"2. How do I know if my website needs CRO services?",answer:["If you have traffic but low conversions, high bounce rates, or users who aren't completing key actions, CRO can help identify and fix the friction points holding your site back."]},{question:"3. How do you improve my store's conversion rates?",answer:["We use a combination of user behavior analysis, A/B testing, design improvements, and UX enhancements based on real data — not guesswork."]},{question:"4. What's the difference between CRO and SEO?",answer:["SEO brings more visitors to your site. CRO converts more of those visitors into customers. Both work best together as part of a complete digital strategy."]}],relatedProjectSlugs:[],es:{slug:"optimizacion-de-tasa-de-conversion",title:"Optimización de Tasa de Conversión",seoTitle:"Optimización de Conversión (CRO) en Miami",seoDescription:"Convierte más visitantes en clientes con optimización de conversión en Miami. Probamos, ajustamos y aumentamos los ingresos del tráfico que ya tienes.",h1:"Servicio de Optimización de la Tasa de Conversión (CRO) en Miami",heroTagline:"Generar tráfico es importante, pero convert
2ir ese tráfico es esencial. Nuestro servicio de CRO ayuda a transformar a más visitantes en clientes mediante estrategias basadas en datos, actualizaciones inteligentes de diseño y análisis del comportamiento.",breadcrumb:Y("Optimización de Tasa de Conversión","optimizacion-de-tasa-de-conversion"),outcomes:["Más ventas del tráfico existente","Reducción de tasas de rebote","Mejoras de UX basadas en datos"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Auditoría y Definición de Objetivos — Comenzamos con una auditoría completa de su sitio web o páginas de destino para identificar puntos de fricción y oportunidades desaprovechadas."],["2. Análisis del Comportamiento del Usuario — Utilizamos herramientas como mapas de calor, grabaciones de sesiones y seguimiento de embudos para entender cómo interactúan los usuarios con su sitio."],["3. Pruebas A/B y Formulación de Hipótesis — Desarrollamos hipótesis y realizamos pruebas para comparar diseños, mensajes, llamadas a la acción y estructuras de página."],["4. Mejoras en Diseño y Experiencia de Usuario (UX) — Con los resultados en mano, implementamos actualizaciones de diseño y UX que aumentan la confianza y guían a más visitantes a tomar acción."],["5. Reportes e Iteración — La CRO es un proceso continuo. Seguimos los resultados, medimos el rendimiento a lo largo del tiempo y continuamos probando y refinando."]]},{heading:"Por Qué la Optimización de la Tasa de Conversión es Importante",paragraphs:[],list:["Incrementa las ventas sin aumentar el gasto en publicidad","Mejora el retorno en todos los canales de marketing","Aumenta los ingresos a partir del tráfico existente","Reduce las tasas de rebote y aumenta el tiempo en el sitio","Permite entender qué impulsa la acción del usuario"]}],faqs:[{question:"1. ¿Qué es la Optimización de la Tasa de Conversión (CRO)?",answer:["La CRO es el proceso de aumentar el porcentaje de visitantes que realizan una acción en su sitio, ya sea realizar una compra, registrarse o enviar un formulario."]},{question:"2. ¿Cómo sé si mi sitio web necesita servicios de CRO?",answer:["Si tiene tráfico pero pocas conversiones, tasas de rebote altas o usuarios que no completan acciones clave, la CRO puede ayudar a identificar y corregir los puntos de fricción."]},{question:"3. ¿Cómo mejoran las tasas de conversión de mi tienda?",answer:["Usamos una combinación de análisis del comportamiento del usuario, pruebas A/B, mejoras de diseño y mejoras de UX basadas en datos reales, no en suposiciones."]},{question:"4. ¿Cuál es la diferencia entre CRO y SEO?",answer:["El SEO trae más visitantes a su sitio. La CRO convierte a más de esos visitantes en clientes. Ambos funcionan mejor juntos como parte de una estrategia digital completa."]}],imageAlt:"Servicio de optimización de tasa de conversión en Miami — Web Design Miami Company"}},{slug:"logo-design",title:"Logo Design",category:"Brand & Identity",seoTitle:"Logo Design in Miami | Web Design Miami Company",seoDescription:"Custom Miami logo design that builds recognition and communicates your values. Timeless, versatile marks aligned with your brand and goals.",h1:"Custom Logo Design for Strong, Memorable Brands",heroTagline:"A great logo builds recognition, communicates your values, and shapes how people perceive your business. We help define your brand from the ground up, starting with a logo that's timeless, versatile, and aligned with your goals.",shortDescription:"Custom logo design that builds recognition, communicates your values, and creates a timeless visual identity.",painPoints:[],deliverables:[],outcomes:["Timeless, versatile logo","Full file package for all uses","Brand style guide included"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Brand Discovery — We start by learning about your business, values, audience, and industry. This foundational phase helps us understand the core of your brand and the visual direction it requires."],["2. Concept Creation — Using our research, we design several logo concepts that express your brand's personality. These explore different styles, typography, and symbolism."],["3. Feedback & Refinement — You review the initial concepts and share your feedback. We refine the chosen direction by adjusting color, spacing, and proportions until everything aligns perfectly."],["4. Final Delivery — After approval, we prepare your final logo files, optimized for both print and digital use. Your new logo will be ready to represent your brand across every platform."]]},{heading:"What's Included in Your Logo Package",paragraphs:[],list:["Primary logo design (full version)","Secondary logo (horizontal or stacked variation)","Icon or logomark version","Color and black/white versions","Typography and color palette recommendations","Files for print (PDF, EPS) and digital use (PNG, JPG, SVG)","Logo usage guidelines"]}],faqs:[{question:"Is it worth paying for a logo design?",answer:"Absolutely. A professional logo helps you stand out in a competitive market like Miami. We create logos that set you apart, strengthen your branding, and elevate how your business is perceived."},{question:"What does a logo package include?",answer:"Our package includes: brand identity study, target audience research, initial design proposals, revisions, logo variations (horizontal, vertical, monochrome), a brand style guide, and final files in various formats (PNG, JPG, EPS, PDF)."},{question:"Does the logo design include files adapted for my website?",answer:"Yes. Your logo will be adapted for optimal display across mobile, desktop, and tablet devices."},{question:"What are the 4 things to be considered in designing a logo?",answer:"Simplicity — easy to recognize. Versatility — works across different media. Memorability — leaves a lasting impression. Relevance — reflects your industry and appeals to your target audience."}],richFaqs:[{question:"1. Is it worth paying for a logo design?",answer:["Absolutely. A professional logo helps you stand out in a competitive market like Miami. At Web Design Miami Company, we create logos that not only set you apart but also strengthen your branding and elevate how your business is perceived."]},{question:"2. What does a logo package include?",answer:["Our package includes: Brand Identity Study, Target Audience Research, Initial Design Proposals, Revisions, Logo Variations (horizontal, vertical, monochrome), Brand Style Guide with color specifications and typography, and Final Files in PNG, JPG, EPS, and PDF formats."]},{question:"3. Does the logo design include files adapted for my website?",answer:["Yes. Your logo will be adapted for optimal display across mobile, desktop, and tablet devices. We design with digital applications in mind."]},{question:"4. What are the 4 things to consider in designing a logo?",answer:["Simplicity – easy to recognize and visually clear. Versatility – works across different media and formats. Memorability – leaves a lasting impression. Relevance – reflects your industry and appeals to your target audience."]}],relatedProjectSlugs:[],es:{slug:"diseno-de-logotipos",title:"Diseño de Logotipos",seoTitle:"Diseño de Logotipos en Miami | Marcas con Fuerza",seoDescription:"Diseño de logotipos en Miami que genera reconocimiento y comunica tus valores. Marcas atemporales y versátiles, alineadas con tus objetivos.",h1:"Diseño de Logotipos Personalizados para Marcas Fuertes y Memorables",heroTagline:"Un gran logotipo genera reconocimiento, comunica tus valores y moldea cómo las personas perciben tu negocio. Te ayudamos a definir tu mar
2ca desde cero, comenzando con un logotipo atemporal, versátil y alineado con tus objetivos.",breadcrumb:Y("Diseño de Logotipos","diseno-de-logotipos"),outcomes:["Logotipo atemporal y versátil","Paquete completo de archivos","Guía de estilo de marca incluida"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Descubrimiento de Marca — Comenzamos conociendo tu negocio, valores, audiencia e industria. Esta fase fundamental nos ayuda a entender el núcleo de tu marca y la dirección visual que requiere."],["2. Creación de Conceptos — Con base en nuestra investigación, diseñamos varios conceptos de logotipo que expresan la personalidad de tu marca, explorando diferentes estilos, tipografías y simbolismos."],["3. Retroalimentación y Refinamiento — Revisas los conceptos iniciales y compartes tus comentarios. Refinamos la dirección elegida ajustando color, espaciado y proporciones hasta que todo esté perfectamente alineado."],["4. Entrega Final — Tras la aprobación, preparamos los archivos finales de tu logotipo, optimizados para uso tanto en impresión como digital. Tu nuevo logotipo estará listo para representar tu marca en todas las plataformas."]]},{heading:"Qué Incluye Tu Paquete de Logotipo",paragraphs:[],list:["Diseño de logotipo primario (versión completa)","Logotipo secundario (variación horizontal o apilada)","Versión de ícono o imagotipo","Versiones en color y blanco/negro","Recomendaciones de tipografía y paleta de colores","Archivos para impresión (PDF, EPS) y uso digital (PNG, JPG, SVG)","Guías de uso del logotipo"]}],faqs:[{question:"1. ¿Vale la pena pagar por un diseño de logotipo?",answer:["Por supuesto. Un logotipo profesional te ayuda a destacarte en un mercado competitivo como Miami. Creamos logotipos que te diferencian, fortalecen tu marca y elevan la percepción de tu negocio."]},{question:"2. ¿Qué incluye un paquete de logotipo?",answer:["Nuestro paquete incluye: Estudio de Identidad de Marca, Investigación de Audiencia, Propuestas de Diseño Iniciales, Revisiones, Variaciones de Logotipo, Guía de Estilo de Marca y Archivos Finales en PNG, JPG, EPS y PDF."]},{question:"3. ¿El diseño de logotipo incluye archivos adaptados para mi sitio web?",answer:["Sí. Tu logotipo será adaptado para una visualización óptima en dispositivos móviles, de escritorio y tabletas."]},{question:"4. ¿Cuáles son las 4 cosas a considerar al diseñar un logotipo?",answer:["Simplicidad — fácil de reconocer y visualmente claro. Versatilidad — funciona en diferentes medios y formatos. Memorabilidad — deja una impresión duradera. Relevancia — refleja tu industria y atrae a tu audiencia objetivo."]}],imageAlt:"Diseño de logotipos personalizados en Miami — Web Design Miami Company"}},{slug:"brand-identity",title:"Brand Identity",category:"Brand & Identity",seoTitle:"Brand Identity Design in Miami | Stand Out",seoDescription:"Build a cohesive brand identity in Miami that sets you apart, communicates your values and makes a lasting impression across every touchpoint.",h1:"Brand Identity Design for Bold, Strategic Businesses",heroTagline:"A brand is more than a logo. It's how y
2our business looks, speaks, and makes people feel. We build complete brand systems — from strategy and naming to visual identity and voice — designed to stand out and stay consistent.",shortDescription:"Complete brand identity systems from strategy and visual identity to brand voice and guidelines.",painPoints:[],deliverables:[],outcomes:["Cohesive visual brand system","Strategic brand narrative","Guidelines for every platform"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Brand Strategy & Positioning — We start with deep conversations to understand your goals, values, and audience. We research your market and competitors to identify a strategic positioning and define your brand voice."],["2. Audience & Market Insight — We study the behaviors, challenges, and preferences of your ideal customer. This helps us develop a brand that speaks directly to your audience in meaningful ways."],["3. Visual Identity Development — Based on our strategy and insights, we create a visual system including logo, typography, color palette, and imagery that captures your brand's personality and vision."],["4. Brand Story & Messaging — We craft a compelling brand story and establish a tone of voice that communicates your purpose and values. This narrative becomes the foundation for all future communication."],["5. Brand Guidelines & Delivery — All brand elements are finalized and delivered in a brand guidelines document to maintain consistency across every platform, channel, and team."]]},{heading:"What's Included in Your Brand Identity Package",paragraphs:[],list:["Logo suite (primary, secondary, icon)","Brand color palette","Typography system","Visual direction (imagery, textures, icon style)","Brand story and positioning statement","Tone of voice guidelines","Brand usage manual (PDF format)","Files for print and digital applications"]}],faqs:[{question:"How do you approach brand strategy for new businesses?",answer:"We take a research-driven strategic approach including market and competitor research to find positioning opportunities, visual identity development with cohesive elements, and guidelines and narrative to ensure consistency and impact."},{question:"Can you rebrand an existing brand or create a completely new identity?",answer:"Yes. Whether you need a complete rebrand or a new identity, we adapt our approach to your specific needs."},{question:"How do you ensure my brand will connect with my target audience?",answer:"We take time to understand your audience through research and analysis — market and customer insights, narrative and tone that connect emotionally, and design psychology to inspire trust, recognition, and loyalty."},{question:"How do you handle confidentiality and intellectual property?",answer:"We take confidentiality very seriously. Your ideas are protected throughout the process and all intellectual property remains secure."}],richFaqs:[{question:"1. How do you approach brand strategy for new businesses?",answer:["We take a research-driven approach: Market and Competitor Research to find positioning opportunities, Visual Identity Development with cohesive elements, and Brand Guidelines and Narrative to ensure consistency and impact."]},{question:"2. Can you rebrand an existing brand or create a completely new identity?",answer:["Yes. Whether you need a complete rebrand or a brand new identity, we adapt the approach according to your specific needs."]},{question:"3. How do you ensure my brand will connect with my target audience?",answer:["We take time to understand your audience through research and analysis — market and customer insights, narrative and tone that connect emotionally, and design psychology to inspire trust, recognition, and loyalty."]},{question:"4. How do you handle confidentiality and intellectual property?",answer:["We take confidentiality very seriously. Your ideas are protected throughout the entire process and all intellectual property remains secure."]}],relatedProjectSlugs:[],es:{slug:"identidad-de-la-marca",title:"Identidad de Marca",seoTitle:"Identidad de Marc
2a en Miami | Destaca",seoDescription:"Creamos una identidad de marca en Miami coherente que te diferencia, comunica tus valores y deja huella en cada punto de contacto con tu cliente.",h1:"Diseño de Identidad de Marca para Empresas Audaces y Estratégicas",heroTagline:"Una marca es más que un logotipo. Es cómo se ve, habla y hace sentir a las personas sobre su negocio. Construimos sistemas de marca completos — desde estrategia hasta identidad visual y voz — diseñados para destacar y ser consistentes.",breadcrumb:Y("Identidad de Marca","identidad-de-la-marca"),outcomes:["Sistema visual de marca cohesivo","Narrativa de marca estratégica","Guías para cada plataforma"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Estrategia y Posicionamiento de Marca — Comenzamos con conversaciones profundas para entender tus metas, valores y audiencia. Investigamos tu mercado y competidores para identificar un posicionamiento estratégico y definir la voz de tu marca."],["2. Conocimiento del Público y del Mercado — Estudiamos los comportamientos, desafíos y preferencias de tu cliente ideal. Esto nos ayuda a desarrollar una marca que hable directamente a tu audiencia de manera significativa."],["3. Desarrollo de Identidad Visual — Con base en nuestra estrategia y conocimientos, creamos un sistema visual que incluye logo, tipografía, paleta de colores e imágenes que capturan la personalidad y visión de tu marca."],["4. Historia y Mensaje de Marca — Redactamos una historia de marca atractiva y establecemos un tono de voz que comunique tu propósito y valores. Esta narrativa se convierte en la base para toda comunicación futura."],["5. Guías de Marca y Entrega — Todos los elementos de la marca se finalizan y entregan en un documento de guías de marca para mantener la coherencia en cada plataforma, canal y equipo."]]},{heading:"Qué Incluye Tu Paquete de Identidad de Marca",paragraphs:[],list:["Conjunto de logos (primario, secundario, ícono)","Paleta de colores de la marca","Sistema tipográfico","Dirección visual (imágenes, texturas, estilo de íconos)","Historia de marca y declaración de posicionamiento","Guías de tono de voz","Manual de uso de la marca (formato PDF)","Archivos para aplicaciones impresas y digitales"]}],faqs:[{question:"¿Cómo abordan la estrategia de marca para negocios nuevos?",answer:["Adoptamos un enfoque estratégico basado en investigación: Investigación de Mercado y Competencia para encontrar oportunidades de posicionamiento, Desarrollo de Identidad Visual con elementos coherentes, y Guías y Narrativa para garantizar consistencia e impacto."]},{question:"¿Pueden renovar una marca existente o crear una identidad completamente nueva?",answer:["Sí. Ya sea que necesites un rebranding completo o una identidad nueva, adaptamos el enfoque según tus necesidades específicas."]},{question:"¿Cómo garantizan que mi marca conectará con mi público objetivo?",answer:["Nos tomamos el tiempo para entender a tu audiencia mediante investigación y análisis: conocimiento del mercado y clientes, narrativa y tono que conecte a nivel emocional, y psicología del diseño para inspirar confianza, reconocimiento y lealtad."]},{question:"¿Cómo manejan la confidencialidad y la propiedad intelectual?",answer:["Tomamos la confidencialidad muy en serio. Tus ideas están protegidas durante todo el proceso y toda la propiedad intelectual permanece segura."]}],imageAlt:"Diseño de identidad de marca en Miami — Web Design Miami Company"}},{slug:"photography",title:"Photography",category:"Content & Creative",seoTitle:"Photography Services in Miami | Brand & Ads",seoDescription:"Professional Miami photography for ads, social media and brand marketing. Visuals that make your campaigns stop the scroll and convert. Book a session now.",h1:"Professional Photography for Brands and Businesses",heroTagline:"Great photography doesn't just capture a moment, it tells your brand's story. We produce high quality, visually compelling images that elevate your brand, connect with your audience, and support your marketing across digital and print platforms.",shortDe
2scription:"Professional photography that captures your brand story and elevates your marketing across digital and print platforms.",painPoints:[],deliverables:[],outcomes:["Professional brand imagery","Fast 5–10 day delivery","Commercial usage rights included"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Concept & Planning — We work with you to understand the vision and goals for your photoshoot, selecting the right style, location, and subject matter to bring your brand to life visually."],["2. Shoot Day — Our professional photographers capture high-quality images with attention to detail, ensuring they reflect your brand's identity and tone across all visual assets."],["3. Post-Production — We professionally edit and enhance the selected images — adjusting color, lighting, and composition — to deliver polished visuals ready for marketing use."],["4. Delivery & Use — Final images are provided in the formats you need, optimized for web, social media, and print, with fast turnaround times so you can move forward with your campaigns."]]},{heading:"Photography Services We Offer",paragraphs:[],list:["Product photography for e-commerce and catalogs","Corporate and team portraits","Branding and editorial shoots","Location-based photography","Social media content creation"]}],faqs:[{question:"Do you offer on-location shoots or only in-studio content production?",answer:"Yes, we provide both. Whether you're looking for a controlled studio setup or a dynamic on-location shoot, we handle everything for a smooth experience."},{question:"How long does it take to deliver the final photos after a shoot?",answer:"Photos are usually delivered within 5–10 business days. Timelines are confirmed before each shoot."},{question:"Can you help with creative direction or styling for the shoot?",answer:"Absolutely. We guide you through the creative process, from concept and mood boards to styling, props, and shot planning."},{question:"Do you provide commercial usage rights for the photos?",answer:"Yes. All photography packages include commercial usage rights so you can use the images across ads, websites, and other marketing materials."}],richFaqs:[{question:"1. Do you offer on-location shoots or only in-studio production?",answer:["Yes, at Web Design Miami Company, we provide both. Whether you're looking for a controlled studio setup or a dynamic on-location shoot, we handle everything for a smooth experience."]},{question:"2. How long does it take to deliver the final photos after a shoot?",answer:["Photos are usually delivered within 5–10 business days. Timelines are confirmed before each shoot."]},{question:"3. Can you help with creative direction or styling?",answer:["Absolutely. We guide you through the creative process, from concept and mood boards to styling, props, and shot planning. For a more comprehensive brand approach, we also offer a full brand photography package."]},{question:"4. Do you provide commercial usage rights for the photos?",answer:["Yes. All photography packages include commercial usage rights so you can confidently use the images across ads, websites, and other marketing materials."]}],relatedProjectSlugs:[],timeline:"5–10 day delivery",timelineEs:"Entrega en 5–10 días",es:{slug:"fotografia",title:"Fotografía",seoTitle:"Servicios de Fotografía en Miami | Marca y Ads",seoDescription:"Fotografía profesional en Miami para anuncios, redes y marketing de marca. Visuales que detienen el scroll y convierten en tus campañas.",h1:"Fotografía Profesional para Marcas y Negocios",heroTagline:"La gran fotografía no solo captura un momento, sino que cuenta la historia de tu marca. Producimos imágenes de alta calidad y visualmente atractivas que elevan tu marca, conectan con tu audiencia y apoyan tu marketing en plataformas digitales e impresas.",breadcrumb:Y("Fotografía","fotografia"),outcomes:["Imágenes profesionales de marca","Entrega en 5–10 días hábiles","Derechos de uso comercial incluidos"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Concepto y Planificación — Trabajamos contigo para entender la visión y los objetivos de tu sesión fotográfica, seleccionando el estilo, la ubicación y el tema adecuados para dar vida visual a tu marca."],["2. Día de la Sesión — Nuestros fotógrafos profesionales capturan imágenes de alta calidad con atención al detalle, asegurando que reflejen la identidad y el tono de tu marca."],["3. Postproducción — Editamos y mejoramos profesionalmente las imágenes seleccionad
2as, ajustando color, iluminación y composición, para entregar visuales pulidos listos para su uso en marketing."],["4. Entrega y Uso — Las imágenes finales se entregan en los formatos que necesitas, optimizadas para web, redes sociales e impresión, con tiempos de entrega rápidos."]]},{heading:"Servicios de Fotografía que Ofrecemos",paragraphs:[],list:["Fotografía de productos para comercio electrónico y catálogos","Retratos corporativos y de equipo","Sesiones de branding y editoriales","Fotografía en locación","Creación de contenido para redes sociales"]}],faqs:[{question:"¿Ofrecen sesiones en locación o solo producción de contenido en estudio?",answer:["Sí, en Web Design Miami Company ofrecemos ambos. Ya sea que busques un montaje controlado en estudio o una sesión dinámica en locación, nos encargamos de todo."]},{question:"¿Cuánto tiempo tarda la entrega de las fotos finales después de la sesión?",answer:["Las fotos suelen entregarse entre 5 y 10 días hábiles. Los plazos se confirman antes de cada sesión."]},{question:"¿Pueden ayudar con la dirección creativa o el estilismo para la sesión?",answer:["Por supuesto. Te guiamos durante el proceso creativo, desde el concepto y mood boards hasta el estilismo, utilería y planificación de tomas."]},{question:"¿Proporcionan derechos de uso comercial para las fotos?",answer:["Sí. Todos los paquetes de fotografía incluyen derechos de uso comercial para que puedas usar las imágenes con confianza en anuncios, sitios web y otros materiales de marketing."]}],imageAlt:"Fotografía profesional para marcas en Miami — Web Design Miami Company"}},{slug:"videography",title:"Videography",category:"Content & Creative",seoTitle:"Videography Services in Miami | Video That Sells",seoDescription:"Professional Miami videography for events, marketing and social: video content that boosts engagement and elevates your brand. See our reel.",h1:"Professional Videography for Brands with a Story to Tell",heroTagline:"A great video does more than look good, it moves people. We focus on capturing your brand's message through cinematic visuals with strategic intent. From planning to delivery, our videos are built to inform, inspire, and convert.",shortDescription:"Professional videography that captures your brand's message through cinematic visuals with strategic intent.",painPoints:[],deliverables:[],outcomes:["Cinematic brand storytelling","Platform-ready video formats","Strategic visual messaging"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Concept & Planning — We collaborate to define your video's goals, creative direction, and target audience — ensuring every visual decision supports your brand's message."],["2. Production — Our team handles all aspects of filming with professional equipment, attention to detail, and a focus on capturing authentic, high-quality footage."],["3. Post-Production & Editing — We edit, color-grade, and refine the footage into a polished final product ready for your marketing channels."],["4. Delivery — Final videos are delivered in the formats optimized for your platform, whether that's your website, social media, ads, or presentations."]]},{heading:"Types of Videos We Create",paragraphs:[],list:["Brand story videos","Product or service promotions","Website background loops","Social media Reels or ads","Testimonials or interviews"]}],faqs:[{question:"Do you offer on-location shoots or studio production?",answer:"We provide both on-location and studio video production to match your brand's needs and creative direction."},{question:"How long does it take to deliver the final video after a shoot?",answer:"Videos are usually delivered within 10–15 business days. Timelines are confirmed before each project."},{question:"Can you help with creative direction for the video?",answer:"Absolutely. We guide you through concept development, scripting, storyboarding, and creative direction to ensure the final product tells your brand's story effectively."},{question:"What types of businesses do you create videos for?",answer:"We create videos for brands across all industries — from e-commerce and hospital
2ity to professional services and creative agencies."}],richFaqs:[{question:"1. Do you offer on-location shoots or studio production?",answer:["We provide both on-location and studio video production to match your brand's needs and creative direction."]},{question:"2. How long does it take to deliver the final video?",answer:["Videos are usually delivered within 10–15 business days. Timelines are confirmed before each project begins."]},{question:"3. Can you help with creative direction for the video?",answer:["Absolutely. We guide you through concept development, scripting, storyboarding, and creative direction to ensure the final product tells your brand's story effectively."]},{question:"4. What types of businesses do you create videos for?",answer:["We create videos for brands across all industries — from e-commerce and hospitality to professional services and creative agencies."]}],relatedProjectSlugs:[],timeline:"10–15 day delivery",timelineEs:"Entrega en 10–15 días",es:{slug:"videografia",title:"Videografía",seoTitle:"Servicios de Videografía en Miami | Video que Vende",seoDescription:"Videografía profesional en Miami para eventos, marketing y redes: contenido en video que aumenta la interacción y eleva tu marca. Mira nuestro reel.",h1:"Videografía Profesional para Marcas con una Historia que Contar",heroTagline:"Un gran video hace más que verse bien, mueve a las personas. Nos enfocamos en capturar el mensaje de tu marca a través de imágenes cinematográficas con un propósito estratégico. Desde la planificación hasta la entrega, nuestros videos están diseñados para informar, inspirar y convertir.",breadcrumb:Y("Videografía","videografia"),outcomes:["Storytelling de marca cinematográfico","Formatos de video listos para plataformas","Mensajería visual estratégica"],bodySections:[{heading:"Tipos de Videos que Creamos",paragraphs:[],list:["Videos de historia de marca","Promociones de productos o servicios","Bucles de fondo para sitios web","Reels o anuncios para redes sociales","Testimonios o entrevistas"]}],faqs:[{question:"¿Ofrecen sesiones en locación o producción en estudio?",answer:["Ofrecemos tanto producción en locación como en estudio para adaptarnos a las necesidades de tu marca y dirección creativa."]},{question:"¿Cuánto tiempo tarda la entrega del video final?",answer:["Los videos suelen entregarse entre 10 y 15 días hábiles. Los plazos se confirman antes de cada proyecto."]},{question:"¿Pueden ayudar con la dirección creativa para el video?",answer:["Por supuesto. Te guiamos a través del desarrollo del concepto, guion, storyboard y dirección creativa para asegurar que el producto final cuente la historia de tu marca de manera efectiva."]},{question:"¿Para qué tipo de negocios crean videos?",answer:["Creamos videos para marcas de todos los sectores, desde comercio electrónico y hospitalidad hasta servicios profesionales y agencias creativas."]}],imageAlt:"Videografía profesional para marcas en Miami — Web Design Miami Company"}},{slug:"2d-and-3d-animation",title:"2D and 3D Animation",category:"Content & Creative",seoTitle:"2D & 3D Animation in Miami | Motion That Moves",seoDescription:"Miami 2D and 3D animation and motion graphics for ads, explainers and brand stories. Video that captures attention and communicates your message fast.",h1:"2D and 3D Animations for Web Designs of Brands That Want to Stand Out",heroTagline:"In today's saturated digital world, brands that innovate stand out. 2D and 3D animations add depth, motion, and clarity helping communicate complex ideas in memorable ways. We create web-optimized animations that enhance user experience and give your brand a modern edge.",shortDescription:"Web-optimized 2D and 3D animations that enhance user experience and give your brand a modern competitive edge.",painPoints:[],deliverables:[],outcomes:["Enhanced user engagement","Web-optimized animations","Cross-device compatibility"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Concept & Creative Direction — We start by identifying your message and goals, and explore how animation can best support your brand visually."],["2. Storyboarding & Visual Design — We develop storyboards and key visual elements aligned with your brand identity and the website's structure."],["3. 2D or 3D Animation — We animate your content in 2D or 3D using smooth, performance-friendly motion that keeps your site fast and engaging."],["4. Web Integration & Testing — We work closely with the development team to integrate the animations seamlessly, ensuring a smooth and responsive experience across all devices."],["5. Optimization & Final Delivery — Final files are compressed and formatted for fast load times, so they look great and perform well across all devices."]]}],faqs:[{question:"Is it possible to implement 2D or 3D animation on my website?",answer:"Yes, 2D and 3D animations can be fully integrated into your website design or eCommerce platform. They can be used in banners, videos, product demos, or scroll-based experiences."},{question:"What are the advantages of implementing 2D or 3D animation on my website?",answer:"Animations offer increased user engagement, enhanced 
2storytelling, modern and innovative appeal, improved brand perception, better product visualization, stronger user experience, and competitive differentiation."}],richFaqs:[{question:"1. Is it possible to implement 2D or 3D animation on my website?",answer:["Yes, 2D and 3D animations can be fully integrated into your website design or eCommerce platform. They can be used in banners, videos, product demos, or scroll-based experiences to add interactivity and engagement."]},{question:"2. What are the advantages of implementing 2D or 3D animation on my website?",answer:["Adding animation to your website offers: Increased user engagement, Enhanced storytelling, Modern and innovative appeal, Improved brand perception, Better product visualization, Stronger user experience, and Competitive differentiation."]}],relatedProjectSlugs:[],timeline:"5u201310 day delivery",timelineEs:"Entrega en 5u201310 du00edas",es:{slug:"animacion-2d-y-3d",title:"Animación 2D y 3D",seoTitle:"Animación 2D y 3D en Miami | Motion Graphics",seoDescription:"Animación 2D y 3D y motion graphics en Miami para anuncios, explainers e historias de marca: video que capta la atención y comunica rápido.",h1:"Animaciones 2D y 3D para diseños web de marcas que quieren destacar",heroTagline:"En el mundo digital saturado de hoy, las marcas que innovan destacan. Las animaciones 2D y 3D añaden profundidad, movimiento y claridad, ayudando a comunicar ideas complejas de manera memorable. Creamos animaciones optimizadas para la web que mejoran la experiencia del usuario.",breadcrumb:Y("Animación 2D y 3D","animacion-2d-y-3d"),outcomes:["Mayor engagement del usuario","Animaciones optimizadas para web","Compatibilidad con todos los dispositivos"],bodySections:[{heading:"Cómo lo hacemos",paragraphs:[["1. Concepto y Dirección Creativa — Comenzamos identificando tu mensaje y objetivos, y exploramos cómo la animación puede apoyar mejor visualmente a tu marca."],["2. Storyboarding y Diseño Visual — Desarrollamos storyboards y elementos visuales clave alineados con la identidad de tu marca y la estructura del sitio web."],["3. Animación 2D o 3D — Animamos tu contenido en 2D o 3D utilizando movimientos fluidos y optimizados para el rendimiento, que mantienen tu sitio rápido y atractivo."],["4. Integración Web y Pruebas — Trabajamos en estrecha colaboración con el equipo de desarrollo para integrar las animaciones de forma fluida, asegurando una experiencia responsiva en todos los dispositivos."],["5. Optimización y Entrega Final — Los archivos finales se comprimen y formatean para tiempos de carga rápidos, de modo que se vean bien y funcionen correctamente en todos los dispositivos."]]}],faqs:[{question:"1. ¿Es posible implementar animación 2D o 3D en mi sitio web?",answer:["Sí, las animaciones 2D y 3D pueden integrarse completamente en el diseño de tu sitio web o plataforma de comercio electrónico. Pueden usarse en banners, videos, demostraciones de productos o experiencias basadas en el desplazamiento."]},{question:"2. ¿Cuáles son las ventajas de implementar animación 2D o 3D en mi sitio web?",answer:["Agregar animación a tu sitio web ofrece: Mayor engagement del usuario, Narrativa mejorada, Apariencia moderna e innovadora, Mejor percepción de la marca, Mejor visualización del producto, Experiencia de usuario más sólida, y Diferenciación competitiva."]}],imageAlt:"Animación 2D y 3D para sitios web en Miami — Web Design Miami Company"}},{slug:"ai-photo-and-video-creation",title:"AI Photo and Video Creation",category:"Content & Creative",seoTitle:"AI Content Creation in Miami | Photo & Video",seoDescription:"AI photo and video content creation in Miami that drives traffic, sales and brand growth. Scale on-brand visuals without a full production crew.",h1:"AI-Generated Photos and Videos for Modern Brands",heroTagline:"AI is transforming how visual content is made. Our AI services help you generate professional images and videos quickly and affordably — no traditional shoots required.",shortDescription:"AI-generated professional photos and videos for modern brands — fast, affordable, and studio-quality.",painPoints:[],deliverables:[],outcomes:["Professional visual
2s in hours","No traditional shoot required","Ready for ads and social media"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Concept & Goal Definition — We start by understanding the type of content you need — product photos, promotional videos, custom environments — and outline the visual direction and use case."],["2. AI Asset Generation — Using advanced AI models, we generate images or video clips based on creative prompts, references, and your brand's visual style. We can simulate people, products, environments, or imaginative scenarios with stunning realism."],["3. Creative Review & Refinement — We review and enhance the outputs, adjusting composition, lighting, and framing so the visuals match your brand identity."],["4. Editing & Post-Production — We professionally edit and format the visuals for your content strategy, aligning them with your messaging and platforms."],["5. Delivery & File Optimization — You'll receive optimized files, ready to use on your website, in ads, or across social media campaigns."]]},{heading:"What Can We Create with AI?",paragraphs:[],list:["Product photography with custom environments","AI-generated corporate portraits","Promotional or branding videos using generative models","Visual assets for banners, ads, and social media","Futuristic, conceptual, or otherwise impossible-to-film scenarios"]}],faqs:[{question:"Is it possible to implement AI-generated images or videos on my website?",answer:"Yes. These assets can be integrated into any web or eCommerce layout, including banners, product pages, and hero sections."},{question:"What are the advantages of implementing AI-generated content on my website?",answer:"Faster production times, cost-efficiency, scalability, customization to match your brand, consistency of style, and innovative formats like virtual models or animated AI visuals."},{question:"What exactly is AI-generated photo and video content?",answer:"Photos or videos created using artificial intelligence tools rather than traditional cameras. These tools produce everything from product visuals to virtual models and animated scenes, customized to your brand."}],richFaqs:[{question:"1. Is it possible to implement AI-generated images or videos on my website?",answer:["Yes. These assets can be integrated into any web or eCommerce layout, including banners, product pages, and hero sections."]},{question:"2. What are the advantages of AI-generated content on my website?",answer:["Faster production times — create visuals in hours instead of days. Cost-efficiency — reduce the need for expensive shoots. Scalability — generate large volumes of content easily. Customization — tailored to your brand and tone. Consistency — cohesive style across your entire site. Innovation — stand out with virtual models or animated AI visuals."]},{question:"3. What exactly is AI-generated photo and video content?",answer:["It refers to photos or videos created using artificial intelligence tools rather than traditional cameras or filming. These tools can produce everything from product visuals to virtual models and animated scenes — all customized to your brand and ready for marketing use."]}],relatedProjectSlugs:[],timeline:"5u201310 day delivery",timelineEs:"Entrega en 5u201310 du00edas",es:{slug:"creacion-de-fotos-y-videos-con-ia",title:"Fotos y Videos con IA",seoTitle:"Creación de Fotos y Videos con IA en Miami",seoDescription:"Creación de contenido con IA en Miami que genera tráfico, ventas y crecimiento de marca. Escala visuales alineados a tu marca sin todo un equipo.",h1:"Fotos y Videos Generados por IA para Marcas Modernas",heroTagline:"La inteligencia artificial está transformando la forma en que se crea contenido visual. Nuestros servicios de IA te ayudan a generar imágenes y videos profesionales de manera rápida y económica, sin necesidad de sesiones tradicionales.",breadcrumb:Y("Fotos y Videos con IA","creacion-de-fotos-y-videos-con-ia"),outcomes:["Visuales profesionales en horas","Sin sesiones tradicionales requeridas","Listos para anuncios y redes sociales"],bodySections:[{heading:"Cómo 
2Lo Hacemos",paragraphs:[["1. Definición de Concepto y Objetivo — Comenzamos entendiendo el tipo de contenido que necesitas — fotos de productos, videos promocionales, ambientes personalizados — y definimos la dirección visual y el caso de uso."],["2. Generación de Activos con IA — Utilizando modelos avanzados de IA, generamos imágenes o clips de video basados en indicaciones creativas, referencias y el estilo visual de tu marca. Podemos simular personas, productos, ambientes o escenarios imaginativos con un realismo sorprendente."],["3. Revisión Creativa y Refinamiento — Revisamos y mejoramos los resultados ajustando composición, iluminación y encuadre para que los visuales coincidan con la identidad de tu marca."],["4. Edición y Postproducción — Editamos y formateamos profesionalmente los visuales para tu estrategia de contenido, alineándolos con tu mensaje y plataformas."],["5. Entrega y Optimización de Archivos — Recibirás archivos optimizados, listos para usar en tu sitio web, en anuncios o en campañas de redes sociales."]]},{heading:"¿Qué Podemos Crear con IA?",paragraphs:[],list:["Fotografía de productos con ambientes personalizados","Retratos corporativos generados por IA","Videos promocionales o de marca usando modelos generativos","Activos visuales para banners, anuncios y redes sociales","Escenarios futuristas, conceptuales o imposibles de filmar de otra manera"]}],faqs:[{question:"1. ¿Es posible implementar imágenes o videos generados por IA en mi sitio web?",answer:["Sí. Estos activos pueden integrarse en cualquier diseño web o de comercio electrónico, incluyendo banners, páginas de productos y secciones principales."]},{question:"2. ¿Cuáles son las ventajas de implementar contenido generado por IA en mi sitio web?",answer:["Tiempos de producción más rápidos, rentabilidad, escalabilidad, personalización según tu marca, consistencia de estilo en todo tu sitio, e innovación con formatos creativos como modelos virtuales o visuales animados por IA."]},{question:"3. ¿Qué es exactamente el contenido fotográfico y de video generado por IA?",answer:["Se refiere a fotos o videos creados usando herramientas de inteligencia artificial en lugar de cámaras o filmaciones tradicionales. Estas herramientas producen desde visuales de productos hasta modelos virtuales y escenas animadas, todo personalizado para tu marca."]}],imageAlt:"Fotos y videos generados por IA para marcas modernas — Web Design Miami Company"}},{slug:"mobile-app-development",title:"Mobile App Development",category:"Product & Software",seoTitle:"Mobile App Development in Miami | iOS & Android",seoDescription:"Miami mobile app development for iOS and Android: high-performance, inspiring apps designed and built to grow your business. Get an estimate.",h1:"Mobile App Development Services",heroTagline:"Our goal is to create an exceptional user experience through inspiring aesthetics and impeccable technical execution. Our mobile apps are designed to boost interaction and strengthen customer loyalty.",shortDescription:"High-performance iOS and Android mobile apps built around exceptional user experience and business goals.",painPoints:[],deliverables:[],outcomes:["iOS and Android compatible","User-centered UX/UI design","Ongoing maintenance support"],bodySections:[{heading:"How We Do It",paragraphs:[["1. Ideation & Strategy — We begin by aligning your vision with market needs and building a strategic plan for success, from core features to user objectives."],["2. UX/UI Design — Our designers focus on usability and visual appeal, creating interfaces that enhance the user journey and increase engagement."],["3. App Development — We build high-performance applications tailored for both iOS and Android, using the latest development tools and frameworks."],["4. Quality Assurance — Every app goes through thorough testing to ensure it's stable, secure, and fully functional on all devices."],["5. Launch & Maintenance — We launch your app with a comprehensive deployment strategy and offer continuous support and updates to help it thrive and perform at its peak."]]},{heading:"Our Mobile App Development Capabilities Include",paragraphs:[],list:["E-commerce apps to enhance online shopping experiences","Educational apps for learning and training purposes","Health and wellness a
2pps to support fitness goals","Social networking apps designed for maximum user engagement","Utility apps that simplify daily tasks"]}],faqs:[{question:"How much does it cost to develop a mobile app?",answer:"Costs depend on the platform, features, and complexity. Please fill out our contact form for a personalized estimate."},{question:"Do you offer support for third-party integrations?",answer:"Yes, we integrate with tools like CRMs (HubSpot, Salesforce), payment gateways (Stripe, PayPal), marketing tools (Mailchimp, Klaviyo), e-commerce systems (Shopify, WooCommerce), and more."},{question:"What are the key steps in the mobile app design process?",answer:"Research and Planning, UI/UX Design (wireframes and prototypes), Development, Testing (security, performance, usability), Deployment to app stores, and Ongoing Maintenance."},{question:"What technologies do you use for mobile app development?",answer:"We work with React Native, Flutter, Swift, Kotlin, Node.js, AWS Amplify, and Firebase — each offering distinct advantages to meet diverse client needs."}],richFaqs:[{question:"1. How much does it cost to develop a mobile app?",answer:["Costs depend on the platform, features, and complexity. Please fill out our ",{text:"contact form",href:"/contact"}," for a personalized estimate."]},{question:"2. Do you offer support for third-party integrations?",answer:["Yes, we integrate with CRMs (HubSpot, Salesforce), payment gateways (Stripe, PayPal), marketing tools (Mailchimp, Klaviyo, Google Analytics), e-commerce systems (Shopify, WooCommerce), Google APIs, AWS services, Zendesk, and Slack."]},{question:"3. What are the key steps in the mobile app design process?",answer:["Research and Planning: defining objectives, user needs, and development roadmap. UI/UX Design: wireframes, prototypes, and seamless interfaces. Development: coding with appropriate tech stacks. Testing: security, performance, and usability. Deployment: app store submission with a launch strategy. Ongoing Maintenance: monitoring, updating, and evolving post-launch."]},{question:"4. What technologies do you use?",answer:["We work with React Native, Flutter, Swift, Kotlin, Node.js, AWS Amplify, and Firebase — each offering distinct advantages to meet diverse client needs."]}],relatedProjectSlugs:[],timeline:"5u201310 day delivery",timelineEs:"Entrega en 5u201310 du00edas",es:{slug:"desarrollo-de-aplicaciones-moviles",title:"Desarrollo de Aplicaciones Móviles",seoTitle:"Desarrollo de Apps Móviles en Miami | iOS y Android",seoDescription:"Desarrollo de apps móviles en Miami para iOS y Android: aplicaciones de alto rendimiento diseñadas para hacer crecer tu negocio. Pide tu estimado.",h1:"Servicios de Desarrollo de Aplicaciones Móviles",heroTagline:"Nuestro objetivo es crear una experiencia de usuario excepcional mediante una estética inspiradora y una ejecución técnica impecable. Nuestras aplicaciones móviles están diseñadas para aumentar la interacción y fortalecer la lealtad del cliente.",breadcrumb:Y("Desarrollo de Aplicaciones Móviles","desarrollo-de-aplicaciones-moviles"),outcomes:["Compatible con iOS y Android","Diseño UX/UI centrado en el usuario","Soporte de mantenimiento continuo"],bodySections:[{heading:"Cómo Lo Hacemos",paragraphs:[["1. Ideación y Estrategia — Comenzamos alineando su visión con las necesidades del mercado y construyendo un plan estratég
2ico para el éxito, desde las características principales hasta los objetivos del usuario."],["2. Diseño UX/UI — Nuestros diseñadores se enfocan en la usabilidad y el atractivo visual, creando interfaces que mejoran el recorrido del usuario y aumentan el compromiso."],["3. Desarrollo de la Aplicación — Construimos aplicaciones de alto rendimiento adaptadas tanto para iOS como para Android, utilizando las últimas herramientas y frameworks de desarrollo."],["4. Aseguramiento de la Calidad — Cada aplicación pasa por pruebas exhaustivas para garantizar que sea estable, segura y completamente funcional en todos los dispositivos."],["5. Lanzamiento y Mantenimiento — Lanzamos su aplicación con una estrategia integral de despliegue y ofrecemos soporte continuo y actualizaciones para ayudarla a prosperar."]]},{heading:"Nuestras Capacidades en Desarrollo de Aplicaciones Móviles",paragraphs:[],list:["Aplicaciones de comercio electrónico para mejorar las experiencias de compra en línea","Aplicaciones educativas para fines de aprendizaje y capacitación","Aplicaciones de salud y bienestar para apoyar objetivos de fitness","Aplicaciones de redes sociales diseñadas para el máximo compromiso del usuario","Aplicaciones utilitarias que simplifican las tareas diarias"]}],faqs:[{question:"1. ¿Cuánto cuesta desarrollar una aplicación móvil?",answer:["Los costos dependen de la plataforma, las características y la complejidad. Complete nuestro ",{text:"formulario de contacto",href:"/es/contacto"}," para una estimación personalizada."]},{question:"2. ¿Ofrecen soporte para integraciones de terceros?",answer:["Sí, integramos con CRMs (HubSpot, Salesforce), pasarelas de pago (Stripe, PayPal), herramientas de marketing (Mailchimp, Klaviyo, Google Analytics), sistemas de e-commerce (Shopify, WooCommerce), APIs de Google, AWS y más."]},{question:"3. ¿Cuáles son los pasos clave en el proceso de diseño de aplicaciones móviles?",answer:["Investigación y Planificación: definir objetivos y hoja de ruta. Diseño UI/UX: wireframes, prototipos e interfaces fluidas. Desarrollo: codificación con stacks tecnológicos apropiados. Pruebas: seguridad, rendimiento y usabilidad. Despliegue: envío a tiendas de aplicaciones. Mantenimiento Continuo: monitoreo, actualización y evolución post lanzamiento."]},{question:"4. ¿Qué tecnologías de desarrollo de aplicaciones utilizan?",answer:["Trabajamos con React Native, Flutter, Swift, Kotlin, Node.js, AWS Amplify y Firebase — cada tecnología ofrece ventajas distintas para satisfacer las diversas necesidades de nuestros clientes."]},{question:"5. ¿Qué sistemas operativos soportan?",answer:["Desarrollamos para Android (móviles y tablets), iOS (iPhone y iPad), Windows (escritorio y móviles), macOS y Linux."]},{question:"6. ¿Cómo asegura Web Design Miami Company la calidad en el desarrollo?",answer:["Aplicamos un control de calidad riguroso mediante pruebas detalladas, retroalimentación frecuente del cliente y soporte post-lanzamiento, incluyendo una garantía de rendimiento."]}],imageAlt:"Desarrollo de aplicaciones móviles en Miami — Web Design Miami Company"}}];Ze.push(...Wl);function td(e){return Ze.find(t=>t.slug===e)}function ad(e){return Ze.find(t=>t.es?.slug===e)}function Ol(){return Ze.filter(e=>e.es!==void 0)}let ao=!1;function Rl(){return d.useEffect(()=>{ao||(ao=!0,document.addEventListener("click",e=>{const t=e.target.closest?.('a[href^="tel:"]');if(t){const a=window,o=t.getAttribute("href").replace("tel:",""),i=(t.textContent||t.getAttribute("aria-label")||"").trim();a.gtag&&a.gtag("event","phone_call_click",{phone_number:o,link_text:i}),a.fbq&&a.fbq("track","Contact")}},!0))},[]),null}const zl=new ks;function Il(){const[e]=vt();return d.useEffect(()=>{window.scrollTo(0,0)},[e]),null}function jl(){const[e]=vt(),t=e==="/es"||e.startsWith("/es/");return d.useEffect(()=>{document.documentElement.lang=t?"es":"en"},[t]),null}function Ll(){const[e]=vt(),t=e==="/es"||e.startsWith("/es/");return g.jsx("a",{href:"#main",onClick:a=>{a.preventDefault();const o=document.querySelector("main");o&&(o.setAttribute("tabindex","-1"),o.focus({preventScroll:!1}),o.scrollIntoView())}
2,className:"sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-[200] focus:px-5 focus:py-3 focus:rounded-full focus:bg-white focus:text-stone-900 focus:text-sm focus:font-bold focus:shadow-2xl focus:outline-none focus:ring-2 focus:ring-stone-900",children:t?"Saltar al contenido":"Skip to content"})}const Fl={"web-design":"business-website","online-store":"online-store",shopify:"shopify-website","website-maintenance":"website-maintenance-and-support","google-ads":"google-ads-management","meta-ads":"meta-ads-management",seo:"search-engine-optimization","tiktok-ads":"tik-tok-ads-management",photography:"photography",videography:"videography",animation:"2d-and-3d-animation","ai-media":"ai-photo-and-video-creation","logo-design":"logo-design","brand-identity":"brand-identity","email-sms":"email-marketing",cro:"conversion-rate-optimization","mobile-app":"mobile-app-development","local-seo":"local-seo","web-development":"web-development","website-redesign":"website-redesign","ai-automation":"ai-automation"},_l={"diseno-web":"sitio-web-empresarial","tienda-en-linea":"tienda-en-linea",shopify:"sitio-web-shopify","mantenimiento-web":"mantenimiento-y-soporte-web","google-ads":"gestion-de-google-ads","meta-ads":"gestion-de-meta-ads",seo:"optimizacion-para-motores-de-busqueda-seo","tiktok-ads":"gestion-de-tiktok-ads",fotografia:"fotografia",videografia:"videografia",animacion:"animacion-2d-y-3d","medios-con-ia":"creacion-de-fotos-y-videos-con-ia","diseno-de-logo":"diseno-de-logotipos","identidad-de-marca":"identidad-de-la-marca","email-sms":"email-marketing",cro:"optimizacion-de-tasa-de-conversion","aplicacion-movil":"desarrollo-de-aplicaciones-moviles"};function oo({map:e,prefix:t,fallback:a}){const{slug:o}=Hi(),[,i]=vt(),s=e[o??""];return d.useEffect(()=>{i(s?`${t}${s}`:a,{replace:!0})},[o]),null}function Nl({pages:e}){return g.jsxs(Gi,{children:[g.jsx(z,{path:"/",component:e.Home}),g.jsx(z,{path:"/about",component:e.About}),g.jsx(z,{path:"/services",component:e.ServicesPage}),Ze.map(t=>g.jsx(z,{path:`/${t.slug}`,children:()=>g.jsx(e.ServiceDetail,{slug:t.slug})},t.slug)),g.jsx(z,{path:"/pricing",component:e.Pricing}),g.jsx(z,{path:"/portfolio",component:e.Portfolio}),g.jsx(z,{path:"/contact",component:e.Contact}),g.jsx(z,{path:"/proposal",component:e.Proposal}),g.jsx(z,{path:"/privacy-policy",component:e.PrivacyPolicy}),g.jsx(z,{path:"/terms",component:e.Terms}),g.jsx(z,{path:"/accessibility",component:e.Accessibility}),g.jsx(z,{path:"/estimate",component:e.EstimatePage}),g.jsx(z,{path:"/faqs",component:e.Faqs}),g.jsx(z,{path:"/areas-we-serve",component:e.AreasWeServe}),g.jsx(z,{path:"/florida-web-design",component:e.Florida}),g.jsx(z,{path:"/ai-mode",children:()=>g.jsx(e.AiMode,{})}),Zt.map(t=>g.jsx(z,{path:`/${t.slug}-web-design`,children:()=>g.jsx(e.Location,{slug:t.slug})},t.slug)),g.jsx(z,{path:"/es",component:e.HomeEs}),g.jsx(z,{path:"/es/nosotros",component:e.AboutEs}),g.jsx(z,{path:"/es/servicios",component:e.ServicesPageEs}),g.jsx(z,{path:"/services/:slug",children:()=>g.jsx(oo,{map:Fl,prefix:"/",fallback:"/services"})}),g.jsx(z,{path:"/es/servicios/:slug",children:()=>g.jsx(oo,{map:_l,prefix:"/es/",fallback:"/es/servicios"})}),Ol().map(t=>g.jsx(z,{path:`/es/${t.es.slug}`,children:()=>g.jsx(e.ServiceDetailEs,{slug:t.slug})},t.es.slug)),g.jsx(z,{path:"/es/precios",component:e.PricingEs}),g.jsx(z,{path:"/es/estimado",component:e.EstimateEs}),g.jsx(z,{path:"/es/portafolio",component:e.PortfolioEs}),g.jsx(z,{path:"/es/contacto",component:e.ContactEs}),g.jsx(z,{path:"/es/propuesta",component:e.ProposalEs}),g.jsx(z,{path:"/es/preguntas-frecuentes",component:e.FaqsEs}),g.jsx(z,{path:"/es/zonas-que-atendemos",component:e.AreasWeServeEs}),g.jsx(z,{path:"/es/diseno-web-florida",component:e.FloridaEs}),g.jsx(z,{path:"/es/modo-ia",component:e.AiModeEs}),g.jsx(z,{path:"/es/politicas-de-privacidad",component:e.PrivacyPolicyEs}),g.jsx(z,{path:"/es/terminos-y-condiciones",component:e.TermsEs}),g.jsx(z,{path:"/es/accesibilidad",component:e.AccessibilityEs}),Zt.map(t=>g.jsx(z,{path:`/es/diseno-web-${t.slug}`,children:()=>g.jsx(e.LocationEs,{slug:t.slug})},`es-${t.slug}`)),g.jsx(z,{path:"/thank-you/:type",component:e.ThankYou}),g.jsx(z,{path:"/es/gracias/:tipo",component:e.ThankYouEs}),g.jsx(z,{component:e.NotFound})]})}function io({ssrPath:e,headCollector:t,pages:a}){return g.jsx(Ni.Provider,{value:t??null,children:g.jsx(xs,{client:zl,children:g.jsxs(pl,{children:[g.jsxs(Bi,{base:"/".replace(/\/$/,""),ssrPath:e,children:[g.jsx(Ll,{}),g.jsx(Il,{}),g.jsx(jl,{}),g.jsx(Rl,{}),g.jsx(d.Suspense,{fallback:null,children:g.jsx(Nl,{pages:a})}),g.jsx(yl,{})]}),g.jsx(Or,{})]})})})}const Bl="modulepreload",Gl=function(e){return"/"+e},so={},j=function(t,a,o){let i=Promise.resolve();if(a&&a.length>0){let c=function(l){return Promise.all(l.map(u=>Promise.resolve(u).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const n=document.querySelector("meta[property=csp-nonce]"),r=n?.nonce||n?.getAttribute("nonce");
2i=c(a.map(l=>{if(l=Gl(l),l in so)return;so[l]=!0;const u=l.endsWith(".css"),m=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${m}`))return;const h=document.createElement("link");if(h.rel=u?"stylesheet":Bl,u||(h.as="script"),h.crossOrigin="",h.href=l,r&&h.setAttribute("nonce",r),document.head.appendChild(h),u)return new Promise((p,f)=>{h.addEventListener("load",p),h.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(n){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=n,window.dispatchEvent(r),!r.defaultPrevented)throw n}return i.then(n=>{for(const r of n||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})},q={Home:()=>j(()=>import("./home-VSiR4sdt.js"),__vite__mapDeps([0,1,2,3,4,5,6])),About:()=>j(()=>import("./about-DU-ycLuM.js"),__vite__mapDeps([7,1,5,3,4,8,6,9])),ServicesPage:()=>j(()=>import("./services-BMokdqh2.js"),__vite__mapDeps([10,1,3,4,9])),ServiceDetail:()=>j(()=>import("./service-detail-vZiHPI1h.js"),__vite__mapDeps([11,1,12,13,3,4,9,14])),ServiceDetailEs:()=>j(()=>import("./service-detail-es-DpUU4Bh6.js"),__vite__mapDeps([15,1,12,13,3,4,9,14])),Pricing:()=>j(()=>import("./pricing-CU5ZnjIo.js"),__vite__mapDeps([16,1,3,4,17,9,18])),Portfolio:()=>j(()=>import("./portfolio-D6g3Rvup.js"),__vite__mapDeps([19,1,3,4,20,6,9])),Contact:()=>j(()=>import("./contact-CUWXy392.js"),__vite__mapDeps([21,1,3,4,22,9])),Proposal:()=>j(()=>import("./proposal-Cssu6Skz.js"),__vite__mapDeps([23,1,3,4,24,9,25])),ProposalEs:()=>j(()=>import("./proposal-es-B-T7lRV6.js"),__vite__mapDeps([26,1,3,4,24,9,25])),PrivacyPolicy:()=>j(()=>import("./privacy-policy-BwFSGIkC.js"),__vite__mapDeps([27,1,3,4,9])),Terms:()=>j(()=>import("./terms-Bsi9ziNo.js"),__vite__mapDeps([28,1,3,4,9])),Accessibility:()=>j(()=>import("./accessibility-COGlBxxI.js"),__vite__mapDeps([29,1,3,4,9])),EstimatePage:()=>j(()=>import("./estimate-CmLn5omU.js"),__vite__mapDeps([30,1,3,4,31,9,18])),Florida:()=>j(()=>import("./florida-BaGJbLKL.js"),__vite__mapDeps([32,1,13,3,4,9])),AiMode:()=>j(()=>import("./ai-mode-DSQ7sYn2.js"),__vite__mapDeps([33,1,3,4,24,9])),HomeEs:()=>j(()=>import("./home-es-D1hdLFKq.js"),__vite__mapDeps([34,1,2,3,4,5,6])),AboutEs:()=>j(()=>import("./about-es-C8sHdLCP.js"),__vite__mapDeps([35,1,5,3,4,8,6,9])),ServicesPageEs:()=>j(()=>import("./services-es-CMY-Gblk.js"),__vite__mapDeps([36,1,3,4,9])),PortfolioEs:()=>j(()=>import("./portfolio-es-DWj1HVqM.js"),__vite__mapDeps([37,1,3,4,20,6,9])),ContactEs:()=>j(()=>import("./contact-es-DznwMSXo.js"),__vite__mapDeps([38,1,3,4,22,9])),PricingEs:()=>j(()=>import("./pricing-es-FXFZGND-.js"),__vite__mapDeps([39,1,3,4,17,9,18])),EstimateEs:()=>j(()=>import("./estimate-es-B8FdmH-x.js"),__vite__mapDeps([40,1,3,4,31,9,18])),FloridaEs:()=>j(()=>import("./florida-es-C2U--JYB.js"),__vite__mapDeps([41,1,13,3,4,9])),AiModeEs:()=>j(()=>import("./ai-mode-es-BXq4DvDj.js"),__vite__mapDeps([42,1,33,3,4,24,9])),Faqs:()=>j(()=>import("./faqs-9z108egh.js"),__vite__mapDeps([43,1,3,4,9])),FaqsEs:()=>j(()=>import("./faqs-es-lqxOEi3h.js"),__vite__mapDeps([44,1,3,4,9])),AreasWeServe:()=>j(()=>import("./areas-we-serve-CaRfI1qA.js"),__vite__mapDeps([45,1,3,4,9])),AreasWeServeEs:()=>j(()=>import("./areas-we-serve-es-gBz0Y9MJ.js"),__vite__mapDeps([46,1,3,4,9])),PrivacyPolicyEs:()=>j(()=>import("./privacy-policy-es-vI52tn6b.js"),__vite__mapDeps([47,1,3,4,9])),TermsEs:()=>j(()=>import("./terms-es-BXOSLCfy.js"),__vite__mapDeps([48,1,3,4,9])),AccessibilityEs:()=>j(()=>import("./accessibility-es-CT34_fA5.js"),__vite__mapDeps([49,1,3,4,9])),Location:()=>j(()=>import("./location-D9uWXa-x.js"),__vite__mapDeps([50,1,13,3,4,9,51,14])),LocationEs:()=>j(()=>import("./location-es-B-YtTjHL.js"),__vite__mapDeps([52,1,13,3,4,9,51,14])),ThankYou:()=>j(()=>import("./thank-you-ac_wtWrQ.js"),__vite__mapDeps([53,1,3,4,54])),ThankYouEs:()=>j(()=>import("./thank-you-es-BUWoVwHD.js"),__vite__mapDeps([55,1,3,4,54])),NotFound:()=>j(()=>import("./not-found-CrMVwGKo.js"),__vite__mapDeps([14,1,3,4]))},no={Home:d.lazy(q.Home),About:d.lazy(q.About),ServicesPage:d.lazy(q.ServicesPage),ServiceDetail:d.lazy(q.ServiceDetail),ServiceDetailEs:d.lazy(q.ServiceDetailEs),Pricing:d.lazy(q.Pricing),Portfolio:d.lazy(q.Portfolio),Contact:d.lazy(q.Contact),Proposal:d.lazy(q.Proposal),ProposalEs:d.lazy(q.ProposalEs),PrivacyPolicy:d.lazy(q.PrivacyPolicy),Terms:d.lazy(q.Terms),Accessibility:d.lazy(q.Accessibility),EstimatePage:d.lazy(q.EstimatePage),Florida:d.lazy(q.Florida),AiMode:d.lazy(q.AiMode),HomeEs:d.lazy(q.HomeEs),AboutEs:d.lazy(q.AboutEs),ServicesPageEs:d.lazy(q.ServicesPageEs),PortfolioEs:d.lazy(q.PortfolioEs),ContactEs:d.lazy(q.ContactEs),PricingEs:d.lazy(q.PricingEs),EstimateEs:d.lazy(q.EstimateEs),FloridaEs:d.lazy(q.FloridaEs),AiMo
2deEs:d.lazy(q.AiModeEs),PrivacyPolicyEs:d.lazy(q.PrivacyPolicyEs),TermsEs:d.lazy(q.TermsEs),AccessibilityEs:d.lazy(q.AccessibilityEs),Faqs:d.lazy(q.Faqs),FaqsEs:d.lazy(q.FaqsEs),AreasWeServe:d.lazy(q.AreasWeServe),AreasWeServeEs:d.lazy(q.AreasWeServeEs),Location:d.lazy(q.Location),LocationEs:d.lazy(q.LocationEs),ThankYou:d.lazy(q.ThankYou),ThankYouEs:d.lazy(q.ThankYouEs),NotFound:d.lazy(q.NotFound)},Hl=[[/^\/$/,q.Home],[/^\/about$/,q.About],[/^\/services$/,q.ServicesPage],[/^\/services\/[^/]+$/,q.ServiceDetail],[/^\/pricing$/,q.Pricing],[/^\/portfolio$/,q.Portfolio],[/^\/contact$/,q.Contact],[/^\/proposal$/,q.Proposal],[/^\/privacy-policy$/,q.PrivacyPolicy],[/^\/terms$/,q.Terms],[/^\/accessibility$/,q.Accessibility],[/^\/estimate$/,q.EstimatePage],[/^\/florida-web-design$/,q.Florida],[/^\/ai-mode$/,q.AiMode],[/^\/faqs$/,q.Faqs],[/^\/areas-we-serve$/,q.AreasWeServe],[/^\/[a-z][-a-z]+-web-design$/,q.Location],[/^\/es$/,q.HomeEs],[/^\/es\/nosotros$/,q.AboutEs],[/^\/es\/servicios$/,q.ServicesPageEs],[/^\/es\/servicios\/[^/]+$/,q.ServiceDetailEs],[/^\/es\/precios$/,q.PricingEs],[/^\/es\/estimado$/,q.EstimateEs],[/^\/es\/portafolio$/,q.PortfolioEs],[/^\/es\/contacto$/,q.ContactEs],[/^\/es\/propuesta$/,q.ProposalEs],[/^\/es\/diseno-web-florida$/,q.FloridaEs],[/^\/es\/modo-ia$/,q.AiModeEs],[/^\/es\/politicas-de-privacidad$/,q.PrivacyPolicyEs],[/^\/es\/terminos-y-condiciones$/,q.TermsEs],[/^\/es\/accesibilidad$/,q.AccessibilityEs],[/^\/es\/preguntas-frecuentes$/,q.FaqsEs],[/^\/es\/zonas-que-atendemos$/,q.AreasWeServeEs],[/^\/es\/diseno-web-[^/]+$/,q.LocationEs],[/^\/thank-you\/[^/]+$/,q.ThankYou],[/^\/es\/gracias\/[^/]+$/,q.ThankYouEs]];function Vl(e){const t=Hl.find(([a])=>a.test(e));return(t?t[1]:q.NotFound)()}const jt=document.getElementById("root"),Lt="/".replace(/\/$/,"");let ut=window.location.pathname;Lt&&ut.startsWith(Lt)&&(ut=ut.slice(Lt.length)||"/");function ro(){requestAnimationFrame(()=>{window.dispatchEvent(new Event("app:hydrated"))})}jt.firstElementChild?Vl(ut).then(()=>{va.hydrateRoot(jt,g.jsx(io,{pages:no})),ro()}):(va.createRoot(jt).render(g.jsx(io,{pages:no})),ro());export{In as A,Zt as L,Zl as S,Ln as X,Vo as a,wt as b,ze as c,Yl as d,vs as e,te as f,td as g,$e as h,Ql as i,Ol as j,ad as k,ed as l,X as n,Ze as s,Kl as u};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.