PageSourceSearch

https://tenten.co/_next/static/chunks/10yqoo6ttmizq.js?dpl=dpl_2h2PxSrWqEyzwiTP7wJ1pcdVZe9v

js tenten.co collected 2026-09-24 18:27:39 UTC 43,569 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16362,e=>{"use strict";var t=e.i(43476),a=e.i(65747),r=e.i(89970),n=e.i(22016),s=e.i(71645),i=e.i(19608);let o=[{id:"headless-cms",group:"project",shortLabel:"Headless CMS",eyebrow:"One content layer, every channel",title:"Headless CMS development",summary:"For enterprise publishing, multi-site programs, and products that need to share content across websites and apps. We design the content model, APIs, front end, migration, and launch.",price:"$20,000+",cadence:"per project",bestFor:["Multi-site and multilingual teams","Web and app content reuse","Enterprise API integrations"],included:["Content model and architecture","Front-end experience and API development","Migration, testing, and launch"],deliveryLabel:"Delivery model",deliveryValue:"Scoped to the architecture",deliveryShape:{startLabel:"Architecture first",endLabel:"Integrated launch",note:"Front-end, API, and migration work overlap after the content architecture is agreed.",lanes:[{label:"Content model",start:1,span:4,tone:"solid"},{label:"API + front end",start:4,span:6,tone:"soft"},{label:"Migration + QA",start:7,span:6,tone:"outline"}]},proof:"Our headless work spans enterprise publishing, digital products, and commerce.",proofLabel:"Headless expertise"},{id:"webflow-site",group:"project",shortLabel:"Webflow",eyebrow:"Strategy through launch",title:"Webflow design and development",summary:"For teams rebuilding a brand, content system, and website experience together. One accountable delivery group owns strategy, design, Webflow development, QA, and launch.",price:"$15,000+",cadence:"per project",bestFor:["New brand websites","Corporate redesigns","Content teams that need a CMS"],included:["Strategy and information architecture","UI/UX and design system","Webflow development and launch"],deliveryLabel:"Typical project",deliveryValue:"Agreed with the scope",deliveryShape:{startLabel:"Strategy",endLabel:"Website launch",note:"Each stage c
1arries the previous decision forward, which suits a clearly bounded website build.",lanes:[{label:"Strategy + IA",start:1,span:2,tone:"solid"},{label:"Design system",start:3,span:3,tone:"soft"},{label:"Webflow build",start:6,span:4,tone:"solid"},{label:"QA + launch",start:10,span:3,tone:"outline"}]},proof:"Strategy, design, development, and launch stay with one delivery team.",proofLabel:"One delivery team"},{id:"shopify-commerce",group:"project",shortLabel:"Shopify commerce",eyebrow:"Commerce strategy through stable operations",title:"Shopify commerce",summary:"For brands launching, rebuilding, or moving a Shopify store. Product, content, checkout, fulfillment, customer accounts, and third-party integrations are planned as one commercial and technical scope.",price:"$30,000+",cadence:"per project",bestFor:["New Shopify stores and redesigns","Multi-market and multilingual commerce","Commerce teams with system integrations"],included:["Commerce workflow and platform planning","Custom UX, design, and Shopify development","Integration, testing, and launch support"],deliveryLabel:"Delivery model",deliveryValue:"Agreed with the commerce scope",deliveryShape:{startLabel:"Commerce review",endLabel:"Store launch",note:"Product, experience, platform, and integration work follow their dependencies and reconcile in one launch checklist.",lanes:[{label:"Commerce + catalog",start:1,span:4,tone:"solid"},{label:"UX + design",start:3,span:5,tone:"soft"},{label:"Shopify build",start:5,span:6,tone:"solid"},{label:"Integration + QA",start:8,span:5,tone:"outline"}]},proof:"Product, content, transaction, and operating responsibilities are aligned before production, so critical integrations do not wait until launch.",proofLabel:"Complete commerce scope"},{id:"enterprise-solutions",group:"project",shortLabel:"Enterprise",eyebrow:"Understand the organization before defining the solution",title:"Enterprise solutions",summary:"For public companies, global multilingual programs, and organizations with complex governance, security, procurement, or stakeholder requirements. A specialist starts with your goals and operating constraints before proposing the engagement.",quotePrompt:{eyebrow:"Enterprise assessment",title:"Scoped with our enterprise team",description:"Enterprise work has no published standard price. We review markets, languages, governance, integrations, security, and launch conditions before preparing a custom scope, schedule, and proposal."},contactLabel:"Talk to our enterprise team",bestFor:["Public companies and large organizations","Global multi-site and multilingual programs","Work shaped by governance, security, and procurement"],included:["Goal and stakeholder discovery","Operating, content, and technical assessment","A custom scope, schedule, and commercial proposal"],deliveryLabel:"Enterprise assessment",deliveryValue:"Defined after discovery",deliveryShape:{startLabel:"Enterprise discovery",endLabel:"Custom proposal",note:"Decision owners, governance, technical, security, and procurement conditions are reviewed before scope and commercial terms are defined.",lanes:[{label:"Goals + stakeholders",start:1,span:4,tone:"solid"},{label:"Governance + operations",start:3,span:5,tone:"soft"},{label:"Technology + security",start:4,span:6,tone:"solid"},{label:"Scope + proposal",start:9,span:4,tone:"outline"}]},proof:"The proposal reflects the real markets, languages, governance, integrations, and launch ownership instead of hiding those differences behind one standard number.",proofLabel:"Custom by design"},{id:"web-operations",group:"retainer",shortLabel:"Starter",eyebrow:"Keep ownership after launch",title:"Ongoing website team",summary:"For teams that do not want a website to stall after launch. A designer, developer, and project manager who know the system keep content, UX, and technical work moving.",price:"$900",cadence:"per month",selectorPrice:"$900/mo",bestFor:["Maintenance and small site changes","One clearly bounded request at a time","Stable sites with a short monthly backlog"],included:["Around 5 hours each month","One active request","Monthly planning and QA"],deliveryLabel:"Working cadence",deliveryValue:"Around 5 hours / month",deliveryShape:{startLabel:"Monthly backlog",endLabel:"Next cycle",note:"A bounded monthly queue moves through production, QA, and release before the next priorities are set.",lanes:[{label:"Prioritize",start:1,span:2,tone:"solid"},{label:"Design + build",start:3,span:6,tone:"soft"},{label:"QA",start:8,span:2,tone:"outline"}
1,{label:"Release",start:10,span:3,tone:"solid"}]},proof:"Project context stays with the people responsible for the next release, reducing repeated handoffs.",proofLabel:"Continuous ownership"},{id:"growth-operations",group:"retainer",shortLabel:"Growth",eyebrow:"Turn the site into a growth system",title:"Digital growth team",summary:"For teams shipping campaigns, content, and conversion improvements every month. Insight, design, development, and publishing run in one repeatable cadence.",price:"$3,200",cadence:"per month",selectorPrice:"$3.2k/mo",bestFor:["Growth campaigns and conversion work","One or two active workstreams","Teams with a continuous release calendar"],included:["Around 20 hours each month","Monthly planning and review","Design, development, release, and iteration"],deliveryLabel:"Working cadence",deliveryValue:"Around 20 hours / month",deliveryShape:{startLabel:"Insight + goal",endLabel:"Measured result",note:"Insight, production, and publishing overlap, then results feed the next round of priorities.",lanes:[{label:"Insight",start:1,span:3,tone:"solid"},{label:"Design + build",start:3,span:5,tone:"soft"},{label:"Publish",start:8,span:2,tone:"solid"},{label:"Review + learn",start:10,span:3,tone:"outline"}]},proof:"Strategy, design, engineering, and project management share one accountable workflow.",proofLabel:"One integrated team"},{id:"scale-operations",group:"retainer",shortLabel:"Scale",eyebrow:"Integrated growth capacity",title:"Scale growth team",summary:"For teams that need an ongoing mix of strategy, marketing, paid media, GEO, SEO, content generation, and social media. The monthly capacity follows the highest-priority mix instead of being divided evenly across every channel.",price:"$6,000",cadence:"per month",selectorPrice:"$6k/mo",bestFor:["An ongoing multi-channel growth backlog","Two or three active workstreams","Teams replacing several specialist vendors"],included:["Around 40 hours across the priorities chosen each month","Strategy, marketing, paid media, GEO, and SEO","Content generation and social media operations"],deliveryLabel:"Working capacity",deliveryValue:"Around 40 hours / month",deliveryShape:{startLabel:"Strategy + priorities",endLabel:"Review + next cycle",note:"Choose the mix that matters this month. Team time comes from one shared 40-hour capacity; paid-media spend and third-party costs are separate.",lanes:[{label:"Strategy",start:1,span:3,tone:"solid"},{label:"SEO + GEO",start:2,span:7,tone:"soft"},{label:"Content + social",start:4,span:7,tone:"solid"},{label:"Campaigns + paid",start:5,span:8,tone:"outline"}]},proof:"Strategy and execution stay in one reviewed backlog, with priorities, releases, and performance decisions recorded together.",proofLabel:"One growth backlog"}],l=[{id:"headless-cms",group:"project",shortLabel:"Headless CMS",eyebrow:"內容一次管理,多端發布",title:"Headless CMS 開發",summary:"適合企業內容、多站點與多通路發佈需求。把內容層與前端體驗拆開,讓網站、App 與其他數位接觸點共用同一套內容基礎。",price:"$20,000+",cadence:"每個專案",bestFor:["多站點與多語系","網站與 App 共用內容","需要 API 整合的企業"],included:["內容模型與架構規劃","前端體驗與 API 開發","資料遷移、測試與上線"],deliveryLabel:"交付方式",deliveryValue:"依架構評估",deliveryShape:{startLabel:"架構先行",endLabel:"整合上線",note:"內容架構確認後,前端、API 與遷移工作會交錯推進。",lanes:[{label:"內容模型",start:1,span:4,tone:"solid"},{label:"API 與前端",start:4,span:6,tone:"soft"},{label:"遷移與 QA",start:7,span:6,tone:"outline"}]},proof:"Tenten 的 Headless 經驗涵蓋企業內容平台、數位產品與商務情境。",proofLabel:"Headless 實務經驗"},{id:"webflow-site",group:"project",shortLabel:"Webflow 開發",eyebrow:"從策略到上線",title:"Webflow 網站開發",summary:"適合需要重新梳理品牌、內容與網站體驗的團隊。從前期策略、設計系統到 Webflow 開發,由同一組人負責。",price:"$15,000+",cadence:"每個專案",bestFor:["新品牌網站","企業官網改版","需要 CMS 的內容團隊"],included:["策略與資訊架構","UI/UX 與設計系統","Webflow 開發與上線"],deliveryLabel:"常見專案週期",deliveryValue:"隨書面範圍確認",deliveryShape:{startLabel:"策略",endLabel:"網站上線",note:"每一階段承接前一階段的決策,適合範圍清楚的網站專案。",lanes:[{label:"策略與 IA",start:1,span:2,tone:"solid"}
1,{label:"設計系統",start:3,span:3,tone:"soft"},{label:"Webflow 開發",start:6,span:4,tone:"solid"},{label:"QA 與上線",start:10,span:3,tone:"outline"}]},proof:"策略、設計、開發與上線都有指定的交付責任人。",proofLabel:"同一組交付團隊"},{id:"shopify-commerce",group:"project",shortLabel:"Shopify 電商",eyebrow:"從商務策略到穩定營運",title:"Shopify 電商網站",summary:"適合準備建立、改版或移轉 Shopify 商店的品牌。商品、內容、付款、物流、會員與第三方整合會放在同一份商務與技術範圍中規劃。",price:"$30,000+",cadence:"每個專案",bestFor:["Shopify 新店與改版","多市場與多語系商店","需要系統整合的商務團隊"],included:["商務流程與平台規劃","客製 UX、設計與 Shopify 開發","整合、測試與上線支援"],deliveryLabel:"交付方式",deliveryValue:"依商務範圍確認",deliveryShape:{startLabel:"商務盤點",endLabel:"商店上線",note:"商品、體驗、平台與整合工作會依相依關係推進,最後在同一份上線清單中驗收。",lanes:[{label:"商務與商品",start:1,span:4,tone:"solid"},{label:"UX 與設計",start:3,span:5,tone:"soft"},{label:"Shopify 開發",start:5,span:6,tone:"solid"},{label:"整合與 QA",start:8,span:5,tone:"outline"}]},proof:"商品、內容、交易與營運責任會在製作前對齊,避免把關鍵整合留到上線前才處理。",proofLabel:"完整商務範圍"},{id:"enterprise-solutions",group:"project",shortLabel:"企業方案",eyebrow:"先理解企業目標,再定義方案",title:"Enterprise Solutions",summary:"適合上市公司、全球多語系網站,以及牽涉治理、資安、採購或多方利害關係人的企業計畫。專人會先了解你的商業目標、營運方式與必要條件,再提出客製化合作方案。",quotePrompt:{eyebrow:"企業客製評估",title:"由專人了解需求後報價",description:"企業計畫沒有公開固定價格。我們會先確認市場、語系、治理、系統整合、資安與上線條件,再提供客製範圍、時程與報價。"},contactLabel:"與企業顧問討論",bestFor:["上市公司與大型組織","全球多站點與多語系計畫","涉及治理、資安與採購的專案"],included:["企業目標與利害關係人訪談","營運、內容與技術條件評估","客製範圍、時程與報價建議"],deliveryLabel:"企業評估流程",deliveryValue:"需求訪談後定義",deliveryShape:{startLabel:"企業需求訪談",endLabel:"客製提案",note:"先確認決策人、治理、技術與採購條件,再定義可執行的工作範圍與報價。",lanes:[{label:"目標與利害關係人",start:1,span:4,tone:"solid"},{label:"治理與營運",start:3,span:5,tone:"soft"},{label:"技術與資安",start:4,span:6,tone:"solid"},{label:"範圍與提案",start:9,span:4,tone:"outline"}]},proof:"企業報價會反映實際市場、語系、治理、整合與上線責任,不用一個標準數字掩蓋差異。",proofLabel:"依目標客製"},{id:"web-operations",group:"retainer",shortLabel:"Starter",eyebrow:"讓網站持續有人負責",title:"網站維運團隊",summary:"適合需要穩定處理網站維護與小型調整的團隊。由熟悉既有脈絡的設計、開發與專案管理夥伴,讓每月待辦持續往前。",price:"$900",cadence:"每月",selectorPrice:"$900/月",bestFor:["網站維護與小型調整","一次處理一個範圍清楚的需求","每月待辦不多的穩定網站"],included:["每月約 5 小時","同時進行一項需求","每月排程與品質管理"],deliveryLabel:"合作節奏",deliveryValue:"每月約 5 小時",deliveryShape:{startLabel:"本月待辦",endLabel:"下一輪",note:"每月先選定一項範圍清楚的待辦,完成製作、QA 與發布後再安排下一輪。",lanes:[{label:"排定優先",start:1,span:2,tone:"solid"},{label:"設計與開發",start:3,span:6,tone:"soft"},{label:"QA",start:8,span:2,tone:"outline"},{label:"發布",start:10,span:3,tone:"solid"}]},proof:"熟悉網站脈絡的執行者延續決策紀錄,減少每次重新交接的成本。",proofLabel:"持續承接"},{id:"growth-operations",group:"retainer",shortLabel:"Growth",eyebrow:"把網站變成持續成長的系統",title:"數位成長團隊",summary:"適合需要穩定推出活動、內容與轉換優化的團隊。把洞察、設計、開發與發布放進同一個持續運作的節奏。",price:"$3,200",cadence:"每月",selectorPrice:"$3,200/月",bestFor:["成長活動與轉換優化","同時進行一至兩條工作線","有持續發布節奏的團隊"],included:["每月約 20 小時","每月規劃與檢視","設計、開發、發布與下一輪調整"],deliveryLabel:"合作節奏",deliveryValue:"每月約 20 小時",deliveryShape:{startLabel:"洞察與目標",endLabel:"回收成效",note:"洞察、製作與發布會部分重疊,發布結果再回到下一輪排序。",lanes:[{label:"洞察",start:1,span:3,tone
1:"solid"},{label:"設計與製作",start:3,span:5,tone:"soft"},{label:"發布",start:8,span:2,tone:"solid"},{label:"檢視與調整",start:10,span:3,tone:"outline"}]},proof:"設計、工程與專案管理由同一個合作窗口整合。",proofLabel:"同一組整合團隊"},{id:"scale-operations",group:"retainer",shortLabel:"Scale",eyebrow:"整合式成長產能",title:"整合成長團隊",summary:"適合需要長期整合策略、行銷、廣告投放、GEO、SEO、內容生成與社群媒體營運的團隊。每月依最高優先順序調整投入,不會把工時平均切給所有項目。",price:"$6,000",cadence:"每月",selectorPrice:"$6,000/月",bestFor:["持續運作的多通路成長待辦","同時進行兩至三條工作線","希望整合多個專業供應商的團隊"],included:["每月約 40 小時,依當月優先順序分配","策略、行銷、廣告投放、GEO 與 SEO","內容生成與社群媒體營運"],deliveryLabel:"工作產能",deliveryValue:"每月約 40 小時",deliveryShape:{startLabel:"策略與優先順序",endLabel:"檢視與下一輪",note:"每月選擇最重要的組合,共用約 40 小時產能;廣告媒體費與第三方工具費另計。",lanes:[{label:"策略",start:1,span:3,tone:"solid"},{label:"SEO 與 GEO",start:2,span:7,tone:"soft"},{label:"內容與社群",start:4,span:7,tone:"solid"},{label:"活動與廣告",start:5,span:8,tone:"outline"}]},proof:"策略與執行共用一份經過檢視的待辦,優先順序、發布紀錄與成效決策留在同一個合作脈絡裡。",proofLabel:"同一份成長待辦"}];r.gsap.registerPlugin(a.useGSAP);let c={"headless-cms":{surface:"#111b16",accentBg:"bg-[#ff334c]",accentBorder:"border-[#ff334c]",accentWash:"bg-[#ff334c]/12"},"webflow-site":{surface:"#0b1839",accentBg:"bg-[#8fb4ff]",accentBorder:"border-[#8fb4ff]",accentWash:"bg-[#8fb4ff]/12"},"shopify-commerce":{surface:"#2b0712",accentBg:"bg-[#ff6a78]",accentBorder:"border-[#ff6a78]",accentWash:"bg-[#ff6a78]/12"},"enterprise-solutions":{surface:"#17131f",accentBg:"bg-[#c7a7ff]",accentBorder:"border-[#c7a7ff]",accentWash:"bg-[#c7a7ff]/12"},"web-operations":{surface:"#2f0014",accentBg:"bg-[#ff426c]",accentBorder:"border-[#ff426c]",accentWash:"bg-[#ff426c]/12"},"growth-operations":{surface:"#20064e",accentBg:"bg-[#a984ff]",accentBorder:"border-[#a984ff]",accentWash:"bg-[#a984ff]/12"},"scale-operations":{surface:"#26140a",accentBg:"bg-[#ffb15d]",accentBorder:"border-[#ffb15d]",accentWash:"bg-[#ffb15d]/12"}},d=Array.from({length:12},(e,t)=>t),p="engagement",m={"enterprise-commerce":"enterprise-solutions"},u="relative grid min-h-[72px] rounded-[8px] border border-white/20 p-1",f={1:"col-start-1",2:"col-start-2",3:"col-start-3",4:"col-start-4",5:"col-start-5",6:"col-start-6",7:"col-start-7",8:"col-start-8",9:"col-start-9",10:"col-start-10",11:"col-start-11",12:"col-start-12"},h={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12"};function g({ariaLabel:e,endLabel:a,lanes:r,note:n,startLabel:s,theme:i}){return(0,t.jsxs)("div",{"aria-label":`${e}. ${n}. ${r.map(e=>e.label).join(", ")}.`,className:"mt-6","data-pricing-delivery-chart":"",role:"img",children:[(0,t.jsxs)("div",{className:"mb-2 grid grid-cols-[88px_minmax(0,1fr)] items-end gap-3 sm:grid-cols-[116px_minmax(0,1fr)]",children:[(0,t.jsx)("span",{"aria-hidden":"true"}),(0,t.jsxs)("div",{className:"flex justify-between gap-3 text-[10px] font-medium uppercase tracking-[0.12em] text-[#fafaf9]/65",children:[(0,t.jsx)("span",{children:s}),(0,t.jsx)("span",{className:"text-right",children:a})]})]}),(0,t.jsx)("ol",{className:"space-y-2.5",children:r.map(e=>(0,t.jsxs)("li",{className:"grid min-w-0 grid-cols-[88px_minmax(0,1fr)] items-center gap-3 sm:grid-cols-[116px_minmax(0,1fr)]","data-pricing-delivery-lane":"",children:[(0,t.jsx)("span",{className:"min-w-0 text-[11px] font-medium leading-4 text-[#fafaf9]/78",children:e.label}),(0,t.jsxs)("div",{className:"relative grid h-7 min-w-0 grid-cols-12 overflow-hidden rounded-[5px] border border-white/15 bg-black/10",children:[(0,t.jsx)("div",{"aria-hidden":"true",className:"absolute inset-0 grid grid-cols-12",children:d.map(e=>(0,t.jsx)("span",{className:"border-l border-white/10 first:border-l-0"},e))}),(0,t.jsx)("span",{"aria-hidden":"true",className:`relative z-10 row-start-1 min-w-0 rounded-[3px] border ${f[e.start]} ${h[e.span]} ${"solid"===e.tone?`border-transparent ${i.accentBg}`:"soft"===e.tone?`${i.accentBorder} ${i.accentWash}`:`${i.accentBorder} bg-black/10`}`})]})]},e.label))}),(0,t.jsx)("p",{className:"mt-3 border-t border-white/10 pt-3 text-[11px] leading-5 text-[#fafaf9]/62",children:n})]})}let b={en:{eyebrow:"Flexible support",title:"On-demand hours",description:"For a clearly bounded request that does not need a monthly plan.",rate:"$200",cadence:"/ hour",capacityTitle:"Need more capacity?",capacity:"Dedicated engagements start from 80 hours/month."},"zh-TW":{eyebrow:"彈性支援",title:"隨選工時",description:"適合範圍明確,且不需要月費方案的單次需求ã€
1‚",rate:"$200",cadence:"/小時",capacityTitle:"需要更多產能?",capacity:"專屬合作方案從每月 80 小時起。"}};function x({locale:e,theme:a}){let r=b[e],n=`pricing-on-demand-hours-${e}`;return(0,t.jsx)("aside",{"aria-labelledby":n,className:"mt-4 border-y border-white/15 py-5","data-pricing-on-demand":"",children:(0,t.jsxs)("div",{className:"grid gap-5 sm:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] sm:items-center sm:gap-7",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-[#fafaf9]/62",children:r.eyebrow}),(0,t.jsx)("h3",{className:"mt-2 text-[22px] font-normal tracking-[-0.02em]",id:n,children:r.title}),(0,t.jsx)("p",{className:"mt-2 max-w-[42ch] text-base leading-7 text-[#fafaf9]/68 sm:text-sm sm:leading-6",children:r.description})]}),(0,t.jsxs)("p",{className:"flex items-baseline gap-1.5 tabular-nums sm:justify-center",children:[(0,t.jsx)("span",{className:"text-[30px] font-light tracking-[-0.025em]",children:r.rate}),(0,t.jsx)("span",{className:"text-sm text-[#fafaf9]/62",children:r.cadence})]}),(0,t.jsxs)("div",{className:"relative border-t border-white/15 pt-5 sm:border-l sm:border-t-0 sm:pl-7 sm:pt-0",children:[(0,t.jsx)("span",{"aria-hidden":"true",className:`absolute -top-px left-0 h-px w-7 sm:-left-px sm:top-0 sm:h-7 sm:w-px ${a.accentBg}`}),(0,t.jsx)("p",{className:"text-sm font-medium text-[#fafaf9]/82",children:r.capacityTitle}),(0,t.jsx)("p",{className:"mt-1 max-w-[36ch] text-base leading-7 text-[#fafaf9]/65 sm:text-sm sm:leading-6",children:r.capacity})]})]})})}function y(e,t){let a=new URLSearchParams(e).get(p),r=a?m[a]??a:void 0;return r&&t.includes(r)?r:void 0}function w(e,t){let a=new URL(e);return a.searchParams.set(p,t),a.toString()}async function v(e,t){if(!t)return!1;try{return await t.writeText(e),!0}catch{return!1}}let j={en:{titleSegments:["Good work keeps a waiting list."],intro:"Tenten is a boutique by choice. We take on a few clients at a time, go deep on each one, and let the work argue for itself. Pick the engagement that fits, and let's find out if we're a match.",formLabel:"Choose a Tenten engagement",projectLegend:"Fixed-scope projects",retainerLegend:"Ongoing monthly work",priceSignal:null,selectedPrice:"Selected engagement price",selectedEngagement:"Selected engagement",bestFor:"Best for",included:"What is included",matchLabel:"Selection guide",matchCopy:e=>`Start here when your priority is ${e.bestFor[0]?.toLowerCase()??"a clearly scoped engagement"}.`,timelineLabel:"Delivery shape",timelineScaleNote:"Relative sequence, not a fixed week count",priceAria:e=>`${e.price??""} US dollars, ${e.cadence??""}`,help:"Not sure which path fits? Share the goal and current state, and we will help define the right scope.",shareTitle:"Share this engagement",shareHelp:"Copy a link that reopens this exact published engagement view.",copySelection:"Copy selection link",copied:"Selection link copied.",copyFailed:"Automatic copy is unavailable. Select and copy the link below.",fallbackLabel:"Shareable selection link",fallbackHelp:"Select the full link, then use your browser's copy command.",contact:"Get a free estimate",contactHref:"/contact"},"zh-TW":{titleSegments:["好作品,自帶","候補名單。"],intro:"Tenten 是刻意保持精巧的 boutique 團隊:同時只服務少數客戶,把每一件作品做深、做透,讓作品自己說話。往下選擇適合的合作方式,看看我們合不合拍。",formLabel:"選擇 Tenten 合作方案",projectLegend:"一次性專案",retainerLegend:"每月持續合作",priceSignal:"美元計價 · 非 NT$",selectedPrice:"已選方案價格",selectedEngagement:"已選合作方案",bestFor:"最適合",included:"包含內容",matchLabel:"選擇建議",matchCopy:e=>`如果你的優先需求是「${e.bestFor[0]??"清楚定義合作範圍"}」,可先從這個方案開始評估。`,timelineLabel:"交付結構",timelineScaleNote:"相對順序,不代表固定週數",priceAria:e=>`美元 ${e.price??""},${e.cadence??""}`,help:"不確定該選哪一種?告訴我們目標與現況,我們會協助判斷適合的合作範圍。",shareTitle:"分享這個合作方案",shareHelp:"複製連結,讓對方直接開啟你目前查看的方案。",copySelection:"複製方案連結",copied:"方案連結已複製。",copyFailed:"無法自動複製。請選取並複製下方連結。",fallbackLabel:"可分享的方案連結",fallbackHelp:"選取完整連結後,使用瀏覽器的複製功能。",contact:"聯絡我們",contactHref:"/zh/contact"}};e.s(["ZhPricingHeroConfigurator",0,function({locale:e="zh-TW"}){let d=j[e],p="en"===e?o:l,m=p.filter(e=>"project"===e.group),f=p.filter(e=>"retainer"===e.group),h=p[0],b=(0,s.useRef)(null),N=(0,s.useRef)(null),S=(0,s.useRef)(null),L=(0,s.useRef)(null),k=(0,s.useRef)(null),A=(0,s.useRef)(null),$=(0,s.useRef)(null),P=(0,s.useRef)(""),C=(0,s.useRef)(new Map),T=(0,s.useRef)(!1),F=(0,s.useRef)(!1),[E,O]=(0,s.use
1State)(h),[W,B]=(0,s.useState)(""),[q,I]=(0,s.useState)("checking"),[M,R]=(0,s.useState)("idle"),G=c[E.id]??c["headless-cms"];(0,s.useEffect)(()=>{let e=p.map(e=>e.id),t=()=>{let t=y(window.location.search,e),a=p.find(e=>e.id===t)??h;F.current=!1,O(a);let r=w(window.location.href,a.id);P.current=r,B(r),R("idle")};return t(),window.addEventListener("popstate",t),()=>window.removeEventListener("popstate",t)},[h,p]),(0,s.useEffect)(()=>{let e=window.setTimeout(()=>{I("function"==typeof navigator.clipboard?.writeText?"available":"unavailable")},0);return()=>window.clearTimeout(e)},[]),(0,a.useGSAP)(()=>{let e=r.gsap.matchMedia();return e.add("(prefers-reduced-motion: no-preference)",()=>{r.gsap.timeline({defaults:{ease:"power3.out"}}).from("[data-pricing-hero-intro]",{y:24,duration:.65,stagger:.09}).from("[data-pricing-hero-selector]",{y:20,duration:.55,stagger:.08},"-=0.3")}),e.add("(prefers-reduced-motion: reduce)",()=>{r.gsap.set("[data-pricing-hero-intro], [data-pricing-hero-selector]",{clearProps:"all"})}),()=>e.revert()},{scope:b}),(0,a.useGSAP)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)").matches,t="project"===E.group?S.current:L.current,a="project"===E.group?k.current:A.current,n="project"===E.group?A.current:k.current,s=C.current.get(E.id),i=i=>{if(!t||!a||!s)return;let o={autoAlpha:1,duration:i||e?0:.4,ease:"power2.inOut",width:s.offsetWidth,x:s.offsetLeft};r.gsap.to(a,o),r.gsap.to(n,{autoAlpha:0,duration:i||e?0:.3,ease:"power2.in"})};r.gsap.to(b.current,{backgroundColor:G.surface,duration:T.current&&!e?.5:0,ease:"power2.inOut"}),i(!T.current),T.current&&N.current?r.gsap.fromTo(N.current.children,{autoAlpha:0,y:8},{autoAlpha:1,clearProps:"transform,opacity,visibility",duration:.35*!e,ease:"power2.out",stagger:.035*!e,onComplete:()=>{F.current=!1}}):F.current=!1,T.current=!0;let o=new ResizeObserver(()=>i(!0));return S.current&&o.observe(S.current),L.current&&o.observe(L.current),()=>o.disconnect()},{dependencies:[E.id],scope:b});let{contextSafe:U}=(0,a.useGSAP)({scope:b}),z=e=>{U(()=>{var t;let a,n;e.id!==E.id&&!F.current&&N.current&&((t=e.id,n=new URL(a=w(window.location.href,t)),window.history.replaceState(null,"",`${n.pathname}${n.search}${n.hash}`),P.current=a,B(a),R("idle"),window.matchMedia("(prefers-reduced-motion: reduce)").matches)?O(e):(F.current=!0,r.gsap.to(N.current.children,{autoAlpha:0,duration:.25,ease:"power2.in",stagger:.015,y:-8,onComplete:()=>O(e)})))})()},H=async()=>{if(!W)return;let e="function"==typeof navigator.clipboard?.writeText?navigator.clipboard:void 0,t=await v(W,e);if(P.current===W){if(t)return void R("copied");e||I("unavailable"),R("failed"),window.requestAnimationFrame(()=>{$.current?.focus(),$.current?.select()})}},V=(e,t)=>{t?C.current.set(e,t):C.current.delete(e)};return(0,t.jsxs)("section",{className:"relative overflow-hidden bg-[#111b16] pb-14 pt-28 text-[#fafaf9] md:pb-16 md:pt-32",ref:b,children:[(0,t.jsx)("div",{"aria-hidden":"true",className:`pointer-events-none absolute -right-40 -top-40 size-[520px] rounded-full blur-3xl transition-colors duration-500 ${G.accentWash}`}),(0,t.jsx)("div",{"aria-hidden":"true",className:`pointer-events-none absolute bottom-0 left-0 h-px w-full ${G.accentBg}`}),(0,t.jsxs)(i.V8Container,{className:"relative z-10",children:[(0,t.jsxs)("div",{className:"max-w-[1160px]",children:[(0,t.jsx)("h1",{className:"text-[34px] font-light leading-[1.08] tracking-[-0.035em] text-[#fafaf9] sm:text-[42px]","data-pricing-hero-intro":!0,children:d.titleSegments.map(e=>(0,t.jsx)("span",{className:"block sm:inline",children:e},e))}),(0,t.jsx)("p",{className:"mt-3 max-w-[760px] text-sm leading-6 text-[#fafaf9]/70 md:text-base md:leading-7","data-pricing-hero-intro":!0,children:d.intro})]}),(0,t.jsxs)("div",{"aria-atomic":"true","aria-live":"polite",className:"mt-5 flex items-end justify-between gap-5 border-y border-white/25 py-3 lg:hidden","data-pricing-mobile-price":!0,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-[0.14em] text-[#fafaf9]/65",children:E.price?d.selectedPrice:d.selectedEngagement}),(0,t.jsx)("p",{className:"mt-1 text-sm text-[#fafaf9]/80",children:E.shortLabel})]}),E.price?(0,t.jsxs)("p",{className:"shrink-0 text-right",children:[(0,t.jsx)("span",{className:"block text-[11px] font-medium uppercase tracking-[0.14em] text-[#fafaf9]/65",children:"USD"}),(0,t.jsx)("span",{className:"mt-1 block text-xl font-light leading-none",children:E.price}),(0,t.jsx)("span",{className:"mt-1 block text-[11px] text-[#fafaf9]/65",children:E.cadence})]}):E.quotePrompt?(0,t.jsxs)("p",{className:"max-w-[180px] shrink-0 text-right","data-pricing-custom-quote":"",children:[(0,t.jsx)("span",{className:"block text-[11px] font-medium uppercase tracking-[0.14em] text-[#fafaf9]/65",children:E.quotePrompt.eyebrow}),(0,t.jsx)("span",{className:"mt-1 block text-sm leading-5 text-[#fafaf9]/85",children:E.quotePrompt.title})]}):null]}),(0,t.jsxs)("form",{"aria-label":d.formLabel,className:"mt-7 md:mt-8",onSubmit:e=>e.preventDefault(),children:[(0,t.jsxs)("div",{className:"grid gap-5 lg:grid-cols-2",children:[(0,t.jsxs)("fieldset",{className:"min-w-0 border-t border-white/25 pt-4","data-pricing-hero-selector":!0,children:[(0,t.jsx)("legend",{className:"mb-3 text-xs font-medium uppercase tracking-[0.16em] text-[#fafaf9]/70",children:d.projectLegend}),(0,t.jsxs)("div",{className:`${u}
1 grid-cols-4`,"data-pricing-project-rail":"",ref:S,children:[(0,t.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-y-1 left-0 z-0 rounded-[6px] bg-[#fafaf9] opacity-0",ref:k}),m.map(e=>{let a=E.id===e.id;return(0,t.jsx)("button",{"aria-pressed":a,className:`relative z-10 min-h-16 px-3 py-3 text-left text-xs font-medium leading-4 transition-colors duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#fafaf9] focus-visible:ring-inset sm:text-sm ${a?"bg-[#fafaf9] text-[#111]":"text-[#fafaf9] hover:bg-white/[.06]"}`,onClick:()=>z(e),ref:t=>V(e.id,t),type:"button",children:e.shortLabel},e.id)})]})]}),(0,t.jsxs)("fieldset",{className:"min-w-0 border-t border-white/25 pt-4","data-pricing-hero-selector":!0,children:[(0,t.jsx)("legend",{className:"mb-3 text-xs font-medium uppercase tracking-[0.16em] text-[#fafaf9]/70",children:d.retainerLegend}),(0,t.jsxs)("div",{className:`${u} ${3===f.length?"grid-cols-3":"grid-cols-2"}`,"data-pricing-retainer-rail":"",ref:L,children:[(0,t.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-y-1 left-0 z-0 rounded-[6px] bg-[#fafaf9] opacity-0",ref:A}),f.map(e=>{let a=E.id===e.id;return(0,t.jsxs)("button",{"aria-pressed":a,className:`relative z-10 min-h-16 px-2 py-2.5 text-left text-xs font-medium leading-4 transition-colors duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#fafaf9] focus-visible:ring-inset sm:px-4 sm:text-sm ${a?"bg-[#fafaf9] text-[#111]":"text-[#fafaf9] hover:bg-white/[.06]"}`,onClick:()=>z(e),ref:t=>V(e.id,t),type:"button",children:[(0,t.jsx)("span",{className:"block",children:e.shortLabel}),e.selectorPrice?(0,t.jsx)("span",{className:`mt-1 block font-normal ${a?"text-[#111]/80":"text-[#fafaf9]/75"}`,children:e.selectorPrice}):null]},e.id)})]})]})]}),(0,t.jsxs)("div",{"aria-atomic":"true","aria-live":"polite",className:"mt-5 grid min-w-0 gap-px overflow-hidden rounded-[18px] border border-white/15 bg-white/15 lg:grid-cols-[0.9fr_1.1fr]",ref:N,children:[(0,t.jsxs)("article",{className:"min-w-0 bg-[#fafaf9] p-6 text-[#111] md:p-8 lg:p-10",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsx)("p",{className:"max-w-[280px] text-xs font-medium uppercase leading-5 tracking-[0.15em] text-[#111]/65",children:E.eyebrow}),(0,t.jsx)("span",{"aria-hidden":"true",className:`size-3 shrink-0 ${G.accentBg}`})]}),(0,t.jsx)("h2",{className:"mt-7 text-[34px] font-normal leading-[38px] tracking-[-0.03em] md:text-[48px] md:leading-[50px]",children:E.title}),(0,t.jsx)("p",{className:"mt-5 max-w-[520px] text-sm leading-6 text-[#111]/65 md:text-base md:leading-7",children:E.summary}),E.price?(0,t.jsxs)("div",{className:"mt-10 border-t border-[#111]/15 pt-6",children:[(0,t.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3",children:[(0,t.jsx)("span",{"aria-hidden":"true",className:`h-px w-6 ${G.accentBg}`}),(0,t.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-[#111]/65",children:"USD"}),d.priceSignal?(0,t.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-[0.12em] text-[#111]/65",children:d.priceSignal}):null]}),(0,t.jsxs)("p",{className:"whitespace-nowrap text-[38px] font-light leading-none tracking-[-0.035em] tabular-nums sm:text-[48px] lg:text-[56px]","data-pricing-price":"",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:E.price}),(0,t.jsx)("span",{className:"sr-only",children:d.priceAria(E)})]}),(0,t.jsx)("p",{className:"mt-3 text-xs font-medium uppercase tracking-[0.14em] text-[#111]/65",children:E.cadence})]}):E.quotePrompt?(0,t.jsxs)("div",{className:"mt-10 border-t border-[#111]/15 pt-6","data-pricing-custom-quote":"",children:[(0,t.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,t.jsx)("span",{"aria-hidden":"true",className:`h-px w-6 ${G.accentBg}`}),(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-[#111]/65",children:E.quotePrompt.eyebrow})]}),(0,t.jsx)("h3",{className:"max-w-[15ch] text-[30px] font-normal leading-[1.08] tracking-[-0.03em] sm:text-[36px]",children:E.quotePrompt.title}),(0,t.jsx)("p",{className:"mt-4 max-w-[54ch] text-sm leading-6 text-[#111]/65",children:E.quotePrompt.description})]}):null,(0,t.jsxs)("div",{className:`mt-8 border-l-4 pl-4 ${G.accentBorder}`,children:[(0,t.jsx)("p",{className:"text-xs font-medium uppercase tracking-[0.14em] text-[#111]/65",children:E.proofLabel}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-6 text-[#111]/70",children:E.proof})]})]}),(0,t.jsxs)("article",{className:"min-w-0 bg-white/[.035] p-6 md:p-8 lg:p-10",children:[(0,t.jsxs)("div",{className:"mb-8 border-l border-white/25 pl-4",children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-[#fafaf9]/70",children:d.matchLabel}),(0,t.jsx)("p",{className:"mt-2 max-w-[620px] text-sm leading-6 text-[#fafaf9]/72",children:d.matchCopy(E)})]}),(0,t.jsxs)("div",{className:"grid gap-8 md:grid-cols-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[24px] font-normal leading-tight tracking-[-0.02em]",children:d.bestFor}),(0,t.jsx)("ul",{className:"mt-5 space-y-3",children:E.bestFor.map(e=>(0,t.jsxs)("li",{className:"flex gap-3 text-sm leading-6",children:[(0,t.jsx)("span",{"aria-hidden":"true",className:`mt-[9px] size-1.5 shrink-0 ${G.accentBg}`}),e]},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[24px] font-normal leading-tight tracking-[-0.02em]",children:d.included}),(0,t.jsx)("ul",{className:"mt-5 space-y-3",children:E.included.map(e=>(0,t.jsxs)("li",{className:"flex gap-3 text-sm leading-6 text-[#fafaf9]/75",children:[(0,t.jsx)("span",{"aria-hidden":"true",className:"mt-[9px] size-1.5 shrink-0 border border-[#fafaf9]/50"}),e]},e))})]})]}),(0,t.jsxs)("div",{className:"mt-10 border-t border-white/15 pt-8",children:[(0,t.jsxs)("div",{className:"flex flex-col justify-between gap-3 sm:flex-row sm:items-end",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-[#fafaf9]/70",children:d.timelineLabel}),(0,t.jsx)("p",{className:"mt-2 text-xs font-medium uppercase tracking-[0.16em] text-[#fafaf9]/70",children:E.deliveryLabel})]}),(0,t.jsx)("p",{className:"max-w-[24ch] text-[24px] font-normal tracking-[-0.02em] sm:text-right sm:text-[28px]",children:E.deliveryValue})]}),(0,t.jsx)("p",{className:"mt-3 text-[11px] font-medium uppercase tracking-[0.12em] text-[#fafaf9]/70",children:d.timelineScaleNote}),(0,t.jsx)(g,{ariaLabel:`${d.timelineLabel}: ${E.deliveryValue}`,endLabel:E.deliveryShape.endLabel,lanes:E.deliveryShape.lanes,note:E.deliveryShape.note,startLabel:E.deliveryShape.startLabel,theme:G})]}),(0,t.jsxs)("div",{className:"mt-8 flex flex-col gap-5 border-t border-white/15 pt-6 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsx)("p",{className:"max-w-[420px] text-sm leading-6 text-[#fafaf9]/75",children:d.help}),(0,t.jsx)(n.default,{className:`inline-flex min-h-12 shrink-0 items-center justify-center rounded-full px-6 text-sm font-medium text-[#111] transition-transform duration-200 hover:scale-[1.02] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#fafaf9] focus-visible:ring-offset-2 focus-visible:ring-offset-[#111] active:scale-[0.99] ${G.accentBg}`,href:d.contactHref,children:E.contactLabel??d.contact})]})]})]}),"retainer"===E.group?(0,t.jsx)(x,{locale:e,theme:G}):null,(0,t.jsxs)("div",{className:"mt-4 rounded-[12px] border border-white/15 bg-white/[.035] p-4 sm:flex sm:items-center sm:justify-between sm:gap-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium uppercase tracking-[0.14em] text-[#fafaf9]/70",children:d.shareTitle}),(0,t.jsx)("p",{className:"mt-1 max-w-[560px] text-sm leading-6 text-[#fafaf9]/70",children:d.shareHelp})]}),(0,t.jsx)("button",{className:"mt-4 inline-flex min-h-12 w-full shrink-0 items-center justify-center rounded-[8px] border border-white/35 px-5 text-sm font-medium text-[#fafaf9] transition-colors hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#fafaf9] focus-visible:ring-offset-2 focus-visible:ring-offset-[#111] disabled:cursor-not-allowed disabled:opacity-50 sm:mt-0 sm:w-auto",disabled:!W,onClick:H,type:"button",children:d.copySelection})]}),(0,t.jsx)("p",{"aria-live":"polite",className:"idle"===M?"sr-only":`mt-3 text-sm ${"copied"===M?"text-[#fafaf9]/80":"text-[#ffb8c0]"}`,role:"status",children:"copied"===M?d.copied:"failed"===M?d.copyFailed:""}),"unavailable"===q||"failed"===M?(0,t.jsxs)("div",{className:"mt-3 rounded-[12px] border border-white/20 bg-black/15 p-4",children:[(0,t.jsx)("label",{className:"text-xs font-medium uppercase tracking-[0.14em] text-[#fafaf9]/70",htmlFor:`pricing-selection-url-${e}`,children:d.fallbackLabel}),(0,t.jsx)("input",{className:"mt-2 min-h-12 w-full rounded-[6px] border border-white/25 bg-black/20 px-3 text-base text-[#fafaf9] outline-none selection:bg-[#fafaf9] selection:text-[#111] focu
1s-visible:ring-2 focus-visible:ring-[#fafaf9] sm:text-sm",id:`pricing-selection-url-${e}`,onClick:e=>e.currentTarget.select(),onFocus:e=>e.currentTarget.select(),readOnly:!0,ref:$,spellCheck:!1,value:W}),(0,t.jsx)("p",{className:"mt-2 text-xs leading-5 text-[#fafaf9]/65",children:d.fallbackHelp})]}):null]})]})]})},"copyPricingSelectionUrl",0,v,"pricingOptionIdFromSearch",0,y,"shareablePricingSelectionUrl",0,w],16362)},55435,e=>{"use strict";var t=e.i(43476),a=e.i(65747),r=e.i(89970),n=e.i(83495),s=e.i(71645);function i(e,t){e.forEach(e=>{if(t){e.style.willChange=t;return}e.style.removeProperty("will-change")})}r.default.registerPlugin(a.useGSAP,n.ScrollTrigger),e.s(["ZhPricingMotion",0,function({children:e}){let o=(0,s.useRef)(null);return(0,a.useGSAP)(()=>{let e,t=o.current;if(!t)return;let a=r.default.matchMedia(t),s=!1;a.add({desktop:"(min-width: 992px)",reduce:"(prefers-reduced-motion: reduce)"},e=>{let{desktop:a=!1,reduce:n=!1}=e.conditions??{};if(n||!a){let e;return void((e=t.querySelectorAll('[data-pricing-reveal="headline"], [data-pricing-reveal="item"], [data-pricing-stagger] > *, [data-pricing-draw]')).length>0&&r.default.set(e,{clearProps:"opacity,transform,transformOrigin,willChange"}))}let s=new Set;t.querySelectorAll("[data-pricing-stagger]").forEach(e=>{let t=Array.from(e.children).filter(e=>e instanceof HTMLElement);0!==t.length&&(t.forEach(e=>s.add(e)),r.default.from(t,{opacity:0,y:30,duration:.8,ease:"power2.out",stagger:.12,onStart:()=>i(t,"transform, opacity"),onComplete:()=>i(t),scrollTrigger:{trigger:e,start:"top 90%",once:!0}}))}),Array.from(t.querySelectorAll('[data-pricing-reveal="headline"]')).filter(e=>!s.has(e)).forEach(e=>{r.default.from(e,{opacity:0,y:20,duration:.55,ease:"power3.out",onStart:()=>i([e],"transform, opacity"),onComplete:()=>i([e]),scrollTrigger:{trigger:e,start:"top 90%",once:!0}})}),Array.from(t.querySelectorAll('[data-pricing-reveal="item"]')).filter(e=>!s.has(e)&&!e.hasAttribute("data-pricing-stagger")).forEach(e=>{r.default.from(e,{opacity:0,y:30,duration:.8,ease:"power2.out",onStart:()=>i([e],"transform, opacity"),onComplete:()=>i([e]),scrollTrigger:{trigger:e,start:"top 90%",once:!0}})}),Array.from(t.querySelectorAll("[data-pricing-draw]")).filter(e=>!s.has(e)).forEach(e=>{r.default.from(e,{scaleX:0,transformOrigin:"left center",duration:.75,ease:"power3.out",onStart:()=>i([e],"transform"),onComplete:()=>i([e]),scrollTrigger:{trigger:e,start:"top 90%",once:!0}})})});let l=Array.from(t.querySelectorAll("img")).map(e=>e.decode().catch(()=>void 0));return Promise.all([document.fonts.ready,...l]).then(()=>{s||(void 0!==e&&window.clearTimeout(e),e=window.setTimeout(()=>{n.ScrollTrigger.refresh(),e=void 0},300))}),()=>{s=!0,void 0!==e&&window.clearTimeout(e),a.revert()}},{scope:o}),(0,t.jsx)("div",{ref:o,"data-pricing-motion-root":"",children:e})}])}]);

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.