PageSourceSearch

https://stuartandrews.me/assets/TransformationRecovery-BPZC2QOS.js

js stuartandrews.me collected 2026-09-24 22:16:35 UTC 24,420 bytes, 1 lines download raw bytes

1import{r as d,j as e,L as N}from"./react-vendor-DHsc3z8R.js";import{u as k}from"./query-vendor-BpSM1h0G.js";import{L as C}from"./Layout-Dw_HWMmF.js";import{S as T}from"./SeoHead-C8Tgg0dM.js";import{F as S}from"./FaqSection-T434Sn0N.js";import{R as E}from"./ResourceDownloadForm-BPv-bbtB.js";import{a as R}from"./types-BP5BjTRu.js";import{Q as O}from"./QuestionStepper-BbxyiiNc.js";import{A as f}from"./arrow-right-DXfn4Mg0.js";import{C as I}from"./circle-check-9zGd1S3O.js";import{C as A}from"./CommercialPlaybookVisual-c6j9Z8eu.js";import{P as _}from"./PlaybookCover-HFqN9P9t.js";import{u as D}from"./usePageSlots-CViwNBlD.js";import{C as F}from"./check-DNgNGAzZ.js";import{F as P}from"./file-text-C8NiNW2j.js";import"./index-D70tPUFV.js";import"./ui-vendor-CSbCjZRx.js";import"./motion-vendor-BtpmimIC.js";import"./chevron-down-By7xSqX8.js";import"./external-link-D8vrSRj3.js";import"./log-out-B8kr76Wp.js";import"./menu-BNAN9BIx.js";import"./AppStoreBadges-BQP7ci1d.js";import"./useSeoPage-DD3SnZS6.js";import"./seo-AaVGsLiB.js";import"./AnimatedSection-CdqRwmrc.js";import"./useIsHydrated-CwRtXkTc.js";import"./accordion-Bsa7lPay.js";import"./jsonLd-BiHK7WWd.js";import"./form-CT3PyYhb.js";import"./label-x4Vtvg64.js";import"./input-DAmb_YwA.js";import"./select-Ccq7wPBV.js";import"./chevron-up-4svG4FsD.js";import"./phoneCodes-xgQiXd1l.js";import"./safeHref-ky925_vT.js";import"./ConsentTick-BboMxSg7.js";import"./WhatsAppConfirmLink-BtGWPKIA.js";import"./leadFields-OS1Qqk-Z.js";import"./circle-check-big-DGuYSDiW.js";import"./download-hYmjG73-.js";import"./leadFieldAdapters-Cv-hjqo5.js";import"./arrow-left-CYDWjGpU.js";const M="transformation-recovery",W="1",q="transformation-recovery",V=[["case","Current case and value"],["decisions","Decision ownership"],["delivery","Delivery control"],["capacity","Organisational capacity"],["adoption","Adoption in the work"],["sponsorship","Executive sponsorship"]],Y=[["case-still-holds","The case still holds","Would the executive team approve this work today if it were proposed from scratch?"],["case-value-tested","Value is tested","Can the team separate completed activity from a measurable value, risk or capability outcome?"],["case-tradeoff","The trade-off is explicit","Has the team named what it will stop or delay to protect the value this programme is meant to deliver?"],["case-scope-control","Scope has a decision rule","When new work is proposed, does someone test its value and capacity impact before it enters the programme?"],["decisions-owner","Each critical decision has one owner","Can the team name one person who can make each decision on the current critical path?"],["decisions-escalation","Escalation has a threshold","Does the team know exactly when a decision or risk must move to the executive sponsor?"],["decisions-log","Decisions are recorded","Can a new team member see what was decided, why, by whom and when the decision will be reviewed?"],["decisions-veto","Veto rights are understood","Where a function can stop the work, are its veto rights and the conditions for using them written down?"],["delivery-critical-path","The critical path is current","Can the delivery lead show the few dependencies that can still change the 30-day outcome?"],["delivery-evidence","Progress is observable","Does the programme produce evidence that an outcome changed, rather than only reporting tasks completed?"],["delivery-risk-owner","Material risks have owners","Does every material risk have an owner, a trigger and a response that has been agreed in advance?"],["delivery-change","Change is controlled","When a dependency or assumption changes, does the plan force a decision instead of absorbing the change silently?"],["capacity-competing","Competing work is visible","Can the leadership team see what other priorities are consuming the people needed for recovery?"],["capacity-protected","Recovery time is protected","Do the people carrying the recovery have protected time, or is the work being done after their normal priorities?"],["capacity-skills","Missing skills are named","Can the team identify the specific skill or role gap that is slowing delivery?"],["capacity-manager-load","Manager load is tested","Has the programme checked whether managers can support the change without adding an unmeasured second job?"],["adoption-behaviour","Behaviour has changed","Can the team show that people are using the intended process in live work, not only attending training?"],["adoption-workarounds","Workarounds are known","Are local workarounds recorded and treated as design evidence rather than dismissed as resistance?"],["adoption-manager","Managers reinforce the change","Do managers have a shared explanation, practical authority and time to reinforce the new way of working?"],["adoption-feedback","User feedback changes the design","Is there a route for users to report friction that results in a documented design or operating decision?"],["sponsor-attention","The sponsor attends decisions","Does the executive sponsor attend the meetings where value, capacity and risk trade-offs must be made?"],["sponsor-protection","The sponsor protects the outcome","Has the sponsor removed or re-sequenced competing work when the agreed recovery outcome was at risk?"],["sponsor-challenge","Confidence is challenged","Does the sponsor ask what can be proved and what would change the current view, rather than accepting status colour?"],["sponsor-review","The review date is real","Is there a dated decision point at which the programme will continue, reset or stop based on evidence?"]],y=Y.map(([a,x,n],i)=>{const o=V[Math.floor(i/4)];return{id:a,title:x,prompt:n,dimensionId:o[0],dimensionTitle:o[1]}}),v=[{value:"not-in-place",label:"Not in place",score:0},{value:"partly",label:"Partly in place",score:1},{value:"in-place",label:"In place",score:2},{value:"not-sure",label:"Not sure",score:0}];new Map(v.map(a=>[a.value,a.score]));function L(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"00000000-0000-4000-8000-000000000000"}function K({onCompletion:a}
1){const[x,n]=d.useState(!1),[i,o]=d.useState(null),[u,g]=d.useState(!1),[t,m]=d.useState(null),s=R({defaultValues:{email:"",consent:!1}}),b=d.useMemo(()=>[...y.map(r=>({id:r.id,fields:[r.id],nextDisabled:()=>!s.getValues(r.id),render:()=>{const h=s.watch(r.id);return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-accent-gold",children:r.dimensionTitle}),e.jsx("h3",{className:"mt-3 font-display text-2xl font-bold text-foreground",children:r.title}),e.jsx("p",{className:"mt-3 text-lg leading-relaxed text-foreground/90",children:r.prompt})]}),e.jsx("input",{type:"hidden",...s.register(r.id,{required:!0})}),e.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:v.map(l=>e.jsx("button",{type:"button",onClick:()=>{s.setValue(r.id,l.value,{shouldDirty:!0,shouldValidate:!0}),o(null)},"aria-pressed":h===l.value,className:`rounded-xl border px-4 py-3 text-left text-sm transition-colors ${h===l.value?"border-accent-gold bg-accent-gold/10 text-foreground":"border-border bg-secondary/20 text-muted-foreground hover:border-accent-gold/60 hover:text-foreground"}`,children:l.label},l.value))})]})}})),{id:"capture",fields:["email","consent"],render:()=>e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-accent-gold",children:"Your answers are complete"}),e.jsx("h3",{className:"mt-3 font-display text-2xl font-bold text-foreground",children:"Where should recovery start?"}),e.jsx("p",{className:"mt-3 leading-relaxed text-muted-foreground",children:"Enter your email to see the scorecard and keep the result connected to the playbook download."})]}),e.jsx("label",{className:"block text-sm font-medium text-foreground",htmlFor:"transformation-scorecard-email",children:"Work email *"}),e.jsx("input",{id:"transformation-scorecard-email",type:"email",placeholder:"[email protected]",autoComplete:"email",...s.register("email",{required:"Enter a valid email address",pattern:{value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:"Enter a valid email address"}}),className:"w-full rounded-xl border border-input bg-background px-4 py-3 text-foreground outline-none focus:ring-2 focus:ring-accent-gold/50","data-testid":"transformation-scorecard-email"}),s.formState.errors.email?.message&&e.jsx("p",{role:"alert",className:"text-sm text-destructive","data-testid":"transformation-scorecard-error",children:String(s.formState.errors.email.message)}),e.jsxs("label",{className:"flex items-start gap-3 text-sm leading-relaxed text-muted-foreground",children:[e.jsx("input",{type:"checkbox",...s.register("consent",{required:"Please confirm consent"}),className:"mt-1","data-testid":"transformation-scorecard-consent"}),e.jsx("span",{children:"I want to receive my result and occasional leadership insights. I can unsubscribe at any time."})]}),s.formState.errors.consent?.message&&e.jsx("p",{role:"alert",className:"text-sm text-destructive",children:String(s.formState.errors.consent.message)}),i&&e.jsx("p",{role:"alert",className:"text-sm text-destructive","data-testid":"transformation-scorecard-error",children:i})]})}],[i,s]);async function w(r){const h=String(r.email??"").trim().toLowerCase();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(h)){o("Enter a valid email address to see your result.");return}if(r.consent!==!0){o("Please confirm that you want to receive your result and related leadership insights.");return}const l=Object.fromEntries(y.map(c=>[c.id,r[c.id]]));g(!0),o(null);try{const c=await fetch(`/api/scorecards/${M}/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({assessmentVersion:W,idempotencyKey:L(),email:h,collectionKey:q,answers:l,consentAccepted:!0,website:""})}),p=await c.json();if(!c.ok||p?.persisted!==!0||!Number.isInteger(p?.completionId)||!p?.result)throw new Error(p?.error||"We could not save your result. Please try again.");m(p),a?.(p.completionId,h)}catch(c){o(c instanceof Error?c.message:"We could not save your result. Please try again.")}finally{g(!1)}}function j(){n(!0),o(null),m(null),s.reset({email:"",consent:!1})}return x?t?e.jsxs("div",{className:"rounded-2xl border border-accent-gold/40 bg-card p-6 sm:p-8","data-testid":"transformation-scorecard-result",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(I,{className:"mt-1 h-6 w-6 shrink-0 text-accent-gold"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.18em] text-accent-gold",children:"Your recovery signal"}),e.jsx("h3",{className:"mt-2 font-display text-2xl font-bold text-foreground sm:text-3xl",children:t.result.band}),e.jsxs("p",{className:"mt-3 text-muted-foreground",children:[t.result.total," of ",t.result.max," points. Start with ",t.result.weakest.title.toLowerCase(),"."]})]})]}),e.jsx("div",{className:"mt-7 space-y-4",children:t.result.dimensionScores.map(r=>e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 text-sm",children:[e.jsx("span",{className:"font-medium text-foreground",children:r.title}),e.jsxs("span",{className:"text-muted-foreground",children:[r.score," / ",r.max]})]}),e.jsx("div",{className:"mt-2 h-2 rounded-full bg-secondary",children:e.jsx("div",{className:"h-2 rounded-full bg-accent-gold",style:{width:`${r.percentage}%`}})})]},r.id))}),e.jsx("div",{className:"mt-7 rounded-xl border border-border bg-secondary/20 p-4 text-sm leading-relaxed text-muted-foreground",children:"Use the weakest dimension to choose the first recovery conversation. The result does not certify delivery health or replace an independent review."}),e.jsxs("button",{type:"button",onClick:j,className:"mt-6 inline-flex items-center gap-2 text-sm font-semibold text-accent-gold hover:text-accent-gold-light","data-testid":"transformation-scorecard-reset",children:["Run it again ",e.jsx(f,{className:"h-4 w-4"})]})]}):e.jsx("div",{className:"rounded-2xl border border-border bg-card p-6 sm:p-8",children:e.jsx(O,{form:s,questions:b,onSubmit:s.handleSubmit(w),submitLabel:"See my result",submittingLabel:"Preparing your result...",submitDisabled:u,testIdPrefix:"transformation-scorecard-stepper",submitTestId:"transformation-scorecard-submit",finalSlot:e.jsxs("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["Your result is a directional working signal. ",e.jsx("a",{href:"/privacy",className:"underline hover:text-foreground",children:"Privacy policy"}),"."]})})}):e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-6 sm:p-8","data-testid":"transformation-scorecard-intro",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs uppercase tracking-[0.18em] text-accent-gold",children:[e.jsx("span",{children:"24 questions"}),e.jsx("span",{className:"text-muted-foreground",children:"•"}),e.jsx("span",{children:"Directional result"})]}),e.jsx("h3",{className:"mt-4 font-display text-2xl font-bold text-foreground sm:text-3xl",children:"Can your stalled transformation be recovered?"}),e.jsx("p",{className:"mt-4 leading-relaxed text-muted-foreground",children:"This diagnostic tests the case, decision rights, delivery control, capacity, adoption and executive sponsorship behind the work. It is designed to produce a better recovery conversation, not a generic maturity label."}),e.jsxs("button",{type:"button",onClick:()=>n(!0),className:"mt-7 inline-flex items-center gap-2 rounded-xl bg-accent-gold px-5 py-3 font-semibold text-navy-deep transition-colors hover:bg-accent-gold-light","data-testid":"transformation-scorecard-start",children:["Start the diagnostic ",e.jsx(f,{className:"h-4 w-4"})]}),e.jsx("p",{className:"mt-4 text-xs leading-relaxed text-muted-foreground",children:"This is a practical self-check, not a project assurance opinion."})]})}const U=[{q:"Who is the Transformation Recovery Playbook for?",a:"It is for CEOs, COOs, CIOs, CHROs and transformation sponsors who need to decide whether a stalled programme should continue, reset or stop."},{q:"Is this a project assurance review?",a:"No. The diagnostic is a directional self-check that creates a better executive conversation. It does not certify delivery health or replace independent assurance."},{q:"What does the 24-question diagnostic measure?",a:"It tests the current case and value, decision ownership, delivery control, organisational capacity, adoption in the work and executive sponsorship."},{q:"What happens after the diagnostic?",a:"You receive a directional result showing the weakest dimension. Use that dimension to choose the first recovery conversation and then work through the playbook."},{q:"Does the playbook tell us to continue every stalled programme?",a:"No. It gives three decisions: kill when the case no longer holds, reset when the case holds but design or scope does not, and recover when the case and design hold but ownership or execution is weak."},{q:"Can this be used with a multi-region transformation?",a:"Yes. The decision, evidence and operating rules can be used across regions, provided the team records where authority, c
1apacity and adoption differ by market."},{q:"Is the worked example a client case study?",a:"No. The worked example is labelled illustrative. It shows how to use the framework without claiming a client result."},{q:"When should we ask for consulting support?",a:"Consider a scoped engagement when the issue crosses functions, requires executive trade-offs or needs an independent person to install the decision and evidence cadence."}],Q="transformation-recovery";async function $(){const a=await fetch("/api/resources");if(!a.ok)throw new Error("Failed to fetch resources");return a.json()}function Pe(){const[a,x]=d.useState(null),n=D("transformation-recovery"),{data:i=[],isLoading:o}=k({queryKey:["/api/resources"],queryFn:$,staleTime:30*1e3}),u=d.useMemo(()=>i.find(t=>t.collectionKey===Q||t.slug==="transformation-recovery")??null,[i]),g=n.getJson("faqs",U);return d.useEffect(()=>{o||window.dispatchEvent(new Event("shell:ready"))},[o]),e.jsxs(C,{children:[e.jsx(T,{slug:"transformation-recovery",fallbackTitle:"Transformation Recovery Playbook | Stuart Andrews",fallbackDescription:"A 50-card executive playbook and 24-question diagnostic for deciding whether a stalled transformation should continue, reset or stop."}),e.jsxs("main",{children:[e.jsxs("section",{className:"relative overflow-hidden border-b border-border/60 bg-navy-deep py-20 text-white sm:py-28",children:[e.jsx("div",{className:"absolute inset-0 opacity-30 bg-[radial-gradient(circle_at_80%_20%,hsl(42_55%_45%/.3),transparent_42%)]","aria-hidden":"true"}),e.jsxs("div",{className:"relative container mx-auto grid max-w-6xl gap-12 px-4 lg:grid-cols-[1.05fr_.95fr] lg:items-center",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-5 text-xs uppercase tracking-[.22em] text-accent-gold",children:n.get("hero_eyebrow","Executive playbook and diagnostic")}),e.jsx("h1",{className:"max-w-3xl font-display text-4xl font-bold leading-tight sm:text-6xl",children:n.get("hero_headline","A stalled transformation needs a decision before it needs more activity.")}),e.jsx("p",{className:"mt-6 max-w-2xl text-lg leading-relaxed text-white/75 sm:text-xl",children:n.get("hero_subline","Use a 50-card recovery playbook and a 24-question diagnostic to decide whether the work should continue, reset or stop.")}),e.jsxs("div",{className:"mt-8 flex flex-col gap-3 sm:flex-row",children:[e.jsxs("a",{href:"#diagnostic",className:"inline-flex items-center justify-center gap-2 rounded-xl bg-accent-gold px-5 py-3.5 font-semibold text-navy-deep hover:bg-accent-gold-light","data-testid":"link-transformation-recovery-diagnostic",children:["Take the diagnostic ",e.jsx(f,{className:"h-4 w-4"})]}),e.jsx("a",{href:"#download",className:"inline-flex items-center justify-center gap-2 rounded-xl border border-white/25 px-5 py-3.5 font-semibold text-white hover:border-accent-gold hover:text-accent-gold","data-testid":"link-transformation-recovery-download",children:"Get the playbook"})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(_,{resource:u,label:"The recovery playbook"}),e.jsxs("div",{className:"rounded-2xl border border-white/15 bg-white/5 p-7 backdrop-blur",children:[e.jsx("p",{className:"text-xs uppercase tracking-[.2em] text-accent-gold",children:"The working decision"}),e.jsx("p",{className:"mt-5 font-display text-3xl font-bold",children:"Kill, reset or recover."}),e.jsx("p",{className:"mt-4 leading-relaxed text-white/70",children:"The framework starts with the current case, then tests decisions, delivery evidence, capacity, adoption and sponsor attention."}),e.jsx("div",{className:"mt-7 grid gap-3 sm:grid-cols-3",children:["Case","Control","Capacity"].map(t=>e.jsx("div",{className:"rounded-xl border border-white/15 px-4 py-3 text-center text-sm text-white/80",children:t},t))})]})]})]})]}),e.jsx("section",{className:"border-b border-border/60 bg-background py-20 sm:py-24",children:e.jsxs("div",{className:"container mx-auto grid max-w-6xl gap-10 px-4 lg:grid-cols-[.8fr_1.2fr] lg:items-start",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[.22em] text-accent-gold",children:"The executive problem"}),e.jsx("h2",{className:"mt-4 font-display text-3xl font-bold leading-tight text-foreground sm:text-4xl",children:"A programme can look busy while the decision system is stalled."}),e.jsx("p",{className:"mt-5 text-lg leading-relaxed text-muted-foreground",children:"When the case, authority, c
1apacity and evidence are unclear, more activity makes the problem harder to see."})]}),e.jsx("div",{className:"grid gap-4 sm:grid-cols-2",children:[["01","Activity","Meetings, releases and training are reported as progress."],["02","Authority","The same decision returns to different meetings."],["03","Capacity","The people carrying the recovery have no protected time."],["04","Evidence","Status stays positive while outcomes remain untested."]].map(([t,m,s])=>e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-6",children:[e.jsx("p",{className:"font-display text-2xl font-bold text-accent-gold",children:t}),e.jsx("h3",{className:"mt-4 font-display text-xl font-bold text-foreground",children:m}),e.jsx("p",{className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:s})]},t))})]})}),e.jsx(A,{kind:"recovery",config:{title:"Transformation recovery",dimensions:["Case","Evidence","Authority","Capacity","Adoption","Sponsorship"]}}),e.jsx("section",{id:"diagnostic",className:"scroll-mt-20 border-b border-border/60 bg-secondary/20 py-20 sm:py-24",children:e.jsxs("div",{className:"container mx-auto grid max-w-6xl gap-10 px-4 lg:grid-cols-[.72fr_1.28fr] lg:items-start",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[.22em] text-accent-gold",children:"24-question diagnostic"}),e.jsx("h2",{className:"mt-4 font-display text-3xl font-bold leading-tight text-foreground sm:text-4xl",children:"Find the constraint that needs an executive decision."}),e.jsx("p",{className:"mt-5 text-lg leading-relaxed text-muted-foreground",children:"The result is mapped to the playbook. It gives the team a starting point, not a generic maturity label."}),e.jsx("div",{className:"mt-7 space-y-3",children:["Current case and value","Decision ownership","Delivery control","Capacity and adoption","Executive sponsorship"].map(t=>e.jsxs("p",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[e.jsx(F,{className:"mt-0.5 h-4 w-4 shrink-0 text-accent-gold"})," ",t]},t))})]}),e.jsx(K,{onCompletion:(t,m)=>x({id:t,email:m})})]})}),e.jsx("section",{id:"download",className:"scroll-mt-20 border-b border-border/60 py-20 sm:py-24",children:e.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:e.jsxs("div",{className:"grid gap-10 lg:grid-cols-[.8fr_1.2fr] lg:items-center",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase tracking-[.22em] text-accent-gold",children:"50-card executive playbook"}),e.jsx("h2",{className:"mt-4 font-display text-3xl font-bold leading-tight text-foreground sm:text-4xl",children:"A working reference for the recovery meeting."}),e.jsx("p",{className:"mt-5 text-lg leading-relaxed text-muted-foreground",children:"It includes the decision rule, evidence pack, scorecard, role rules, meeting cadence, worked example and 90-day sequence."}),e.jsx("div",{className:"mt-7 rounded-2xl border border-border bg-card p-6",children:e.jsxs("p",{className:"flex items-start gap-2 text-sm leading-relaxed text-muted-foreground",children:[e.jsx(P,{className:"mt-0.5 h-4 w-4 shrink-0 text-accent-gold"})," The PDF is delivered straight to your inbox as a download link."]})})]}),u?e.jsx(E,{resource:u,submitLabel:"Send me the recovery playbook",initialEmail:a?.email??"",scorecardCompletionId:a?.id}):e.jsx("div",{className:"rounded-2xl border border-border bg-card p-8 text-center text-muted-foreground","data-testid":"playbook-download-not-ready",children:"This playbook is coming soon. Check back shortly."})]})})}),e.jsx("section",{className:"border-b border-border/60 bg-secondary/20 py-20 sm:py-24",children:e.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:e.jsxs("div",{className:"max-w-3xl",children:[e.jsx("p",{className:"text-xs uppercase tracking-[.22em] text-accent-gold",children:"Where this leads"}),e.jsx("h2",{className:"mt-4 font-display text-3xl font-bold leading-tight text-foreground sm:text-4xl",children:"When the decision crosses functions, recovery needs an installed cadence."}),e.jsx("p",{className:"mt-5 text-lg leading-relaxed text-muted-foreground",children:"The playbook helps the team prepare. The Strategy Execution and Transformation service helps install the decision rights, sponsor rhythm and evidence discipline around a live programme."}),e.jsxs(N,{to:"/consulting/strategy-execution-transformation",className:"mt-7 inline-flex items-center gap-2 rounded-xl bg-accent-gold px-6 py-3.5 font-semibold text-navy-deep hover:bg-accent-gold-light","data-testid":"link-transformation-recovery-consulting",children:["Discuss the consulting work ",e.jsx(f,{className:"h-4 w-4"})]})]})})}),e.jsx(S,{faqs:g,heading:"Questions executives ask before a recovery decision",className:"py-20 sm:py-24"})]})]})}export{Pe as default};

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.