1:"$Sreact.fragment" 2:I[44223,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/06_fwbpl-tgls.js"],"FadeIn"] 3:I[22016,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/06_fwbpl-tgls.js"],""] 12:I[97367,["/_next/static/chunks/02ti70zu7rea_.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 13:"$Sreact.suspense" 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"children":["$","section",null,{"className":"relative overflow-hidden depth-section py-12 sm:py-16 section-insights-bg ","children":["$","div",null,{"className":"mx-auto max-w-6xl px-4","children":["$","div",null,{"className":"section-panel section-foreground-gradient","children":[["$","header",null,{"children":[["$","div",null,{"className":"max-w-3xl","children":[["$","p",null,{"className":"text-sm font-semibold tracking-wide theme-text-accent","children":"INSIGHTS"}],["$","h2",null,{"className":"mt-2 text-2xl font-semibold tracking-tight theme-text-primary sm:text-3xl font-[var(--font-heading)]","children":"Architecture patterns from the field"}]]}],["$","p",null,{"className":"mt-3 text-base leading-7 text-pretty theme-text-secondary","children":"I publish practical guidance on AI systems, architecture patterns, and the future of engineering."}]]}],["$","div",null,{"className":"mt-8","children":[["$","div",null,{"className":"mb-8","children":["$","div",null,{"className":"rounded-[2rem] border border-[color:color-mix(in_srgb,var(--border-color)_75%,transparent)] bg-[color:color-mix(in_srgb,var(--bg-secondary)_45%,transparent)] p-5 section-artwork-hover h-[180px] sm:h-[220px]","children":["$","div",null,{"className":"section-artwork-spin-inner h-full w-full origin-center","children":["$","svg",null,{"viewBox":"0 0 420 220","className":"h-full w-full text-[var(--accent)]","fill":"none","aria-hidden":"true","children":[["$","defs",null,{"children":["$","radialGradient",null,{"id":"insights-glow","cx":"0","cy":"0","r":"1","gradientUnits":"userSpaceOnUse","gradientTransform":"translate(210 112) rotate(90) scale(94 144)","children":[["$","stop",null,{"offset":"0%","stopColor":"currentColor","stopOpacity":"0.22"}],["$","stop",null,{"offset":"100%","stopColor":"currentColor","stopOpacity":"0"}]]}]}],["$","g",null,{"children":[["$","rect",null,{"x":"20","y":"22","width":"380","height":"176","rx":"20","fill":"url(#insights-glow)"}],["$","path",null,{"d":"M80 154c26-68 88-110 154-110c48 0 90 18 124 52","stroke":"currentColor","strokeWidth":"2","opacity":"0.36"}],["$","path",null,{"d":"M60 170c42-40 92-62 150-62c62 0 118 24 152 58","stroke":"currentColor","strokeWidth":"2","opacity":"0.55"}],["$","circle",null,{"cx":"92","cy":"150","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"168","cy":"102","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"234","cy":"88","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"314","cy":"118","r":"7","fill":"currentColor"}],["$","circle",null,{"cx":"344","cy":"160","r":"7","fill":"currentColor"}]]}]]}]}]}]}],["$","div",null,{"className":"mt-8 grid gap-4 md:grid-cols-2","children":[["$","div","AI-First Architecture on Azure: Patterns That Actually Work",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/ai-first-architecture-on-azure-patterns-that-work","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"AI-First Architecture on Azure: Patterns That Actually Work"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"A practical look at how to design AI-first systems on Azure using modern cloud-native patterns. Covers retrieval pipelines, agent workflows, event-driven design, and cost-controlled inference strategies."}]]}],"$L4","$L5","$L6","$L7","$L8","$L9","$La","$Lb","$Lc","$Ld","$Le"]}],"$Lf"]}]]}]}]}]}],["$L10"],"$L11"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"lfEugLFFjbfrSWt8vjHCz"} 4:["$","div","The Contract-First Approach to Multi-Agent Workflows",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/contract-first-multi-agent-workflows","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"The Contract-First Approach to Multi-Agent Workflows"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"When agent behaviour fails, it’s usually because the workflow has no contracts. I explain tool boundaries, state transitions, and acceptance criteria so each agent has a defined job and predictable outcomes."}]]}] 5:["$","div","Evaluation Harnesses for Agent Reliability",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/evaluation-harnesses-agent-reliability","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Evaluation Harnesses for Agent Reliability"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"You can’t govern what you don’t measure. I cover how to build evaluation harnesses that detect regressions, quantify risk, and keep agent systems aligned with real user expectations."}]]}] 6:["$","div","Retrieval Pipelines That Stay Accurate Under Change",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/retrieval-pipelines-accurate-under-change","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Retrieval Pipelines That Stay Accurate Under Change"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"RAG systems drift as content, permissions, and policies evolve. I describe drift controls, feedback loops, and retrieval strategies that preserve accuracy beyond the initial deployment."}]]}] 7:["$","div","Human-in-the-Loop Design for Real Operations",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/human-in-the-loop-real-operations","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Human-in-the-Loop Design for Real Operations"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Approvals shouldn’t be vague. I outline how to design escalation paths, review queues, and decision gates so teams can safely operate AI-first workflows without slowing delivery unnecessarily."}]]}] 8:["$","div","Deterministic Orchestration: Making AI Auditable",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/deterministic-orchestration-ai-auditable","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Deterministic Orchestration: Making AI Auditable"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Auditable AI is engineered, not hoped for. I show patterns for traceable execution, decision logging, and deterministic workflow structure that holds up in governance conversations."}]]}] 9:["$","div","Cost-Controlled AI: Routing, Caching, and Budget Guardrails",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/cost-controlled-ai-routing-caching-guardrails","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Cost-Controlled AI: Routing, Caching, and Budget Guardrails"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Cost overruns are architectural. I explain routing policies, caching strategies, and budget guardrails that keep inference spend predictable while maintaining quality where it matters."}]]}] a:["$","div","Governance Patterns for Regulated AI Systems",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/governance-patterns-regulated-ai-systems","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Governance Patterns for Regulated AI Systems"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Regulated environments demand more than policies—they demand enforced workflow controls. I walk through governance patterns like audit trails, approval gates, and safety checks designed into the system."}]]}] b:["$","div","Integration Architecture for Agent Ecosystems in Enterprise Stacks",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/integration-architecture-agent-ecosystems","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Integration Architecture for Agent Ecosystems in Enterprise Stacks"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Agents don’t live in a vacuum; they must integrate with systems teams already run. I cover integration patterns for APIs, data sources, permissions, and operational ownership."}]]}] c:["$","div","From Prototype to Platform: Reusable Workflow Templates",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/prototype-to-platform-reusable-workflow-templates","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"From Prototype to Platform: Reusable Workflow Templates"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Teams move fast until every workflow is bespoke. I describe how to turn successful prototypes into reusable templates with consistent orchestration, evaluation, and cost controls."}]]}] d:["$","div","Transitioning Teams to AI-Augmented Delivery",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/transitioning-teams-ai-augmented-delivery","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Transitioning Teams to AI-Augmented Delivery"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Adoption fails when roles and rituals are unclear. I map the organisational shift—pairing, runbooks, evaluation ownership—so teams can deliver AI-first outcomes that stick."}]]}] e:["$","div","Designing AI-First Systems on Azure: Practical Architecture Patterns",{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","div",null,{"className":"flex items-start justify-between gap-4","children":[["$","h3",null,{"className":"text-base font-semibold tracking-tight theme-text-primary font-[var(--font-heading)]","children":["$","$L3",null,{"href":"/insights/designing-ai-first-systems-azure-practical-patterns","className":"underline-slide hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset rounded px-0.5 py-0.5 transition","children":"Designing AI-First Systems on Azure: Practical Architecture Patterns"}]}],["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","className":"h-7 w-7 flex-none text-[var(--accent)]","children":[["$","path",null,{"d":"M12 2v4"}],["$","path",null,{"d":"M4.9 4.9l2.8 2.8"}],["$","path",null,{"d":"M2 12h4"}],["$","path",null,{"d":"M4.9 19.1l2.8-2.8"}],["$","path",null,{"d":"M12 22v-4"}],["$","path",null,{"d":"M19.1 19.1l-2.8-2.8"}],["$","path",null,{"d":"M22 12h-4"}],["$","path",null,{"d":"M19.1 4.9l-2.8 2.8"}],["$","path",null,{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0z"}]]}]]}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"Practical Azure patterns for AI‑first systems: retrieval pipelines, event‑driven workflows, vector search, and cost‑controlled inference—without overhauling your existing stack."}]]}] f:["$","div",null,{"className":"mt-10","children":["$","div",null,{"className":"theme-card rounded-2xl border backdrop-blur hover:border-[color:color-mix(in_srgb,var(--accent)_22%,var(--border-color))] p-6","children":[["$","p",null,{"className":"text-sm font-semibold tracking-wide theme-text-accent","children":"Turn patterns into decisions"}],["$","h2",null,{"className":"mt-1 text-2xl font-semibold tracking-tight theme-text-primary sm:text-3xl font-[var(--font-heading)]","children":"Apply an insight to your architecture"}],["$","p",null,{"className":"mt-2 text-sm leading-6 theme-text-secondary","children":"If you want help designing the smallest, safest path from pattern to production, I can review your approach and recommend next steps."}],["$","div",null,{"className":"mt-5 flex flex-col gap-3 sm:flex-row sm:items-center","children":[["$","$L3",null,{"href":"/contact","className":"inline-flex items-center justify-center rounded-full px-5 py-2.5 text-sm font-semibold transition-all duration-[250ms] ease-in-out hover:scale-[1.01] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset bg-[var(--accent)] text-[var(--bg-primary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)] active:bg-[var(--accent-soft)] ","children":"Request an Architecture Review"}],["$","$L3",null,{"href":"/contact","className":"inline-flex items-center justify-center rounded-full px-5 py-2.5 text-sm font-semibold transition-all duration-[250ms] ease-in-out hover:scale-[1.01] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] focus-visible:ring-offset-2 theme-ring-offset border border-[var(--border-color)] bg-transparent text-[var(--text-primary)] hover:border-[var(--accent)] hover:bg-[color:color-mix(in_srgb,var(--bg-secondary)_72%,transparent)] active:bg-[color:color-mix(in_srgb,var(--bg-secondary)_86%,transparent)] ","children":"Book a Strategy Call"}]]}]]}]}] 10:["$","script","script-0",{"src":"/_next/static/chunks/06_fwbpl-tgls.js","async":true}] 11:["$","$L12",null,{"children":["$","$13",null,{"name":"Next.MetadataOutlet","children":"$@14"}]}] 14:null