1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,528553,t=>{t.v(JSON.parse('{"/alabama/birmingham-al/orthodontists":"/alabama/birmingham/orthodontists","/alabama/huntsville-al/orthodontists":"/alabama/huntsville/orthodontists","/alabama/montgomery-al/orthodontists":"/alabama/montgomery/orthodontists","/alaska/anchorage-ak/orthodontists":"/alaska/anchorage/orthodontists","/arizona/mesa-az/orthodontists":"/arizona/mesa/orthodontists","/arizona/phoenix-az/orthodontists":"/arizona/phoenix/orthodontists","/arizona/scottsdale-az/orthodontists":"/arizona/scottsdale/orthodontists","/arizona/tucson-az/orthodontists":"/arizona/tucson/orthodontists","/arkansas/little-rock-ar/orthodontists":"/arkansas/little-rock/orthodontists","/arkansas/memphis/orthodontists":"/tennessee/memphis/orthodontists","/california/anaheim-ca/orthodontists":"/california/anaheim/orthodontists","/california/bakersfield-ca/orthodontists":"/california/bakersfield/orthodontists","/california/fresno-ca/orthodontists":"/california/fresno/orthodontists","/california/irvine-ca/orthodontists":"/california/irvine/orthodontists","/california/long-beach-ca/orthodontists":"/california/long-beach/orthodontists","/california/los-angeles-ca/orthodontists":"/california/los-angeles/orthodontists","/california/oakland-ca/orthodontists":"/california/oakland/orthodontists","/california/riverside-ca/orthodontists":"/california/riverside/orthodontists","/california/sacramento-ca/orthodontists":"/california/sacramento/orthodontists","/california/san-diego-ca/orthodontists":"/california/san-diego/orthodontists","/california/san-francisco-ca/orthodontists":"/california/san-francisco/orthodontists","/california/san-jose-ca/orthodontists":"/california/san-jose/orthodontists","/california/stockton-ca/orthodontists":"/california/stockton/orthodontists","/colorado/colorado-springs-co/orthodontists":"/colorado/colorado-springs/orthodontists","/colorado/denver-co/orthodontists":"/colorado/denver/orthodontists","/connecticut/bridgeport-ct/orthodontists":"/connecticut/bridgeport/orthodontists","/connecticut/hartford-ct/orthodontists":"/connecticut/hartford/orthodontists","/connecticut/new-haven-ct/orthodontists":"/connecticut/new-haven/orthodontists","/florida/cape-coral-fl/orthodontists":"/florida/cape-coral/orthodontists","/florida/fort-lauderdale-fl/orthodontists":"/florida/fort-lauderdale/orthodontists","/florida/jacksonville-fl/orthodontists":"/florida/jacksonville/orthodontists","/florida/jonesville/orthodontists":"/florida/gainesville-fl/orthodontists","/florida/jonesville-fl/orthodontists":"/florida/gainesville-fl/orthodontists","/florida/miami-fl/orthodontists":"/florida/miami/orthodontists","/florida/orlando-fl/orthodontists":"/florida/orlando/orthodontists","/florida/sarasota-fl/orthodontists":"/florida/sarasota/orthodontists","/florida/st-petersburg-fl/orthodontists":"/florida/st-petersburg/orthodontists","/florida/tallahassee-fl/orthodontists":"/florida/tallahassee/orthodontists","/florida/tampa-fl/orthodontists":"/florida/tampa/orthodontists","/georgia/atlanta-ga/orthodontists":"/georgia/atlanta/orthodontists","/georgia/savannah-ga/orthodontists":"/georgia/savannah/orthodontists","/hawaii/honolulu/orthodontists":"/hawaii/oahu/orthodontists","/hawaii/honolulu-hi/orthodontists":"/hawaii/oahu/orthodontists","/hawaii/kahului-hi/orthodontists":"/hawaii/maui/orthodontists","/hawaii/kihei/orthodontists":"/hawaii/maui/orthodontists","/hawaii/kihei-hi/orthodontists":"/hawaii/maui/orthodontists","/hawaii/maui-hi/orthodontists":"/hawaii/maui/orthodontists","/hawaii/oahu-hi/orthodontists":"/hawaii/oahu/orthodontists","/idaho/boise-id/orthodontists":"/idaho/boise/orthodontists","/illinois/chicago-il/orthodontists":"/illinois/chicago/orthodontists","/illinois/rockford-il/orthodontists":"/illinois/rockford/orthodontists","/indiana/fort-wayne-in/orthodontists":"/indiana/fort-wayne/orthodontists","/indiana/indianapolis-in/orthodontists":"/indiana/indianapolis/orthodontists","/iowa/cedar-rapids-ia/orthodontists":"/iowa/cedar-rapids/orthodontists","/iowa/des-moines-ia/orthodontists":"/iowa/des-moines/orthodontists","/kansas/overland-park-ks/orthodontists":"/kansas/overland-park/orthodontists","/kansas/wichita-ks/orthodontists":"/kansas/wichita/orthodontists","/kentucky/lexington-ky/orthodontists":"/kentucky/lexington/orthodontists","/kentucky/louisville-ky/orthodontists":"/kentucky/louisville/orthodontists","/louisiana/baton-rouge-la/orthodontists":"/louisiana/baton-rouge/orthodontists","/louisiana/new-orleans-la/orthodontists":"/louisiana/new-orleans/orthodontists","/louisiana/shreveport-la/orthodontists":"/louisiana/shreveport/orthodontists","/maryland/baltimore-md/orthodontists":"/maryland/baltimore/orthodontists","/massachusetts/boston-ma/orthodontists":"/massachusetts/boston/orthodontists","/massachusetts/worcester-ma/orthodontists":"/massachusetts/worcester/orthodontists","/michigan/detroit-mi/orthodontists":"/michigan/detroit/orthodontists","/michigan/grand-rapids-mi/orthodontists":"/michigan/grand-rapids/orthodontists","/michigan/lansing-mi/orthodontists":"/michigan/lansing/orthodontists","/minnesota/duluth-mn/orthodontists":"/minnesota/duluth/orthodontists","/minnesota/minneapolis-mn/orthodontists":"/minnesota/minneapolis/orthodontists","/missouri/kansas-city-mo/orthodontists":"/missouri/kansas-city/orthodontists","/missouri/st-louis-mo/orthodontists":"/missouri/st-louis/orthodontists","/montana/billings-mt/orthodontists":"/montana/billings/orthodontists","/montana/bozeman-mt/orthodontists":"/montana/bozeman/orthodontists","/nebraska/omaha-ne/orthodontists":"/nebraska/omaha/orthodontists","/nevada/las-vegas-nv/orthodontists":"/nevada/las-vegas/orthodontists","/nevada/reno-nv/orthodontists":"/nevada/reno/orthodontists","/new-jersey/jersey-city-nj/orthodontists":"/new-jersey/jersey-city/orthodontists","/new-jersey/newark-nj/orthodontists":"/new-jersey/newark/orthodontists","/new-jersey/trenton-nj/orthodontists":"/new-jersey/trenton/orthodontists","/new-mexico/albuquerque-nm/orthodontists":"/new-mexico/albuquerque/orthodontists","/new-york/albany-ny/orthodontists":"/new-york/albany/orthodontists","/new-york/brooklyn/orthodontists":"/new-york/brooklyn-ny/orthodontists","/new-york/buffalo-ny/orthodontists":"/new-york/buffalo/orthodontists","/new-york/forest-hills/orthodontists":"/new-york/new-yor
1k/orthodontists","/new-york/forest-hills-ny/orthodontists":"/new-york/new-york/orthodontists","/new-york/new-york-city/orthodontists":"/new-york/new-york/orthodontists","/new-york/new-york-ny/orthodontists":"/new-york/new-york/orthodontists","/new-york/rochester-ny/orthodontists":"/new-york/rochester/orthodontists","/new-york/syracuse-ny/orthodontists":"/new-york/syracuse/orthodontists","/north-carolina/asheville-nc/orthodontists":"/north-carolina/asheville/orthodontists","/north-carolina/charlotte-nc/orthodontists":"/north-carolina/charlotte/orthodontists","/north-carolina/durham-nc/orthodontists":"/north-carolina/durham/orthodontists","/north-carolina/greensboro-nc/orthodontists":"/north-carolina/greensboro/orthodontists","/north-carolina/raleigh-nc/orthodontists":"/north-carolina/raleigh/orthodontists","/north-carolina/winston-salem-nc/orthodontists":"/north-carolina/winston-salem/orthodontists","/north-dakota/fargo-nd/orthodontists":"/north-dakota/fargo/orthodontists","/ohio/akron-oh/orthodontists":"/ohio/akron/orthodontists","/ohio/cincinnati-oh/orthodontists":"/ohio/cincinnati/orthodontists","/ohio/cleveland-oh/orthodontists":"/ohio/cleveland/orthodontists","/ohio/dayton-oh/orthodontists":"/ohio/dayton/orthodontists","/ohio/toledo-oh/orthodontists":"/ohio/toledo/orthodontists","/oklahoma/oklahoma-city-ok/orthodontists":"/oklahoma/oklahoma-city/orthodontists","/oklahoma/tulsa-ok/orthodontists":"/oklahoma/tulsa/orthodontists","/oregon/eugene-or/orthodontists":"/oregon/eugene/orthodontists","/oregon/portland-or/orthodontists":"/oregon/portland/orthodontists","/oregon/salem-or/orthodontists":"/oregon/salem/orthodontists","/pennsylvania/allentown-pa/orthodontists":"/pennsylvania/allentown/orthodontists","/pennsylvania/philadelphia-pa/orthodontists":"/pennsylvania/philadelphia/orthodontists","/pennsylvania/pittsburgh-pa/orthodontists":"/pennsylvania/pittsburgh/orthodontists","/rhode-island/providence-ri/orthodontists":"/rhode-island/providence/orthodontists","/south-dakota/sioux-falls-sd/orthodontists":"/south-dakota/sioux-falls/orthodontists","/tennessee/chattanooga-tn/orthodontists":"/tennessee/chattanooga/orthodontists","/tennessee/knoxville-tn/orthodontists":"/tennessee/knoxville/orthodontists","/tennessee/memphis-tn/orthodontists":"/tennessee/memphis/orthodontists","/tennessee/nashville-tn/orthodontists":"/tennessee/nashville/orthodontists","/texas/austin-tx/orthodontists":"/texas/austin/orthodontists","/texas/corpus-christi-tx/orthodontists":"/texas/corpus-christi/orthodontists","/texas/dallas-tx/orthodontists":"/texas/dallas/orthodontists","/texas/el-paso-tx/orthodontists":"/texas/el-paso/orthodontists","/texas/fort-worth-tx/orthodontists":"/texas/fort-worth/orthodontists","/texas/houston-tx/orthodontists":"/texas/houston/orthodontists","/texas/lubbock-tx/orthodontists":"/texas/lubbock/orthodontists","/texas/mcallen-tx/orthodontists":"/texas/mcallen/orthodontists","/texas/plano-tx/orthodontists":"/texas/plano/orthodontists","/texas/san-antonio-tx/orthodontists":"/texas/san-antonio/orthodontists","/texas/waco-tx/orthodontists":"/texas/waco/orthodontists","/utah/provo-ut/orthodontists":"/utah/provo/orthodontists","/utah/salt-lake-city-ut/orthodontists":"/utah/salt-lake-city/orthodontists","/virginia/norfolk-va/orthodontists":"/virginia/norfolk/orthodontists","/virginia/richmond-va/orthodontists":"/virginia/richmond/orthodontists","/virginia/virginia-beach-va/orthodontists":"/virginia/virginia-beach/orthodontists","/washington/seattle-wa/orthodontists":"/washington/seattle/orthodontists","/washington/spokane-wa/orthodontists":"/washington/spokane/orthodontists","/washington/tacoma-wa/orthodontists":"/washington/tacoma/orthodontists","/wisconsin/hales-corners/orthodontists":"/wisconsin/milwaukee/orthodontists","/wisconsin/hales-corners-wi/orthodontists":"/wisconsin/milwaukee/orthodontists","/wisconsin/madison-wi/orthodontists":"/wisconsin/madison/orthodontists","/wisconsin/milwaukee-wi/orthodontists":"/wisconsin/milwaukee/orthodontists","/wyoming/cheyenne-wy/orthodontists":"/wyoming/cheyenne/orthodontists"}'))},662466,t=>{"use strict";var e=t.i(522147),o=t.i(695604),s=t.i(549651),n=t.i(659396),i=t.i(921007),r=class extends n.Subscribable{#t;#e=void 0;#o;#s;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#n()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,i.shallowEqualObjects)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#o,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,i.hashKey)(e.mutationKey)!==(0,i.hashKey)(this.options.mutationKey)?this.reset():this.#o?.state.status==="pending"&&this.#o.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#o?.removeObserver(this)}onMutationUpdate(t){this.#n(),this.#i(t)}getCurrentResult(){return this.#e}reset(){this.#o?.removeObserver(this),this.#o=void 0,this.#n(),this.#i()}mutate(t,e){return this.#s=e,this.#o?.removeObserver(this),this.#o=this.#t.getMutationCache().build(this.#t,this.options),this.#o.addObserver(this),this.#o.execute(t)}#n(){let t=this.#o?.state??(0,o.getDefaultState)();this.#e={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#i(t){s.notifyManager.batch(()=>
1{if(this.#s&&this.hasListeners()){let e=this.#e.variables,o=this.#e.context,s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};t?.type==="success"?(this.#s.onSuccess?.(t.data,e,o,s),this.#s.onSettled?.(t.data,null,e,o,s)):t?.type==="error"&&(this.#s.onError?.(t.error,e,o,s),this.#s.onSettled?.(void 0,t.error,e,o,s))}this.listeners.forEach(t=>{t(this.#e)})})}},a=t.i(664084);function l(t,o){let n=(0,a.useQueryClient)(o),[l]=e.useState(()=>new r(n,t));e.useEffect(()=>{l.setOptions(t)},[l,t]);let d=e.useSyncExternalStore(e.useCallback(t=>l.subscribe(s.notifyManager.batchCalls(t)),[l]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),u=e.useCallback((t,e)=>{l.mutate(t,e).catch(i.noop)},[l]);if(d.error&&(0,i.shouldThrowError)(l.options.throwOnError,[d.error]))throw d.error;return{...d,mutate:u,mutateAsync:d.mutate}}t.s(["useMutation",()=>l],662466)},15391,t=>{"use strict";var e=t.i(906016),o=t.i(921007);function s(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return[t,{...void 0!==e.input?{input:e.input}:{},...void 0!==e.type?{type:e.type}:{},...void 0!==e.fnOptions?{fnOptions:e.fnOptions}:{}}]}function n(t,e){return t.length<=e?t:t.slice(t.length-e)}let i=Symbol("ORPC_OPERATION_CONTEXT"),r=function t(r){var a;let l,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=(0,e.toArray)(d.path),h={key:t=>s(u,t)},c=(a={path:u,experimental_defaults:d.experimental_defaults},l={call:r,queryKey(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];let[n={}]=e;return(n={...a.experimental_defaults?.queryKey,...n}).queryKey??s(a.path,{type:"query",input:n.input})},queryOptions(){for(var t=arguments.length,e=Array(t),s=0;s<t;s++)e[s]=arguments[s];let[n={}]=e;n={...a.experimental_defaults?.queryOptions,...n};let d=l.queryKey(n);return{queryFn:t=>{let{signal:e}=t;if(n.input===o.skipToken)throw Error("queryFn should not be called with skipToken used as input");return r(n.input,{signal:e,context:{[i]:{key:d,type:"query"},...n.context}})},...n.input===o.skipToken?{enabled:!1}:{},...n,queryKey:d}},experimental_streamedKey(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];let[n={}]=e;return(n={...a.experimental_defaults?.experimental_streamedKey,...n}).queryKey??s(a.path,{type:"streamed",input:n.input,fnOptions:n.queryFnOptions})},experimental_streamedOptions(){for(var t=arguments.length,s=Array(t),d=0;d<t;d++)s[d]=arguments[d];let[u={}]=s;u={...a.experimental_defaults?.experimental_streamedOptions,...u};let h=l.experimental_streamedKey(u);return{queryFn:function(t){let{refetchMode:e="reset",maxChunks:o=1/0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async s=>{let i=s.client.getQueryCache().find({queryKey:s.queryKey,exact:!0}),r=!!i&&void 0!==i.state.data;r&&("reset"===e?i.setState({status:"pending",data:void 0,error:null,fetchStatus:"fetching"}):s.client.setQueryData(s.queryKey,function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n(t,o)}));let a=[],l=await t(s),d=!r||"replace"!==e;for await(let t of(s.client.setQueryData(s.queryKey,function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n(t,o)}),l)){if(s.signal.aborted)throw s.signal.reason;a.push(t),a=n(a,o),d&&s.client.setQueryData(s.queryKey,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n([...e,t],o)})}d||s.client.setQueryData(s.queryKey,a);let u=s.client.getQueryData(s.queryKey);return u?n(u,o):a}}(async t=>{let{signal:s}=t;if(u.input===o.skipToken)throw Error("queryFn should not be called with skipToken used as input");let n=await r(u.input,{signal:s,context:{[i]:{key:h,type:"streamed"},...u.context}});if(!(0,e.isAsyncIteratorObject)(n))throw Error("streamedQuery requires an event iterator output");return n},u.queryFnOptions),...u.input===o.skipToken?{enabled:!1}:{},...u,queryKey:h}},experimental_liveKey(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];let[n={}]=e;return(n={...a.experimental_defaults?.experimental_liveKey,...n}).queryKey??s(a.path,{type:"live",input:n.input})},experimental_liveOptions(){for(var t,s=arguments.length,n=Array(s),d=0;d<s;d++)n[d]=arguments[d];let[u={}]=n;u={...a.experimental_defaults?.experimental_liveOptions,...u};let h=l.experimental_liveKey(u);return{queryFn:(t=async t=>{let{signal:s}=t;if(u.input===o.skipToken)throw Error("queryFn should not be called with skipToken used as input");let n=await r(u.input,{signal:s,context:{[i]:{key:h,type:"live"},...u.context}});if(!(0,e.isAsyncIteratorObject)(n))throw Error("liveQuery requires an event iterator output");return n},async o=>{let s;for await(let e of(await t(o))){if(o.signal.aborted)throw o.signal.reason;s={chunk:e},o.client.setQueryData(o.queryKey,e)}if(!s)throw Error(`Live query for ${(0,e.stringifyJSON)(o.queryKey)} did not yield any data. Ensure the query function returns an AsyncIterable with at least one chunk.`);return s.chunk}),...u.input===o.skipToken?{enabled:!1}:{},...u,queryKey:h}},infiniteKey:t=>(t={...a.experimental_defaults?.infiniteKey,...t}).queryKey??s(a.path,{type:"infinite",input:t.input===o.skipToken?o.skipToken:t.input(t.initialPageParam)}),infiniteOptions(t){t={...a.experimental_defaults?.infiniteOptions,...t};let e=l.infiniteKey(t);return{queryFn:s=>{let{pageParam:n,signal:a}=s;
1if(t.input===o.skipToken)throw Error("queryFn should not be called with skipToken used as input");return r(t.input(n),{signal:a,context:{[i]:{key:e,type:"infinite"},...t.context}})},...t.input===o.skipToken?{enabled:!1}:{},...t,queryKey:e}},mutationKey(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];let[n={}]=e;return(n={...a.experimental_defaults?.mutationKey,...n}).mutationKey??s(a.path,{type:"mutation"})},mutationOptions(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];let[s={}]=e;s={...a.experimental_defaults?.mutationOptions,...s};let n=l.mutationKey(s);return{mutationFn:t=>r(t,{context:{[i]:{key:n,type:"mutation"},...s.context}}),...s,mutationKey:n}}});return new Proxy({...h,...c},{get(o,s){let n=Reflect.get(o,s);if("string"!=typeof s)return n;let i=t(r[s],{...d,path:[...u,s],experimental_defaults:(0,e.get)(d.experimental_defaults,[s])});return"function"!=typeof n?i:new Proxy(n,{get:(t,e)=>Reflect.get(i,e)})}})}(t.i(399865).orpcClient);t.s(["orpc",0,r],15391)},819137,982708,t=>{"use strict";var e=t.i(522147),o=t.i(671265),s=t.i(18869),n=t.i(497603),i=t.i(364970);function r(t){let r=t+"CollectionProvider",[a,l]=(0,o.createContextScope)(r),[d,u]=a(r,{collectionRef:{current:null},itemMap:new Map}),h=t=>{let{scope:o,children:s}=t,n=e.default.useRef(null),r=e.default.useRef(new Map).current;return(0,i.jsx)(d,{scope:o,itemMap:r,collectionRef:n,children:s})};h.displayName=r;let c=t+"CollectionSlot",f=(0,n.createSlot)(c),p=e.default.forwardRef((t,e)=>{let{scope:o,children:n}=t,r=u(c,o),a=(0,s.useComposedRefs)(e,r.collectionRef);return(0,i.jsx)(f,{ref:a,children:n})});p.displayName=c;let m=t+"CollectionItemSlot",y="data-radix-collection-item",g=(0,n.createSlot)(m),v=e.default.forwardRef((t,o)=>{let{scope:n,children:r,...a}=t,l=e.default.useRef(null),d=(0,s.useComposedRefs)(o,l),h=u(m,n);return e.default.useEffect(()=>(h.itemMap.set(l,{ref:l,...a}),()=>void h.itemMap.delete(l))),(0,i.jsx)(g,{...{[y]:""},ref:d,children:r})});return v.displayName=m,[{Provider:h,Slot:p,ItemSlot:v},function(o){let s=u(t+"CollectionConsumer",o);return e.default.useCallback(()=>{let t=s.collectionRef.current;if(!t)return[];let e=Array.from(t.querySelectorAll(`[${y}]`));return Array.from(s.itemMap.values()).sort((t,o)=>e.indexOf(t.ref.current)-e.indexOf(o.ref.current))},[s.collectionRef,s.itemMap])},l]}var a=new WeakMap;function l(t,e){var o,s;let n,i,r;if("at"in Array.prototype)return Array.prototype.at.call(t,e);let a=(o=t,s=e,n=o.length,(r=(i=d(s))>=0?i:n+i)<0||r>=n?-1:r);return -1===a?void 0:t[a]}function d(t){return t!=t||0===t?0:Math.trunc(t)}(class t extends Map{#r;constructor(t){super(t),this.#r=[...super.keys()],a.set(this,!0)}set(t,e){return a.get(this)&&(this.has(t)?this.#r[this.#r.indexOf(t)]=t:this.#r.push(t)),super.set(t,e),this}insert(t,e,o){let s,n=this.has(e),i=this.#r.length,r=d(t),a=r>=0?r:i+r,l=a<0||a>=i?-1:a;if(l===this.size||n&&l===this.size-1||-1===l)return this.set(e,o),this;let u=this.size+ +!n;r<0&&a++;let h=[...this.#r],c=!1;for(let t=a;t<u;t++)if(a===t){let i=h[t];h[t]===e&&(i=h[t+1]),n&&this.delete(e),s=this.get(i),this.set(e,o)}else{c||h[t-1]!==e||(c=!0);let o=h[c?t:t-1],n=s;s=this.get(o),this.delete(o),this.set(o,n)}return this}with(e,o,s){let n=new t(this);return n.insert(e,o,s),n}before(t){let e=this.#r.indexOf(t)-1;if(!(e<0))return this.entryAt(e)}setBefore(t,e,o){let s=this.#r.indexOf(t);return -1===s?this:this.insert(s,e,o)}after(t){let e=this.#r.indexOf(t);if(-1!==(e=-1===e||e===this.size-1?-1:e+1))return this.entryAt(e)}setAfter(t,e,o){let s=this.#r.indexOf(t);return -1===s?this:this.insert(s+1,e,o)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#r=[],super.clear()}delete(t){let e=super.delete(t);return e&&this.#r.splice(this.#r.indexOf(t),1),e}deleteAt(t){let e=this.keyAt(t);return void 0!==e&&this.delete(e)}at(t){let e=l(this.#r,t);if(void 0!==e)return this.get(e)}entryAt(t){let e=l(this.#r,t);if(void 0!==e)return[e,this.get(e)]}indexOf(t){return this.#r.indexOf(t)}keyAt(t){return l(this.#r,t)}from(t,e){let o=this.indexOf(t);if(-1===o)return;let s=o+e;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(t,e){let o=this.indexOf(t);if(-1===o)return;let s=o+e;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(t,e){let o=0;for(let s of this){if(Reflect.apply(t,e,[s,o,this]))return s;o++}}findIndex(t,e){let o=0;for(let s of this){if(Reflect.apply(t,e,[s,o,this]))return o;o++}return -1}filter(e,o){let s=[],n=0;for(let t of this)Reflect.apply(e,o,[t,n,this])&&s.push(t),n++;return new t(s)}map(e,o){let s=[],n=0;for(let t of this)s.push([t[0],Reflect.apply(e,o,[t,n,this])]),n++;return new t(s)}reduce(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];let[s,n]=e,i=0,r=n??this.at(0);for(let t of this)r=0===i&&1===e.length?t:Reflect.apply(s,this,[r,t,i,this]),i++;return r}reduceRight(){for(var t=arguments.length,e=Array(t),o=0;o<t;o++)e[o]=arguments[o];let[s,n]=e,i=n??this.at(-1);for(let t=this.size-1;t>=0;t--){let o=this.at(t);i=t===this.size-1&&1===e.length?o:Reflect.apply(s,this,[i,o,t,this])}return i}toSorted(e){return new t([...this.entries()].sort(e))}toReversed(){let e=new t;for(let t=this.size-1;t>=0;t--){let o=this.keyAt(t),s=this.get(o);e.set(o,s)}return e}toSpliced(){for(var e=arguments.length,o=Array(e),s=0;s<e;s++)o[s]=arguments[s];let n=[...this.entries()];return n.splice(...o),new t(n)}slice(e,o){let s=new t,n=this.size-1;if(void 0===e)return s;
1e<0&&(e+=this.size),void 0!==o&&o>0&&(n=o-1);for(let t=e;t<=n;t++){let e=this.keyAt(t),o=this.get(e);s.set(e,o)}return s}every(t,e){let o=0;for(let s of this){if(!Reflect.apply(t,e,[s,o,this]))return!1;o++}return!0}some(t,e){let o=0;for(let s of this){if(Reflect.apply(t,e,[s,o,this]))return!0;o++}return!1}}),t.s(["createCollection",()=>r],819137);var u=e.createContext(void 0);function h(t){let o=e.useContext(u);return t||o||"ltr"}t.s(["useDirection",()=>h],982708)},566853,t=>{"use strict";var e=t.i(522147),o=t.i(585968);function s(t){let[s,n]=e.useState(void 0);return(0,o.useLayoutEffect)(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});let e=new ResizeObserver(e=>{let o,s;if(!Array.isArray(e)||!e.length)return;let i=e[0];if("borderBoxSize"in i){let t=i.borderBoxSize,e=Array.isArray(t)?t[0]:t;o=e.inlineSize,s=e.blockSize}else o=t.offsetWidth,s=t.offsetHeight;n({width:o,height:s})});return e.observe(t,{box:"border-box"}),()=>e.unobserve(t)}n(void 0)},[t]),s}t.s(["useSize",()=>s])},177067,t=>{"use strict";let e=(0,t.i(200132).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);t.s(["default",()=>e])},33250,t=>{"use strict";var e=t.i(177067);t.s(["ChevronsUpDownIcon",()=>e.default])},329270,t=>{"use strict";var e=t.i(522147);function o(t){let o=e.useRef({value:t,previous:t});return e.useMemo(()=>(o.current.value!==t&&(o.current.previous=o.current.value,o.current.value=t),o.current.previous),[t])}t.s(["usePrevious",()=>o])},103392,t=>{"use strict";var e=t.i(522147),o=t.i(120625),s=t.i(364970),n=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"}),i=e.forwardRef((t,e)=>(0,s.jsx)(o.Primitive.span,{...t,ref:e,style:{...n,...t.style}}));i.displayName="VisuallyHidden",t.s(["Root",()=>i,"VISUALLY_HIDDEN_STYLES",()=>n])},348548,t=>{"use strict";var e=t.i(364970),o=t.i(151306);let s=t=>{let{className:s,...n}=t;return(0,e.jsx)("textarea",{className:(0,o.cn)("flex min-h-[80px] w-full rounded-md bg-card shadow-xs border border-input px-3 py-2 text-base placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",s),...n})};t.s(["Textarea",()=>s])},623391,t=>{"use strict";var e=t.i(522147),o=t.i(18869),s=t.i(585968),n=t=>{var n;let r,a,{present:l,children:d}=t,u=function(t){var o,n;let[r,a]=e.useState(),l=e.useRef(null),d=e.useRef(t),u=e.useRef("none"),[h,c]=(o=t?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},e.useReducer((t,e)=>n[t][e]??t,o));return e.useEffect(()=>{let t=i(l.current);u.current="mounted"===h?t:"none"},[h]),(0,s.useLayoutEffect)(()=>{let e=l.current,o=d.current;if(o!==t){let s=u.current,n=i(e);t?c("MOUNT"):"none"===n||e?.display==="none"?c("UNMOUNT"):o&&s!==n?c("ANIMATION_OUT"):c("UNMOUNT"),d.current=t}},[t,c]),(0,s.useLayoutEffect)(()=>{if(r){let t,e=r.ownerDocument.defaultView??window,o=o=>{let s=i(l.current).includes(CSS.escape(o.animationName));if(o.target===r&&s&&(c("ANIMATION_END"),!d.current)){let o=r.style.animationFillMode;r.style.animationFillMode="forwards",t=e.setTimeout(()=>{"forwards"===r.style.animationFillMode&&(r.style.animationFillMode=o)})}},s=t=>{t.target===r&&(u.current=i(l.current))};return r.addEventListener("animationstart",s),r.addEventListener("animationcancel",o),r.addEventListener("animationend",o),()=>{e.clearTimeout(t),r.removeEventListener("animationstart",s),r.removeEventListener("animationcancel",o),r.removeEventListener("animationend",o)}}c("ANIMATION_END")},[r,c]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:e.useCallback(t=>{l.current=t?getComputedStyle(t):null,a(t)},[])}}(l),h="function"==typeof d?d({present:u.isPresent}):e.Children.only(d),c=(0,o.useComposedRefs)(u.ref,(n=h,(a=(r=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?n.ref:(a=(r=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?n.props.ref:n.props.ref||n.ref));return"function"==typeof d||u.isPresent?e.cloneElement(h,{ref:c}):null};function i(t){return t?.animationName||"none"}n.displayName="Presence",t.s(["Presence",()=>n])},312957,t=>{"use strict";var e=t.i(522147),o=t.i(291967),s=t.i(18869),n=t.i(671265),i=t.i(621605),r=t.i(704074),a=t.i(451577),l=t.i(560668),d=t.i(54999
10),u=t.i(623391),h=t.i(120625),c=t.i(381360),f=t.i(485711),p=t.i(73772),m=t.i(497603),y=t.i(364970),g="Dialog",[v,x]=(0,n.createContextScope)(g),[b,w]=v(g),k=t=>{let{__scopeDialog:o,children:s,open:n,defaultOpen:a,onOpenChange:l,modal:d=!0}=t,u=e.useRef(null),h=e.useRef(null),[c,f]=(0,r.useControllableState)({prop:n,defaultProp:a??!1,onChange:l,caller:g});return(0,y.jsx)(b,{scope:o,triggerRef:u,contentRef:h,contentId:(0,i.useId)(),titleId:(0,i.useId)(),descriptionId:(0,i.useId)(),open:c,onOpenChange:f,onOpenToggle:e.useCallback(()=>f(t=>!t),[f]),modal:d,children:s})};k.displayName=g;var j="DialogTrigger",O=e.forwardRef((t,e)=>{let{__scopeDialog:n,...i}=t,r=w(j,n),a=(0,s.useComposedRefs)(e,r.triggerRef);return(0,y.jsx)(h.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":H(r.open),...i,ref:a,onClick:(0,o.composeEventHandlers)(t.onClick,r.onOpenToggle)})});O.displayName=j;var N="DialogPortal",[R,C]=v(N,{forceMount:void 0}),P=t=>{let{__scopeDialog:o,forceMount:s,children:n,container:i}=t,r=w(N,o);return(0,y.jsx)(R,{scope:o,forceMount:s,children:e.Children.map(n,t=>(0,y.jsx)(u.Presence,{present:s||r.open,children:(0,y.jsx)(d.Portal,{asChild:!0,container:i,children:t})}))})};P.displayName=N;var A="DialogOverlay",S=e.forwardRef((t,e)=>{let o=C(A,t.__scopeDialog),{forceMount:s=o.forceMount,...n}=t,i=w(A,t.__scopeDialog);return i.modal?(0,y.jsx)(u.Presence,{present:s||i.open,children:(0,y.jsx)(D,{...n,ref:e})}):null});S.displayName=A;var E=(0,m.createSlot)("DialogOverlay.RemoveScroll"),D=e.forwardRef((t,e)=>{let{__scopeDialog:o,...s}=t,n=w(A,o);return(0,y.jsx)(f.RemoveScroll,{as:E,allowPinchZoom:!0,shards:[n.contentRef],children:(0,y.jsx)(h.Primitive.div,{"data-state":H(n.open),...s,ref:e,style:{pointerEvents:"auto",...s.style}})})}),M="DialogContent",T=e.forwardRef((t,e)=>{let o=C(M,t.__scopeDialog),{forceMount:s=o.forceMount,...n}=t,i=w(M,t.__scopeDialog);return(0,y.jsx)(u.Presence,{present:s||i.open,children:i.modal?(0,y.jsx)(z,{...n,ref:e}):(0,y.jsx)(I,{...n,ref:e})})});T.displayName=M;var z=e.forwardRef((t,n)=>{let i=w(M,t.__scopeDialog),r=e.useRef(null),a=(0,s.useComposedRefs)(n,i.contentRef,r);return e.useEffect(()=>{let t=r.current;if(t)return(0,p.hideOthers)(t)},[]),(0,y.jsx)(_,{...t,ref:a,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.composeEventHandlers)(t.onCloseAutoFocus,t=>{t.preventDefault(),i.triggerRef.current?.focus()}),onPointerDownOutside:(0,o.composeEventHandlers)(t.onPointerDownOutside,t=>{let e=t.detail.originalEvent,o=0===e.button&&!0===e.ctrlKey;(2===e.button||o)&&t.preventDefault()}),onFocusOutside:(0,o.composeEventHandlers)(t.onFocusOutside,t=>t.preventDefault())})}),I=e.forwardRef((t,o)=>{let s=w(M,t.__scopeDialog),n=e.useRef(!1),i=e.useRef(!1);return(0,y.jsx)(_,{...t,ref:o,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{t.onCloseAutoFocus?.(e),e.defaultPrevented||(n.current||s.triggerRef.current?.focus(),e.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:e=>{t.onInteractOutside?.(e),e.defaultPrevented||(n.current=!0,"pointerdown"===e.detail.originalEvent.type&&(i.current=!0));let o=e.target;s.triggerRef.current?.contains(o)&&e.preventDefault(),"focusin"===e.detail.originalEvent.type&&i.current&&e.preventDefault()}})}),_=e.forwardRef((t,o)=>{let{__scopeDialog:n,trapFocus:i,onOpenAutoFocus:r,onCloseAutoFocus:d,...u}=t,h=w(M,n),f=e.useRef(null),p=(0,s.useComposedRefs)(o,f);return(0,c.useFocusGuards)(),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:r,onUnmountAutoFocus:d,children:(0,y.jsx)(a.DismissableLayer,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":H(h.open),...u,ref:p,onDismiss:()=>h.onOpenChange(!1)})}),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(B,{titleId:h.titleId}),(0,y.jsx)(X,{contentRef:f,descriptionId:h.descriptionId})]})]})}),q="DialogTitle",K=e.forwardRef((t,e)=>{let{__scopeDialog:o,...s}=t,n=w(q,o);return(0,y.jsx)(h.Primitive.h2,{id:n.titleId,...s,ref:e})});K.displayName=q;var F="DialogDescription",L=e.forwardRef((t,e)=>{let{__scopeDialog:o,...s}=t,n=w(F,o);return(0,y.jsx)(h.Primitive.p,{id:n.descriptionId,...s,ref:e})});L.displayName=F;var U="DialogClose",$=e.forwardRef((t,e)=>{let{__scopeDialog:s,...n}=t,i=w(U,s);return(0,y.jsx)(h.Primitive.button,{type:"button",...n,ref:e,onClick:(0,o.composeEventHandlers)(t.onClick,()=>i.onOpenChange(!1))})});function H(t){return t?"open":"closed"}$.displayName=U;var W="DialogTitleWarning",[Q,V]=(0,n.createContext)(W,{contentName:M,titleName:q,docsSlug:"dialog"}),B=t=>{let{titleId:o}=t,s=V(W),n=`\`${s.contentName}\` requires a \`${s.titleName}\` for the component to be accessible for screen reader users. 2 3If you want to hide the \`${s.titleName}\`, you can wrap it with our VisuallyHidden component. 4 5For more information, see https://radix-ui.com/primitives/docs/components/${s.docsSlug}`;return e.useEffect(()=>{o&&(document.getElementById(o)||console.error(n))},[n,o]),null},X=t=>{let{contentRef:o,descriptionId:s}=t,n=V("DialogDescriptionWarning"),i=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${n.contentName}}.`;return e.useEffect(()=>
5{let t=o.current?.getAttribute("aria-describedby");s&&t&&(document.getElementById(s)||console.warn(i))},[i,o,s]),null};t.s(["Close",()=>$,"Content",()=>T,"Description",()=>L,"Overlay",()=>S,"Portal",()=>P,"Root",()=>k,"Title",()=>K,"Trigger",()=>O,"WarningProvider",()=>Q,"createDialogScope",()=>x])},239766,t=>{"use strict";var e=t.i(822770);t.s(["XIcon",()=>e.default])},902146,t=>{"use strict";var e=t.i(364970),o=t.i(312957),s=t.i(151306),n=t.i(239766);let i=o.Root,r=o.Trigger,a=t=>{let{...s}=t;return(0,e.jsx)(o.Portal,{...s})},l=t=>{let{className:n,...i}=t;return(0,e.jsx)(o.Overlay,{className:(0,s.cn)("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-background/80 backdrop-blur-xs data-[state=closed]:animate-out data-[state=open]:animate-in",n),...i})},d=t=>{let{className:i,children:r,...d}=t;return(0,e.jsxs)(a,{children:[(0,e.jsx)(l,{}),(0,e.jsxs)(o.Content,{className:(0,s.cn)("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=closed]:animate-out data-[state=open]:animate-in rounded-lg md:w-full",i),...d,children:[r,(0,e.jsxs)(o.Close,{className:"absolute top-4 right-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,e.jsx)(n.XIcon,{className:"size-4"}),(0,e.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},u=t=>{let{className:o,...n}=t;return(0,e.jsx)("div",{className:(0,s.cn)("flex flex-col space-y-1.5 text-center sm:text-left",o),...n})},h=t=>{let{className:o,...n}=t;return(0,e.jsx)("div",{className:(0,s.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",o),...n})},c=t=>{let{className:n,...i}=t;return(0,e.jsx)(o.Title,{className:(0,s.cn)("font-semibold text-lg leading-none tracking-tight",n),...i})},f=t=>{let{className:n,...i}=t;return(0,e.jsx)(o.Description,{className:(0,s.cn)("text-muted-foreground text-sm",n),...i})};t.s(["Dialog",()=>i,"DialogContent",()=>d,"DialogDescription",()=>f,"DialogFooter",()=>h,"DialogHeader",()=>u,"DialogTitle",()=>c,"DialogTrigger",()=>r])},374109,t=>{"use strict";var e=t.i(364970),o=t.i(522147);function s(){let t=(0,o.useRef)(null);return(0,o.useEffect)(()=>{let e=t.current;if(!e)return;let o=!1,s=()=>{let t=document.documentElement.scrollTop,s=document.documentElement.scrollHeight-document.documentElement.clientHeight;e.style.transform=`scaleX(${s>0?t/s:0})`,o=!1},n=()=>{o||(requestAnimationFrame(s),o=!0)};return window.addEventListener("scroll",n,{passive:!0}),()=>window.removeEventListener("scroll",n)},[]),(0,e.jsx)("div",{className:"pointer-events-none fixed top-0 right-0 left-0 z-50 h-1 bg-transparent",children:(0,e.jsx)("div",{ref:t,className:"home-scroll-progress h-full bg-[#c9a962]",style:{transform:"scaleX(0)"}})})}t.s(["ScrollProgress",()=>s])},43901,t=>{"use strict";let e=(0,t.i(200132).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);t.s(["default",()=>e])},935377,t=>{"use strict";let e=(0,t.i(200132).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);t.s(["default",()=>e])},567164,t=>{"use strict";let e=(0,t.i(200132).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);t.s(["default",()=>e])},124486,t=>{"use strict";let e=(0,t.i(200132).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);t.s(["default",()=>e])},543716,t=>{"use strict";var e=t.i(43901);t.s(["ChevronRight",()=>e.default])},822263,t=>{"use strict";var e=t.i(364970),o=t.i(522147);function s(t){let{children:s,className:n,...i}=t,r=(0,o.useRef)(null),[a,l]=(0,o.useState)("static");return(0,o.useEffect)(()=>{let t=r.current;if(!t||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let e=new IntersectionObserver(t=>{let[o]=t;o?.isIntersecting&&(l("shown"),e.disconnect())}
5,{threshold:0,rootMargin:"0px 0px -10% 0px"}),o=t.getBoundingClientRect();return o.top<.85*window.innerHeight&&o.bottom>0?void l("shown"):(l("hidden"),e.observe(t),()=>e.disconnect())},[]),(0,e.jsx)("div",{ref:r,className:n,"data-about-inview":a,...i,children:s})}t.s(["AboutInView",()=>s])},479081,t=>{"use strict";var e=t.i(935377);t.s(["ChevronLeft",()=>e.default])},285622,t=>{"use strict";var e=t.i(364970),o=t.i(199862),s=t.i(112589),n=t.i(24043),i=t.i(479081),r=t.i(543716),a=t.i(819221),l=t.i(54373),d=t.i(522147);let u=(0,d.createContext)(null);function h(){return(0,d.useContext)(u)}function c(t){let{name:o,uri:s}=t;if(!o)return null;let n=`Photo: ${o}`;return s?(0,e.jsx)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-white/70 underline-offset-2 hover:underline",children:n}):(0,e.jsx)("span",{className:"text-xs text-white/70",children:n})}function f(t){let{photos:o,practiceName:s,selectedIndex:d,onClose:u,onSelect:h,open:f=!0,instantSwap:p=!1,onExitComplete:m}=t,y=o[d];return y?(0,e.jsxs)("div",{className:"practice-lightbox fixed inset-0 z-50 flex items-center justify-center bg-black/90 p-4 backdrop-blur-sm","data-open":f?"true":"false",onClick:u,onKeyDown:t=>{"Escape"===t.key&&u()},onTransitionEnd:t=>{t.target!==t.currentTarget||"opacity"!==t.propertyName||f||m?.()},role:"dialog","aria-modal":"true","aria-label":"Photo gallery lightbox",children:[(0,e.jsx)("button",{type:"button",onClick:u,className:"btn-press absolute top-4 right-4 z-10 flex h-10 w-10 items-center justify-center rounded-full bg-white/10 text-white transition-[background-color] duration-[150ms] ease-[cubic-bezier(0.23,1,0.32,1)] [@media(hover:hover)_and_(pointer:fine)]:hover:bg-white/20","aria-label":"Close",children:(0,e.jsx)(a.X,{className:"h-6 w-6"})}),(0,e.jsxs)("div",{className:"absolute top-4 left-4 z-10 rounded-full bg-black/50 px-4 py-2 text-sm font-medium text-white backdrop-blur",children:[d+1," / ",o.length]}),(0,e.jsxs)("div",{className:"practice-lightbox-frame relative max-h-[90vh] max-w-[90vw]",onClick:t=>t.stopPropagation(),onKeyDown:t=>t.stopPropagation(),role:"img","aria-label":`Photo ${d+1} of ${o.length}`,children:[(0,e.jsx)("div",{className:"practice-lightbox-shot","data-instant":p?"true":"false",children:(0,e.jsx)(l.default,{src:y.url,alt:y.altText||`${s} - Photo ${d+1}`,width:y.width||1200,height:y.height||800,className:"h-auto max-h-[90vh] w-auto max-w-full rounded-lg",unoptimized:(0,n.shouldSkipImageOptimization)(y.url)})},y.url),y.caption?(0,e.jsx)("p",{className:"mt-3 text-center text-sm text-white/80",children:y.caption}):null,(0,e.jsx)("div",{className:"mt-2 text-center",children:(0,e.jsx)(c,{name:y.attributionName,uri:y.attributionUri})})]}),o.length>1?(0,e.jsxs)(e.Fragment,{children:[d>0?(0,e.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),h(d-1,!1)},className:"btn-press absolute top-1/2 left-4 flex h-12 w-12 -translate-y-1/2 items-center justify-center rounded-full bg-white/10 text-white backdrop-blur transition-[background-color] duration-[150ms] ease-[cubic-bezier(0.23,1,0.32,1)] [@media(hover:hover)_and_(pointer:fine)]:hover:bg-white/20","aria-label":"Previous photo",children:(0,e.jsx)(i.ChevronLeft,{className:"h-6 w-6"})}):null,d<o.length-1?(0,e.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),h(d+1,!1)},className:"btn-press absolute top-1/2 right-4 flex h-12 w-12 -translate-y-1/2 items-center justify-center rounded-full bg-white/10 text-white backdrop-blur transition-[background-color] duration-[150ms] ease-[cubic-bezier(0.23,1,0.32,1)] [@media(hover:hover)_and_(pointer:fine)]:hover:bg-white/20","aria-label":"Next photo",children:(0,e.jsx)(r.ChevronRight,{className:"h-6 w-6"})}):null]}):null]}):null}function p(t){let{photos:o,practiceName:n,children:i}=t,r=(0,d.useMemo)(()=>(0,s.hostedPracticePhotos)(o),[o]),[a,l]=(0,d.useState)(null),[h,c]=(0,d.useState)(0),[p,m]=(0,d.useState)(!1),[y,g]=(0,d.useState)(!1),[v,x]=(0,d.useState)(!1),b=(0,d.useCallback)(t=>{t>=0&&t<r.length&&(x(!1),c(t),l(t),g(!0))},[r.length]),w=(0,d.useCallback)(()=>{l(null),m(!1)},[]),k=(0,d.useCallback)(function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];x(e),c(t),l(t)},[]);(0,d.useEffect)(()=>{null!==a&&c(a)},[a]),(0,d.useEffect)(()=>
5{if(!y||null===a)return;let t=requestAnimationFrame(()=>m(!0));return()=>cancelAnimationFrame(t)},[y,a]),(0,d.useEffect)(()=>{if(!p)return;let t=t=>{if("Escape"===t.key)return void w();if("ArrowLeft"===t.key){x(!0),l(t=>null!==t&&t>0?t-1:t);return}"ArrowRight"===t.key&&(x(!0),l(t=>null!==t&&t<r.length-1?t+1:t))};document.addEventListener("keydown",t);let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",t),document.body.style.overflow=e}},[w,r.length,p]);let j=(0,d.useMemo)(()=>({photos:r,practiceName:n,open:b}),[r,b,n]);return(0,e.jsxs)(u.Provider,{value:j,children:[i,y?(0,e.jsx)(f,{photos:r,practiceName:n,selectedIndex:h,open:p,instantSwap:v,onClose:w,onSelect:k,onExitComplete:()=>g(!1)}):null]})}function m(t){let{src:s,alt:n,photoCount:i}=t,r=h(),a="relative w-full shrink-0 overflow-hidden rounded-2xl shadow-2xl outline outline-2 outline-[#c9a962]/40 order-first lg:order-none lg:w-80",l=(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.PracticeImageWithFallback,{src:s,alt:n,width:320,height:240,className:"h-60 w-full object-cover object-top",sizes:"(min-width: 1024px) 320px, 100vw",priority:!0}),i>1?(0,e.jsxs)("span",{className:"absolute bottom-3 left-3 rounded-full bg-black/60 px-3 py-1 text-sm font-medium text-white",children:[i," photos"]}):null]});return!r||i<1?(0,e.jsx)("div",{className:a,children:l}):(0,e.jsx)("button",{type:"button",onClick:()=>r.open(0),className:`btn-press practice-photo-tile ${a} cursor-pointer text-left focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#c9a962]`,"aria-label":i>1?`View ${i} photos`:"View photo",children:l})}function y(t){let{name:o}=t;return o?(0,e.jsxs)("span",{className:"text-xs text-white/70",children:["Photo: ",o]}):null}t.s(["PhotoAttributionLabel",()=>y,"PracticeHeroCover",()=>m,"PracticePhotoLightboxView",()=>f,"PracticePhotosProvider",()=>p,"useOptionalPracticePhotos",()=>h])},125186,t=>{"use strict";var e=t.i(91737);let o=(0,e.default)(()=>t.A(411717).then(t=>t.ScrollProgress),{loadableGenerated:{modules:[284168]},ssr:!1}),s=(0,e.default)(()=>t.A(581199).then(t=>t.StickyMobileCTA),{loadableGenerated:{modules:[174497]},ssr:!1});t.s(["DeferredStickyMobileCTA",0,s,"ScrollProgress",0,o])},339252,t=>{"use strict";var e=t.i(364970),o=t.i(54373),s=t.i(522147);function n(t){let{src:n,alt:i,initials:r}=t,[a,l]=(0,s.useState)(!1);return a?(0,e.jsx)("div",{className:"w-12 h-12 rounded-full shrink-0 border-2 border-accent/20 bg-accent/10 flex items-center justify-center",children:(0,e.jsx)("span",{className:"text-sm font-bold text-accent",children:r})}):(0,e.jsx)("div",{className:"relative w-12 h-12 rounded-full overflow-hidden shrink-0 border-2 border-accent/20",children:(0,e.jsx)(o.default,{src:n,alt:i,fill:!0,className:"object-cover",sizes:"48px",quality:85,loading:"lazy",onError:()=>l(!0)})})}t.s(["TestimonialAvatar",()=>n])},13759,t=>{"use strict";var e=t.i(364970),o=t.i(112589),s=t.i(24043),n=t.i(54373),i=t.i(522147),r=t.i(285622);function a(t){let{photos:a,practiceName:l}=t,d=(0,r.useOptionalPracticePhotos)(),[u,h]=(0,i.useState)(null),c=d?.photos??(0,o.hostedPracticePhotos)(a);if(0===c.length)return null;let f=d?c.slice(1,7):c.slice(0,6),p=d?c.length-1:c.length,m=t=>d?t+1:t;return 0===f.length?null:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 sm:gap-4",children:f.map((t,o)=>(0,e.jsxs)("button",{type:"button",onClick:()=>{let t;return t=m(o),void(d?d.open(t):h(t))},className:"btn-press practice-photo-tile relative aspect-square overflow-hidden rounded-xl bg-stone-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#c9a962]",children:[(0,e.jsx)(n.default,{src:t.url,alt:t.altText||`${l} - Photo ${m(o)+1}`,fill:!0,sizes:"(max-width: 640px) 50vw, 33vw",className:"object-cover",unoptimized:(0,s.shouldSkipImageOptimization)(t.url)}),t.attributionName?(0,e.jsx)("div",{className:"absolute right-0 bottom-0 left-0 bg-black/50 px-2 py-1 text-left",children:(0,e.jsx)(r.PhotoAttributionLabel,{name:t.attributionName})}):null,5===o&&p>6?(0,e.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/60 backdrop-blur-sm",children:(0,e.jsxs)("span",{className:"text-2xl font-bold text-white",children:["+",p-6]})}):null]},t.url))}),d||null===u?null:(0,e.jsx)(r.PracticePhotoLightboxView,{photos:c,practiceName:l,selectedIndex:u,onClose:()=>h(null),onSelect:t=>h(t)})]})}t.s(["PhotoGallery",()=>a])},248150,t=>{t.v(e=>Promise.all(["static/chunks/578c7494c0458f4f.js"].map(e=>t.l(e))).then(()=>e(199055)))},263556,t=>{t.v(e=>Promise.all(["static/chunks/00747ce27c41e16a.js"].map(e=>t.l(e))).then(()=>e(753095)))},411717,t=>{t.v(e=>Promise.all(["static/chunks/97e4fb06118a4aff.js"].map(e=>t.l(e))).then(()=>e(284168)))},581199,t=>{t.v(e=>Promise.all(["static/chunks/9f856b607b23afef.js"].map(e=>t.l(e))).then(()=>e(174497)))}]);
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.