PageSourceSearch

https://fortitudemedia.ai/assets/team._slug-DhsWWOiO.js

js fortitudemedia.ai collected 2026-10-05 15:34:23 UTC 11,806 bytes, 1 lines download raw bytes

1import{a5 as k,r as m,i as $,l as S,j as e,S as p,N as A,m as u,F as C,q as R,x as v}from"./index-C3vPl29G.js";import{J as g}from"./JsonLd-B1E7iPpg.js";import{b as E,H as w,C as L}from"./PageParts-_95RJrss.js";import"./service-images-BG2sJ3GB.js";const M={"ashley-kenerson":["https://www.linkedin.com/in/ashley-kenerson-williams-482251a/"],"ross-williams":["https://www.linkedin.com/in/rosswilliamsuk/"]};function F(s,i=!1,t=[]){const r=`${p}/team/${s.slug}`,o=Array.from(new Set([...s.links.map(([,l])=>l),...M[s.slug]??[]]));return{"@context":"https://schema.org","@type":"ProfilePage","@id":`${r}#profile`,url:r,name:s.meta_title,mainEntity:{"@type":"Person","@id":`${r}#person`,name:s.name,jobTitle:s.role,description:s.one_line,url:r,image:`${p}${u(s.photos.wide)}`,worksFor:{"@type":"Organization","@id":R},sameAs:o,...t.length?{knowsAbout:t.map(l=>l.label)}:{}},...i?{hasPart:{"@id":`${r}#guides-list`}}:{}}}function I(s,i){const t=`${p}/team/${s.slug}`;return{"@context":"https://schema.org","@type":"ItemList","@id":`${t}#guides-list`,name:`Guides by ${s.name}`,url:`${t}#guides`,numberOfItems:i.length,author:{"@id":`${t}#person`},itemListElement:i.map((r,o)=>({"@type":"ListItem",position:o+1,url:`${p}/insights/${r.slug}`,name:r.title}))}}function P(s){return{label:"Book a Growth Review",href:"/growth-review"}}function H(){const{founder:s,guides:i,sectors:t}=k.useLoaderData();m.useEffect(()=>$(),[]);const r=P(),o=S.filter(l=>l.slug!==s.slug);return e.jsxs("div",{className:"dc",children:[e.jsx(g,{data:E(p,[{name:"Home",path:"/"},{name:"Team",path:"/team"},{name:s.name,path:`/team/${s.slug}`}])}),e.jsx(g,{data:F(s,i.length>0,t)}),i.length>0?e.jsx(g,{data:I(s,i)}):null,e.jsx(A,{current:"/team"}),e.jsxs("section",{className:"fp-hero",children:[e.jsxs("div",{className:"fp-hero-pic",children:[e.jsx("img",{src:u(s.photos.wide),alt:`${s.name}, ${s.role} of Fortitude Media`,width:1600,height:900,fetchPriority:"high"}),e.jsxs("span",{className:"fp-hero-cap mono",children:[s.name.toUpperCase()," · ",s.role.toUpperCase()]})]}),e.jsx("div",{className:"wrap fp-hero-in",children:e.jsxs("div",{className:"fp-hero-tx",children:[e.jsxs("nav",{className:"fp-crumbs","aria-label":"Breadcrumb",children:[e.jsx("a",{href:"/",children:"Home"})," / ",e.jsx("a",{href:"/team",children:"Team"})," / ",e.jsx("span",{children:s.name})]}),e.jsxs("p",{className:"fp-label",children:[s.role," · ",s.focus]}),e.jsxs("h1",{className:"fp-h1",children:[e.jsx("span",{children:s.h1_line1}),e.jsx("em",{children:s.h1_line2})]}),e.jsx("p",{className:"fp-sub",children:s.sub}),e.jsxs("div",{className:"fp-actions",children:[e.jsxs("a",{className:"btn btn-forest",href:r.href,"data-track":"cta_click","data-track-label":r.label,"data-track-location":"founder-hero",children:[r.label," ",e.jsx("i",{children:"↗"})]}),e.jsx("span",{className:"fp-links",children:s.links.map(([l,h])=>e.jsx("a",{href:h,target:"_blank",rel:"noopener",children:l},h))})]})]})})]}),e.jsxs("main",{id:"main",children:[e.jsx("section",{className:"fp-facts",children:e.jsx("div",{className:"wrap",children:e.jsx("dl",{children:s.facts.map(([l,h])=>e.jsxs("div",{children:[e.jsx("dt",{children:l}),e.jsx("dd",{children:h})]},l))})})}),e.jsx("section",{className:"sec paper pg",children:e.jsx("div",{className:"wrap",children:e.jsxs("div",{className:"fp-story",children:[e.jsxs("div",{className:"fp-story-tx",children:[e.jsx("div",{className:"eyebrow",children:"The story"}),e.jsxs("h2",{className:"fp-h2",children:[s.story_h1," ",e.jsx("em",{children:s.story_h2})]}),e.jsx("div",{className:"fp-story-body",children:s.story.map(l=>e.jsx("p",{"data-rev":!0,children:l},l.slice(0,40)))})]}),e.jsxs("figure",{className:"fp-seated","data-rev":!0,children:[e.jsx("img",{src:u(s.photos.seated),alt:s.photos.seated_alt??`${s.name} seated in the Fortitude studio`,width:s.photos.seated_size?.[0]??1200,height:s.photos.seated_size?.[1]??1499,loading:"lazy",decoding:"async"}),e.jsx("figcaption",{className:"mono",children:s.photos.seated_caption})]})]})})}),e.jsx("section",{className:"sec pg",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{className:"fp-head",children:[e.jsx("div",{className:"eyebrow",children:"At Fortitude"}),e.jsxs("h2",{className:"fp-h2",children:[s.at_fortitude_h1," ",e.jsx("em",{children:s.at_fortitude_h2})]})]}),e.jsx("div",{className:"fp-cards",children:s.at_fortitude.map((l,h)=>e.jsxs("article",{"data-rev":!0,children:[e.jsx("span",{className:"mono",children:String(h+1).padStart(2,"0")}),e.jsx("h3",{children:l.h}),e.jsx("p",{children:l.p})]},l.h))})]})}),e.jsx("section",{className:"fp-record on-dark",children:e.jsxs("div",{className:"wrap",children:[e.jsx("div",{className:"eyebrow",children:"The record"}),e.jsx("div",{className:"fp-record-row",children:s.record.map(l=>e.jsxs("div",{"data-rev":!0,children:[e.jsx("b",{children:l.value}),e.jsx("span",{children:l.label}),e.jsx("small",{className:"mono",children:l.source})]},l.value+l.label))})]})}),e.jsx("section",{className:"sec paper pg",children:e.jsx("div",{className:"wrap",children:e.jsxs("div",{className:"fp-quote","data-rev":!0,children:[e.jsxs("p",{className:"mono",children:[s.name.toUpperCase()," · ",s.role.toUpperCase()]}),e.jsx("blockquote",{children:"“"+s.quote+"”"})]})})}),i.length>0?e.jsx(O,{f:s,guides:i}):null,t.length>0?e.jsx("section",{className:"sec pg",id:"sectors",children:e.jsxs("div",{className:"wrap",children:[e.jsx(w,{eyebrow:`${s.name} · Sector lead`,h2:`Sectors ${s.first} *leads.*`}),e.jsx("ul",{className:"fx-leads",children:t.map(l=>e.jsxs("li",{children:[e.jsx("b",{children:l.label}),e.jsxs("span",{className:"fx-sec-links",children:[e.jsxs("a",{href:l.guide.href,children:[l.label," guide ↗"]}),l.playbook?e.jsxs("a",{href:`/insights/playbooks/${l.playbook.slug}`,children:[l.playbook.title," ↗"]}):null]})]},l.guide.slug))})]})}):null,e.jsx("section",{className:"sec paper pg",children:e.jsxs("div",{className:"wrap",children:[e.jsx(w,{eyebrow:"More of the team",h2:"The other two *founders.*"}
1),e.jsx("div",{className:"fdr",children:o.map(l=>e.jsxs("article",{className:"fdr-card","data-rev":!0,children:[e.jsxs("a",{className:"fdr-pic",href:`/team/${l.slug}`,tabIndex:-1,children:[e.jsx("img",{src:u(l.photos.portrait),alt:`${l.name}, ${l.role} of Fortitude Media`,width:1200,height:1499,loading:"lazy",decoding:"async"}),e.jsxs("span",{className:"fdr-pic-cta mono","aria-hidden":"true",children:["Meet ",l.first," ",e.jsx("i",{children:"↗"})]})]}),e.jsxs("div",{className:"fdr-tx",children:[e.jsxs("p",{className:"fdr-role mono",children:[l.role," · ",l.focus]}),e.jsx("h3",{children:e.jsx("a",{href:`/team/${l.slug}`,children:l.name})}),e.jsx("p",{className:"fdr-body",children:l.one_line}),e.jsxs("a",{className:"fdr-link",href:`/team/${l.slug}`,children:["Meet ",l.first," ↗"]})]})]},l.slug))})]})}),e.jsx("div",{className:"fp-close",children:e.jsx(L,{img:"/site/library/01-Rowing--03-crew-side-profile.jpg",alt:"A four person rowing crew in profile at dawn",h2:`${s.close_h1} *${s.close_h2}*`,p:"Bring one service you want to grow. Leave with the three things we would fix first, in writing.",btn:{label:"Book a Growth Review",href:r.href,glyph:"↗"},trackLocation:"founder-close"})})]}),e.jsx(C,{})]})}const T={"ashley-kenerson":"Data, AI visibility, research and reporting.","david-adams":"Websites, getting named by AI and the business case.","ross-williams":"How buying is changing, PR and reputation, and sector guides."},U={"ashley-kenerson":["benchmarking-ai-visibility-competitors","original-research-data-ai-trust","zero-click-search-your-business"],"david-adams":["seo-vs-llm-optimisation","real-cost-of-a-website","ai-search-optimisation-cost-uk"],"ross-williams":["first-mover-advantage-ai","digital-pr-vs-traditional-pr","ai-disrupting-marketing-agency-model"]},G=["January","February","March","April","May","June","July","August","September","October","November","December"];function O({f:s,guides:i}){const t=m.useMemo(()=>{const a=new Map;for(const n of i){const d=a.get(n.pillar_slug)??{slug:n.pillar_slug,name:n.pillar_name??"Guides",items:[]};d.items.push(n),a.set(n.pillar_slug,d)}const c=[...a.values()];for(const n of c)n.items.sort((d,N)=>(N.publish_date??"").localeCompare(d.publish_date??"")||d.title.localeCompare(N.title));return c.sort((n,d)=>d.items.length-n.items.length||n.name.localeCompare(d.name))},[i]),[r,o]=m.useState("all"),[l,h]=m.useState({});m.useEffect(()=>{const a=new URLSearchParams(window.location.search).get("topic");a&&t.some(c=>c.slug===a)&&o(a)},[t]);const j=a=>{o(a);const c=new URL(window.location.href);a==="all"?c.searchParams.delete("topic"):c.searchParams.set("topic",a),window.history.replaceState(window.history.state,"",c.toString())},b=Math.round(i.reduce((a,c)=>a+(c.reading_time??0),0)/60),x=i.map(a=>a.last_reviewed??"").sort().pop(),y=x?` Every guide reviewed ${G[Number(x.slice(5,7))-1]} ${x.slice(0,4)}.`:"",_=new Map(i.map(a=>[a.slug,a])),f=(U[s.slug]??[]).map(a=>_.get(a)).filter(Boolean);return e.jsx("section",{className:"sec pg fg",id:"guides",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("p",{className:"fg-eye mono",children:[s.name," · Guides"]}),e.jsxs("div",{className:"fg-top",children:[e.jsxs("div",{className:"fg-intro",children:[e.jsxs("h2",{className:"fp-h2 fg-h2",children:["Written by ",s.first,". ",e.jsxs("em",{children:[i.length," ",i.length===1?"guide":"guides","."]})]}),e.jsxs("p",{className:"fg-sub",children:[T[s.slug]??"",y," Start with the three founders ask about most, or pick a topic."]})]}),e.jsxs("dl",{className:"fg-stats",children:[e.jsxs("div",{children:[e.jsx("dt",{className:"mono",children:"Guides"}),e.jsx("dd",{children:i.length})]}),e.jsxs("div",{children:[e.jsx("dt",{className:"mono",children:"Topics"}),e.jsx("dd",{children:t.length})]}),e.jsxs("div",{children:[e.jsx("dt",{className:"mono",children:"Of reading"}),e.jsxs("dd",{children:[b," hrs"]})]})]})]}),e.jsxs("div",{className:"fg-chips",role:"group","aria-label":"Filter guides by topic",children:[e.jsxs("button",{type:"button","aria-pressed":r==="all",onClick:()=>j("all"),children:["All ",e.jsx("small",{children:i.length})]}),t.map(a=>e.jsxs("button",{type:"button","aria-pressed":r===a.slug,onClick:()=>j(a.slug),children:[a.name," ",e.jsx("small",{children:a.items.length})]},a.slug))]}),f.length>0&&r==="all"?e.jsx("div",{className:"fg-cards",children:f.map(a=>e.jsxs("a",{className:"fg-card",href:`/insights/${a.slug}`,children:[v(a.slug,a.pillar_slug)??a.cover_image_url?e.jsx("img",{src:v(a.slug,a.pillar_slug)??a.cover_image_url??"",alt:"",width:600,height:240,loading:"lazy",decoding:"async"}):null,e.jsxs("span",{className:"fg-card-tx",children:[e.jsx("small",{className:"mono",children:a.pillar_name}),e.jsx("b",{children:a.title}),a.reading_time?e.jsxs("small",{className:"mono",children:[a.reading_time," min read"]}):null]})]},a.slug))}):null,e.jsx("div",{className:"fg-groups",children:t.map(a=>{const c=l[a.slug]||r===a.slug;return e.jsxs("div",{className:"fg-group",hidden:r!=="all"&&r!==a.slug,children:[e.jsxs("div",{className:"fg-group-h",children:[e.jsx("h3",{children:a.name}),e.jsxs("small",{className:"mono",children:[a.items.length," ",a.items.length===1?"guide":"guides"]})]}),e.jsx("ul",{children:a.items.map((n,d)=>e.jsx("li",{hidden:d>=4&&!c,className:d===3&&!c?"fg-4th":void 0,children:e.jsxs("a",{href:`/insights/${n.slug}`,children:[e.jsx("span",{children:n.title}),n.reading_time?e.jsxs("small",{className:"mono",children:[n.reading_time," min"]}):null]})},n.slug))}),a.items.length>3&&!c?e.jsxs("button",{type:"button",className:a.items.length===4?"fg-all fg-all-ph":"fg-
1all","aria-expanded":!1,onClick:()=>h(n=>({...n,[a.slug]:!0})),children:["All ",a.items.length," ↗"]}):null]},a.slug)})})]})})}export{H as component,I as guidesItemList,F as personJsonLd};

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.