<!DOCTYPE html><html lang="en-GB"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="ahrefs-site-verification" content="48eb330cc3cd7300c58581d718a1ea2e861f09eda8f4fd17260e21630685196d"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="preconnect" href="https://www.googletagmanager.com"><link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&family=Instrument+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=optional" onload="this.onload=null;this.rel='stylesheet'" /><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&family=Instrument+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=optional"></noscript><script>window.dataLayer=window.dataLayer||[];</script><title>We&#39;re No Longer Focusing on Leadformly</title><meta name="description" content="We shut down Leadformly after years building our first SaaS. Discover why, what we learned, and the best alternatives for lead capture."><link rel="canonical" href="https://ventureharbour.com/were-no-longer-focusing-on-leadformly/"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta property="og:locale" content="en_GB"><meta property="og:type" content="article"><meta property="og:title" content="We're No Longer Focusing on Leadformly"><meta property="og:description" content="We shut down Leadformly after years building our first SaaS. Discover why, what we learned, and the best alternatives for lead capture."><meta property="og:url" content="https://ventureharbour.com/were-no-longer-focusing-on-leadformly/"><meta property="og:site_name" content="Venture Harbour"><meta property="og:image" content="/uploads/2021/01/johannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg"><meta property="article:publisher" content="https://www.facebook.com/VentureHarbour/"><meta property="article:published_time" content="2021-01-13 08:59:42"><meta property="article:modified_time" content="2026-04-09 08:17:57"><meta property="article:section" content="Marketing Automation"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@ventureharbour"><meta name="twitter:creator" content="@ventureharbour"><meta name="twitter:title" content="We're No Longer Focusing on Leadformly"><meta name="twitter:description" content="We shut down Leadformly after years building our first SaaS. Discover why, what we learned, and the best alternatives for lead capture."><meta name="twitter:image" content="/uploads/2021/01/johannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg"><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/favicon.svg"><link rel="alternate" type="application/rss+xml" title="Venture Harbour » Feed" href="/feed/"><link rel="preload" as="image" imagesrcset="/.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=320&#38;fm=webp&#38;q=75 320w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=640&#38;fm=webp&#38;q=75 640w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=800&#38;fm=webp&#38;q=75 800w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=960&#38;fm=webp&#38;q=75 960w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=1280&#38;fm=webp&#38;q=75 1280w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=1600&#38;fm=webp&#38;q=75 1600w" imagesizes="480px" media="(min-width: 821px)" fetchpriority="high"><script type="application/ld+json" class="vh-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#article","isPartOf":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/"},"author":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#author-marcus"},"editor":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#author-anna"},"headline":"We're No Longer Focusing on Leadformly","datePublished":"2021-01-13T08:59:42Z","dateModified":"2026-04-09T08:17:57Z","mainEntityOfPage":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/"},"publisher":{"@id":"https://ventureharbour.com/#organization"},"image":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#primaryimage"},"thumbnailUrl":"/uploads/2021/01/johannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg","articleSection":["Marketing Automation"],"inLanguage":"en-GB","speakable":{"@type":"SpeakableSpecification","cssSelector":[".vh-tldr",".faq-body-inner"]}},{"@type":"WebPage","@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/","url":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/","name":"We're No Longer Focusing on Leadformly","isPartOf":{"@id":"https://ventureharbour.com/#website"},"primaryImageOfPage":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#primaryimage"},"image":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#primaryimage"},"thumbnailUrl":"/uploads/2021/01/johannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg","datePublished":"2021-01-13T08:59:42Z","dateModified":"2026-04-09T08:17:57Z","description":"We shut down Leadformly after years building our first SaaS. Discover why, what we learned, and the best alternatives for lead capture.","inLanguage":"en-GB","breadcrumb":{"@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#breadcrumb"},"potentialAction":[{"@type":"ReadAction","target":["https://ventureharbour.com/were-no-longer-focusing-on-leadformly/"]}]},{"@type":"ImageObject","@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#primaryimage","url":"/uploads/2021/01/johannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg","contentUrl":"/uploads/2021/01/johannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg","inLanguage":"en-GB"},{"@type":"BreadcrumbList","@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://ventureharbour.com/"},{"@type":"ListItem","position":2,"name":"Marketing Automation","item":"https://ventureharbour.com/category/marketing-automation/"},{"@type":"ListItem","position":3,"name":"We're No Longer Focusing on Leadformly"}]},{"@type":"WebSite","@id":"https://ventureharbour.com/#website","url":"https://ventureharbour.com/","name":"Venture Harbour","description":"","publisher":{"@id":"https://ventureharbour.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://ventureharbour.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https://ventureharbour.com/#organization","name":"Venture Harbour","url":"https://ventureharbour.com/","logo":{"@type":"ImageObject","@id":"https://ventureharbour.com/#/schema/logo/image/","inLanguage":"en-GB","url":"https://ventureharbour.com/favicon-192x192.png","contentUrl":"https://ventureharbour.com/favicon-192x192.png","caption":"Venture Harbour"},"image":{"@id":"https://ventureharbour.com/#/schema/logo/image/"},"address":{"@type":"PostalAddress","addressLocality":"Oxford","addressRegion":"Oxfordshire","addressCountry":"GB"},"sameAs":["https://www.facebook.com/VentureHarbour/","https://x.com/ventureharbour","https://www.youtube.com/@intellagentsHQ/","https://www.linkedin.com/in/marcustaylor100/"],"publishingPrinciples":"https://ventureharbour.com/editorial-policy/"},{"@type":"Person","@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#author-marcus","name":"Marcus Taylor","image":{"@type":"ImageObject","url":"/uploads/marcus/marcus-byline.png","contentUrl":"/uploads/marcus/marcus-byline.png"},"description":"Marcus Taylor is the founder of Venture Harbour. He's also an early-stage investor, advisor & Patron of The Prince's Trust. Marcus has been writing about and objectively reviewing marketing software since 2012 to help small businesses grow. He has been featured in Forbes 30 Under 30, The BBC, The Guardian, Campaign, Econsultancy, CXL and more.","sameAs":["https://x.com/MarcusATaylor","https://www.linkedin.com/in/marcustaylor100/","https://www.youtube.com/@intellagentsHQ/","https://ventureharbour.com"],"url":"https://ventureharbour.com/author/marcus/","jobTitle":"Founder, Venture Harbour","knowsAbout":["Marketing automation","Conversion optimisation","Agentic product development","Email marketing","Growth marketing","SaaS product strategy"],"hasCredential":[{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"Founder, Venture Harbour (2012–present)"},{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"Founder, Leadformly and Serene"},{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"Forbes 30 Under 30 honoree"},{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"Patron of The Prince's Trust"},{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"Early-stage investor and advisor to 20+ SaaS companies"}]},{"@type":"Person","@id":"https://ventureharbour.com/were-no-longer-focusing-on-leadformly/#author-anna","name":"Anna Hamzah","image":{"@type":"ImageObject","url":"/uploads/anna/anna-byline.jpg","contentUrl":"/uploads/anna/anna-byline.jpg"},"description":"Anna Hamzah is Director of Product at Venture Harbour. Alongside our CTO she led the engineering team that built TrueNorth, our growth-marketing platform, and helped shape the venture studio's product-development playbook. Anna doesn't write for Venture Harbour — she reviews the work that does go live.","sameAs":[],"url":"https://ventureharbour.com/author/anna/","jobTitle":"Director of Product, Venture Harbour","knowsAbout":["Product management","Engineering leadership","Venture development","Editorial review","Growth marketing platforms"],"hasCredential":[{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"Director of Product, Venture Harbour"},{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"Co-lead, TrueNorth engineering team"},{"@type":"EducationalOccupationalCredential","credentialCategory":"professional-experience","name":"10+ years shipping B2B SaaS"}]}]}</script><style>:root{--bg:oklch(.185 .012 60);--bg-paper:oklch(.97 .008 85);--bg-paper-2:oklch(.94 .008 85);--bg-paper-3:oklch(.99 .005 85);--ink:oklch(.18 .012 60);--ink-mute:oklch(.42 .012 60);--paper-mute:oklch(.45 .012 60);--rule:oklch(.28 .012 60);--rule-paper:oklch(.86 .012 60);--rule-strong:oklch(.75 .012 60);--accent:oklch(.58 .2 263);--accent-ink:oklch(.36 .18 263);--accent-soft:oklch(.96 .04 263);--highlight:oklch(.75 .14 78);--highlight-ink:oklch(.38 .11 78);--highlight-soft:oklch(.96 .06 78);--flag:oklch(.6 .19 32);--flag-ink:oklch(.34 .15 32);--flag-soft:oklch(.95 .05 32);--kelp:oklch(.52 .1 185);--kelp-ink:oklch(.32 .08 185);--kelp-soft:oklch(.94 .04 185);--plum:oklch(.45 .15 330);--plum-ink:oklch(.28 .13 330);--plum-soft:oklch(.95 .05 330);--good:var(--kelp);--good-soft:var(--kelp-soft);--warn:var(--highlight);--warn-soft:var(--highlight-soft);--bad:var(--flag);--bad-soft:var(--flag-soft);--fg-on-dark:oklch(.95 .008 85);--fg-on-dark-mute:oklch(.7 .012 60);--serif:"Newsreader", "Iowan Old Style", Georgia, serif;--sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:16px;--fs-md:17px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:32px;--fs-3xl:44px;--fs-4xl:64px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--container-max:1280px;--article-max:760px;--container-pad:32px;--r-sm:4px;--r-md:6px;--r-lg:12px;--r-pill:9999px;--ease:cubic-bezier(.2, 0, 0, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{text-size-adjust:100%;scroll-behavior:smooth}html,body{max-width:100%}@supports (overflow:clip){html,body{overflow-x:clip}}@supports not (overflow:clip){html,body{overflow-x:hidden}}body{font-family:var(--sans);font-size:var(--fs-base);line-height:1.55;color:var(--ink);background:var(--bg-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer}::selection{background:var(--ink);color:var(--bg-paper)}::-moz-selection{background:var(--ink);color:var(--bg-paper)}.prose blockquote ::selection,.prose blockquote::selection{background:var(--plum);color:var(--bg-paper)}.prose blockquote ::-moz-selection,.prose blockquote::-moz-selection{background:var(--plum);color:var(--bg-paper)}.prose code::selection,.prose pre ::selection{background:var(--kelp);color:var(--bg-paper)}.prose code::-moz-selection,.prose pre ::-moz-selection{background:var(--kelp);color:var(--bg-paper)}.prose .hl::selection,.prose .hl ::selection{background:var(--highlight);color:var(--ink)}.prose .hl::-moz-selection,.prose .hl ::-moz-selection{background:var(--highlight);color:var(--ink)}.prose{font-family:var(--serif);font-size:19px;line-height:1.7;color:var(--ink);max-width:var(--article-max)}.prose h1{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5vw,46px);line-height:1.05;letter-spacing:-.015em;color:var(--ink);margin:.2em 0 .6em}.prose h2,.prose h3,.prose h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.2;margin:1.6em 0 .6em}.prose h2{font-size:34px;line-height:1.18;margin-top:2.2em;padding-bottom:.35em;border-bottom:1px solid var(--rule-paper)}.prose[data-slug=email-marketing-software-tools-one-best] h2{padding-bottom:0;border-bottom:none}.prose h3{font-size:clamp(20px,1.7vw,23px);line-height:1.25;color:var(--ink);margin-top:1.8em}.prose h4{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.35;letter-spacing:-.005em;margin:1.5em 0 .4em;color:var(--ink)}.prose h4.kicker{font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--paper-mute);margin:1.8em 0 .4em;letter-spacing:.1em}.prose :is(h2,h3).tool-rank{display:grid;grid-template-columns:auto 1fr auto;column-gap:var(--s-4);align-items:baseline;border-bottom:1px solid var(--rule-paper);padding-bottom:14px;margin-top:2.2em;margin-bottom:.9em}.prose :is(h2,h3).tool-rank:has(+.tool-best-for){border-bottom:0;padding-bottom:0;margin-bottom:.35em}.prose .tool-best-for{font-family:var(--serif);font-size:15px;font-style:italic;line-height:1.4;color:var(--ink-mute);margin:0 0 1.1em;padding-bottom:14px;border-bottom:1px solid var(--rule-paper)}.prose :is(h2,h3).tool-rank .rank{font-family:var(--mono);font-size:40px;line-height:1;font-weight:500;letter-spacing:-.03em;color:var(--ink);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;display:inline-flex;align-items:baseline;gap:4px}.prose :is(h2,h3).tool-rank .rank:before{content:"N°";font-size:11px;letter-spacing:.08em;color:var(--paper-mute);font-weight:500;text-transform:uppercase;margin-right:4px;transform:translateY(-.9em);display:inline-block}.prose :is(h2,h3).tool-rank[data-rank="1"] .rank{color:var(--accent)}.prose :is(h2,h3).tool-rank[data-rank="2"] .rank,.prose :is(h2,h3).tool-rank[data-rank="3"] .rank{color:var(--ink)}.prose :is(h2,h3).tool-rank[data-rank="4"] .rank,.prose :is(h2,h3).tool-rank[data-rank="5"] .rank,.prose :is(h2,h3).tool-rank[data-rank="6"] .rank{color:var(--ink-mute)}.prose :is(h2,h3).tool-rank .name{font-family:var(--serif);font-weight:500;font-size:inherit;line-height:1.1;color:var(--ink)}.prose :is(h2,h3).tool-rank .name em{font-style:italic;color:var(--accent-ink);font-weight:400}.prose :is(h2,h3).tool-rank .meta{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-mute);white-space:nowrap;font-weight:500}.prose :is(h2,h3).tool-rank .meta .score{font-size:13px;color:var(--ink);font-weight:600;letter-spacing:0;text-transform:none}.prose :is(h2,h3).tool-rank .meta .score sup{color:var(--paper-mute);font-weight:500}.prose :is(h2,h3).tool-rank .meta .pill{padding:3px 8px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:10px;letter-spacing:.08em}.prose :is(h2,h3).tool-rank[data-rank="1"]{border-bottom-color:var(--accent);border-bottom-width:2px}.prose .tool-rank-head{display:flex;align-items:baseline;column-gap:var(--s-4);border-bottom:1px solid var(--rule-paper);padding-bottom:14px;margin-top:2.2em;margin-bottom:.9em}.prose .tool-rank-head[data-rank="1"]{border-bottom-color:var(--accent);border-bottom-width:2px}.prose .tool-rank-head:has(+.tool-best-for){border-bottom:0;padding-bottom:0;margin-bottom:.35em}.prose .tool-rank-head>:is(h2,h3).tool-rank{flex:1 1 auto;min-width:0;border-bottom:0;padding-bottom:0;margin:0}.prose .tool-rank-head>.test-lab-chip{flex:0 0 auto}.prose .test-lab-chip{position:relative;display:inline-flex}.prose .test-lab-chip>.test-lab-chip__link{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in oklch,var(--accent) 28%,transparent);font-family:var(--mono);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-decoration:none;background-image:none;margin:0}.prose .test-lab-chip>.test-lab-chip__link:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 auto}.prose .test-lab-chip>.test-lab-chip__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prose .test-lab-chip__tip{position:absolute;top:calc(100% + 9px);right:0;z-index:20;width:max-content;max-width:320px;padding:11px 13px;background:var(--bg-paper);border:1px solid var(--ink);border-radius:var(--r-md);box-shadow:0 16px 40px -12px #05030240,0 4px 10px -4px #05030214;font-family:var(--sans);font-size:12.5px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--ink-mute);white-space:normal;text-align:left;opacity:0;visibility:hidden;transform:translateY(4px);pointer-events:none;transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),visibility 0ms linear .24s}.prose .test-lab-chip__tip:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:9px}.prose .test-lab-chip:hover .test-lab-chip__tip,.prose .test-lab-chip:focus-within .test-lab-chip__tip{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),visibility 0ms linear 0ms}.prose .test-lab-chip__more{white-space:nowrap}@media(prefers-reduced-motion:reduce){.prose .test-lab-chip__tip{transition:none;transform:none}}@media(max-width:640px){.prose :is(h2,h3).tool-rank{grid-template-columns:auto 1fr;row-gap:4px}.prose :is(h2,h3).tool-rank .meta{grid-column:1 / -1;padding-left:0}.prose :is(h2,h3).tool-rank .rank{font-size:30px}.prose .tool-rank-head{flex-direction:column;align-items:flex-start;row-gap:6px}.prose .test-lab-chip__tip{right:auto;left:0;max-width:min(300px,calc(100vw - 2 * var(--container-pad)))}}.prose .tool-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:0;margin:.2em 0 1.6em;border-top:1px solid var(--rule-paper);border-bottom:1px solid var(--rule-paper);font-family:var(--sans)}.prose .tool-specs .spec-item{min-width:0;padding:14px 18px;border-right:1px solid var(--rule-paper)}.prose .tool-specs .spec-item:first-child{padding-left:0}.prose .tool-specs .spec-item:last-child{border-right:0;padding-right:0}.prose .tool-specs .k{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-mute);margin-bottom:4px;font-weight:500}.prose .tool-specs .v{font-size:14px;font-weight:500;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}@media(max-width:640px){.prose .tool-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.prose .tool-specs .spec-item:nth-child(2){border-right:0;padding-right:0}.prose .tool-specs .spec-item:nth-child(3){padding-left:0}.prose .tool-specs .spec-item:nth-child(1),.prose .tool-specs .spec-item:nth-child(2){border-bottom:1px solid var(--rule-paper)}}.prose p.table-note{font-family:var(--sans);font-size:12px;color:var(--paper-mute);line-height:1.5;margin-top:-.6em;margin-bottom:1.6em}.prose p.table-note a{color:inherit;border-bottom:1px dotted var(--paper-mute)}.prose p.table-note a:hover{color:var(--ink)}.prose .guide-callout{margin:1.6em 0 2.2em;padding:18px 22px 6px;background:#f5f1ee;border-left:3px solid var(--accent);border-radius:0 4px 4px 0}.prose .guide-callout__kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-mute);font-weight:600;margin-bottom:10px}.prose .guide-callout p{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink-mute);margin:0 0 12px;max-width:64ch}.prose .guide-callout p:last-child{margin-bottom:14px}.prose .guide-callout a{color:var(--accent-ink)}.prose .vibe-callout{margin:1.8em 0;padding:20px 24px;background:#f5f1ee;border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0}.prose .vibe-callout__kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);font-weight:600;margin-bottom:10px}.prose .vibe-callout__excerpt{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink);margin:0 0 12px;max-width:68ch}.prose .vibe-callout__more{display:block}.prose .vibe-callout__more>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--accent-ink);padding:4px 0;cursor:pointer;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:#fff0;transition:color var(--dur-1) var(--ease)}.prose .vibe-callout__more>summary::-webkit-details-marker{display:none}.prose .vibe-callout__more>summary::marker{content:""}.prose .vibe-callout__more>summary:hover{color:var(--accent)}.prose .vibe-callout__more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.prose .vibe-callout__more>summary .chevron{font-family:var(--mono);font-size:11px;line-height:1;transition:transform var(--dur-2) var(--ease)}.prose .vibe-callout__more[open]>summary .chevron{transform:rotate(180deg)}.prose .vibe-callout__more .label-less,.prose .vibe-callout__more[open] .label-more{display:none}.prose .vibe-callout__more[open] .label-less{display:inline}.prose .vibe-callout__body{padding-top:14px;margin-top:10px;border-top:1px solid var(--rule-paper)}.prose .vibe-callout__body p{font-family:var(--serif);font-size:15.5px;line-height:1.65;color:var(--ink);margin:0 0 12px;max-width:68ch}.prose .vibe-callout__body p:last-child{margin-bottom:0}.prose .vibe-callout__body a{color:var(--accent-ink)}.prose .tool-finder{margin:2.2em 0 2.6em;border:1px solid var(--ink);background:var(--bg-paper-3);padding:0}.prose .tool-finder p a:after{content:none}.prose .tool-finder__actions .tool-finder__read,.prose .tool-finder__result-name a{text-decoration:none}.prose .tool-finder__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding:14px 22px 12px;border-bottom:1px solid var(--rule-paper)}.prose .tool-finder__kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600;margin:0}.prose .tool-finder__progress{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-mute);margin:0;white-space:nowrap}.prose .tool-finder__body{padding:20px 22px 22px}.prose .tool-finder__lead{font-family:var(--serif);font-size:15.5px;line-height:1.6;color:var(--ink-mute);margin:0 0 18px;max-width:62ch}.prose .tool-finder__crumb{display:none;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin:0 0 14px}.prose .tool-finder__crumb.is-visible{display:flex}.prose .tool-finder__crumb-item{font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--ink-mute);background:var(--bg-paper-2);border:1px solid var(--rule-paper);border-radius:var(--r-pill);padding:3px 12px}.prose .tool-finder__restart{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-mute);background:none;border:none;padding:3px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.prose .tool-finder__restart:hover{color:var(--ink)}.prose .tool-finder__step,.prose .tool-finder__result{display:none}.prose .tool-finder__step.is-active,.prose .tool-finder__result.is-active{display:block;animation:tfRise var(--dur-3,.24s) var(--ease)}@keyframes tfRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.prose .tool-finder__step.is-active,.prose .tool-finder__result.is-active{animation:none}}.prose .tool-finder__q{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:-.01em;line-height:1.3;color:var(--ink);margin:0 0 14px}.prose .tool-finder__chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.prose .tool-finder__chips button{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.3;color:var(--ink);background:var(--bg-paper);border:1px solid var(--rule-strong);border-radius:var(--r-sm);padding:9px 16px;cursor:pointer;text-align:left;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.prose .tool-finder__chips button:hover{background:var(--ink);border-color:var(--ink);color:var(--fg-on-dark);transform:translateY(-1px)}.prose .tool-finder__chips button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prose .tool-finder__result-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--kelp-ink);font-weight:600;margin:0 0 8px}.prose .tool-finder__result-name{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-.015em;line-height:1.15;color:var(--ink);margin:0 0 10px}.prose .tool-finder__result-name a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule-strong)}.prose .tool-finder__result-name a:hover{border-color:var(--ink)}.prose .tool-finder__why{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink);margin:0 0 8px;max-width:62ch}.prose .tool-finder__fact{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--paper-mute);margin:0 0 16px}.prose .tool-finder__actions{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin:0 0 10px}.prose .tool-finder__actions .tool-finder__cta{display:inline-flex;align-items:center;gap:var(--s-2);padding:10px 18px;background:var(--ink);color:var(--fg-on-dark);font-family:var(--sans);font-size:14px;font-weight:600;border-radius:var(--r-sm);text-decoration:none;transition:transform var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.prose .tool-finder__actions .tool-finder__cta:hover{transform:translate(2px);background:var(--accent-ink)}.prose .tool-finder__actions .tool-finder__read{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--accent-ink);text-decoration:none;border-bottom:1px dotted var(--accent-ink);padding-bottom:1px}.prose .tool-finder__actions .tool-finder__read:hover{color:var(--accent);border-color:var(--accent)}.prose .tool-finder__runner{font-family:var(--sans);font-size:13px;line-height:1.55;color:var(--ink-mute);margin:0;max-width:62ch;padding-top:12px;border-top:1px solid var(--rule-paper)}.prose .tool-finder__runner a{color:var(--accent-ink)}@media(max-width:640px){.prose .tool-finder__body{padding:18px 16px}.prose .tool-finder__head{padding:12px 16px 10px}.prose .tool-finder__chips{flex-direction:column}.prose .tool-finder__chips button{width:100%;padding:12px 16px}.prose .tool-finder__actions .tool-finder__cta{width:100%;justify-content:center}}.prose h2.q,.prose h3.q{position:relative;font-style:italic;font-weight:400;color:var(--ink);padding-top:16px;margin-top:2em;padding-bottom:.1em;border-top:1px solid var(--rule-paper)}.prose h2.q{font-size:26px;line-height:1.22}.prose h3.q{font-size:19px;line-height:1.3}.prose h2.q:before,.prose h3.q:before{content:"Q.";position:absolute;top:10px;left:0;font-family:var(--mono);font-style:normal;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--bg-paper);padding-right:8px;transform:translateY(-50%)}.prose h2.q:after,.prose h3.q:after{content:"?";font-family:var(--serif);font-style:normal;color:var(--accent);margin-left:4px}.prose h2.q.no-mark:after,.prose h3.q.no-mark:after{content:""}.prose p{margin:0 0 1em}.prose details.method{margin:1.2em 0 2em;border:1px solid var(--rule-paper);border-radius:var(--r-md);background:var(--bg-paper-3);overflow:hidden}.prose details.method>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:14px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--accent-ink);background:var(--bg-paper-3);transition:background var(--dur-1) var(--ease)}.prose details.method>summary::-webkit-details-marker{display:none}.prose details.method>summary:hover{background:var(--bg-paper-2)}.prose details.method>summary:before{content:"⚑";font-family:var(--serif);font-size:14px;margin-right:10px;color:var(--accent);letter-spacing:0;text-transform:none}.prose details.method .method-summary-label{flex:1}.prose details.method .method-chevron{width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform var(--dur-2) var(--ease);flex-shrink:0}.prose details.method[open]>summary{border-bottom:1px solid var(--rule-paper);background:var(--bg-paper-2)}.prose details.method[open] .method-chevron{transform:rotate(-135deg) translate(-1px,-1px)}.prose details.method .method-body{padding:var(--s-5) var(--s-6);background:var(--bg-paper)}.prose details.method .method-body>*:first-child{margin-top:0}.prose details.method .method-body>*:last-child{margin-bottom:0}.prose details.method h4{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);margin:1.6em 0 .6em;padding-bottom:.3em;border-bottom:1px solid var(--rule-paper)}.prose details.method h4:first-child{margin-top:0}.prose details.method h5{font-family:var(--serif);font-size:17px;font-weight:600;margin:1.2em 0 .3em;color:var(--ink);display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline}@media(max-width:720px){.prose details.method .method-body{padding:var(--s-4)}.prose details.method h4{font-size:18px}}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose blockquote{font-style:italic;border-left:3px solid var(--accent);margin:1.4em 0;padding:.1em 0 .1em 1.2em;color:var(--ink-mute)}.prose code{font-family:var(--mono);font-size:.9em;background:var(--bg-paper-2);padding:1px 5px;border-radius:3px}.prose pre{font-family:var(--mono);background:var(--bg);color:var(--fg-on-dark);padding:16px 20px;border-radius:var(--r-md);overflow-x:auto;font-size:13px;line-height:1.55}.code{background:var(--bg);color:var(--fg-on-dark);border:1px solid var(--rule);border-radius:var(--r-md);margin:var(--s-5) 0;font-family:var(--mono);font-size:13px;line-height:1.6;overflow:hidden}.code-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:10px 16px;border-bottom:1px solid var(--rule);font-size:11px;letter-spacing:.04em;color:var(--fg-on-dark-mute)}.code-head .fname{flex:1;min-width:0;color:var(--fg-on-dark);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-head .lang{text-transform:uppercase;letter-spacing:.1em;font-size:10px;padding:2px 7px;border-radius:2px;background:#2d2823;color:var(--fg-on-dark-mute);margin-left:auto}.code-head .copy{display:inline-flex;align-items:center;gap:5px;background:#fff0;color:var(--fg-on-dark-mute);border:1px solid var(--rule);font-family:var(--mono);font-size:10px;padding:4px 9px;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;transition:color var(--dur-1),border-color var(--dur-1),background var(--dur-1);position:relative}.code-head .copy:hover{color:var(--fg-on-dark);border-color:var(--fg-on-dark-mute);background:#1f1915}.code-head .copy:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklch,var(--accent) 45%,transparent)}.code-head .check-i,.code-head .copied-label{display:none}.code-head .copy.copied{color:var(--kelp);border-color:var(--kelp);background:oklch(.25 .08 185)}.code-head .copy.copied .copy-i,.code-head .copy.copied .copy-label{display:none}.code-head .copy.copied .check-i,.code-head .copy.copied .copied-label{display:inline-flex}.code pre{margin:0;padding:16px 20px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.6;white-space:pre;color:var(--fg-on-dark);border-radius:0}.prose .code pre,.prose .code pre.astro-code{background:transparent!important;background-color:transparent!important;color:var(--fg-on-dark)!important;border-radius:0!important;border:0!important;padding:16px 20px!important}.code code{font-family:inherit;font-size:inherit;background:none;padding:0}.code .tok-k{color:oklch(.78 .14 260)}.code .tok-s{color:#8bd47b}.code .tok-n{color:#e7b643}.code .tok-c{color:#7b6f66;font-style:italic}.code .tok-f{color:oklch(.78 .14 40)}.code .tok-p{color:#9ec3e2}.prose img,.prose figure{margin:1.8em 0}.prose img{max-width:100%;height:auto}.prose iframe.yt-embed{display:block;width:100%;height:auto;aspect-ratio:16 / 9;margin:1.8em 0;border:1px solid var(--rule-paper);border-radius:var(--r-md);background:var(--ink)}.prose figcaption{font-family:var(--sans);font-size:13px;color:var(--paper-mute);margin-top:.6em}.prose ul,.prose ol{margin:0 0 1em 1.2em;padding:0}.prose li{margin:.3em 0}.prose hr{border:0;border-top:1px solid var(--rule-paper);margin:2.4em 0}.prose .updates-accordion{margin:1.2em 0 2em;border-top:1px solid var(--rule-paper);border-bottom:1px solid var(--rule-paper)}.prose .updates-accordion .update-row{border-top:1px solid var(--rule-paper)}.prose .updates-accordion .update-row:first-child{border-top:0}.prose .updates-accordion .update-row>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:var(--s-4);align-items:baseline;padding:12px 4px;transition:background var(--dur-1) var(--ease)}.prose .updates-accordion .update-row>summary::-webkit-details-marker{display:none}.prose .updates-accordion .update-row>summary:hover{background:var(--bg-paper-3)}.prose .updates-accordion .u-date{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);white-space:nowrap}.prose .updates-accordion .u-snippet{font-family:var(--serif);font-size:15px;line-height:1.4;color:var(--ink-mute);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.prose .updates-accordion .u-chevron{width:8px;height:8px;border-right:1.5px solid var(--paper-mute);border-bottom:1.5px solid var(--paper-mute);transform:rotate(45deg) translate(-1px,-1px);transition:transform var(--dur-2) var(--ease),border-color var(--dur-1) var(--ease);flex-shrink:0;align-self:center}.prose .updates-accordion .update-row[open]>summary .u-chevron{transform:rotate(-135deg) translate(-1px,-1px);border-color:var(--accent-ink)}.prose .updates-accordion .update-row[open]>summary{background:var(--bg-paper-3)}.prose .updates-accordion .update-row[open]>summary .u-snippet{display:none}.prose .updates-accordion .u-body{padding:4px 4px 16px calc(150px + var(--s-4));font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--ink)}.prose .updates-accordion .u-body :global(a){color:var(--accent)}@media(max-width:720px){.prose .updates-accordion .update-row>summary{grid-template-columns:auto 1fr auto;gap:var(--s-3)}.prose .updates-accordion .u-body{padding-left:0}}.prose table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:14px;line-height:1.5;margin:1.8em 0;border:1px solid var(--rule-paper)}.prose table thead th{background:var(--bg-paper-2);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);font-weight:500;text-align:left;padding:12px 14px;border-bottom:1px solid var(--rule-paper)}.prose table td{padding:14px;border-bottom:1px solid var(--rule-paper);color:var(--ink);vertical-align:middle}.prose table tbody tr:hover{background:var(--bg-paper-3)}.prose table tr:last-child td{border-bottom:0}.prose table td:first-child{font-weight:600}.prose table.is-light{border:0;font-size:13px}.prose table.is-light thead th{background:#fff0;padding:8px 12px}.prose table.is-light td{padding:8px 12px;font-family:var(--mono);color:var(--ink)}.prose table.is-light td:first-child{font-family:var(--sans);font-weight:500;color:var(--ink-mute)}.prose table.is-light tbody tr:hover{background:#fff0}.prose table td a img{display:inline-block;vertical-align:middle;width:28px;height:28px;margin:0 10px 0 0;border-radius:4px;object-fit:contain;flex:0 0 28px}.prose table td a img+strong,.prose table td a strong{vertical-align:middle}.prose table td a:hover img{opacity:.85}@media(max-width:720px){.prose table.vh-glance,.prose table.vh-glance tbody{display:block}.prose table.vh-glance{border:0}.prose table.vh-glance thead{display:none}.prose table.vh-glance tbody tr{display:block;border:1px solid var(--rule-paper);background:var(--bg-paper);padding:14px 14px 12px;margin-bottom:var(--s-3)}.prose table.vh-glance tbody tr:hover{background:var(--bg-paper)}.prose table.vh-glance td{display:block;border:0;padding:0}.prose table.vh-glance td:first-child{display:flex;align-items:center;font-size:15px;margin-bottom:10px}.prose table.vh-glance td[data-label]:not(:first-child):not(:last-child){display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:5px 0;border-bottom:1px dotted var(--rule-paper);font-size:13px;text-align:right}.prose table.vh-glance td[data-label]:not(:first-child):not(:last-child):before{content:attr(data-label);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);flex:0 0 auto;text-align:left}.prose table.vh-glance td[data-label]:nth-last-child(2){border-bottom:0}.prose table.vh-glance td:last-child{margin-top:10px}.prose table.vh-glance td:last-child a{display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--accent);color:#fff;font-family:var(--sans);font-size:14px;font-weight:600;border-radius:4px;text-decoration:none}.prose table.vh-glance td:last-child a:hover{color:#fff}}.prose .vh-tabs{border:1px solid var(--ink);background:var(--bg-paper);margin:1.8em 0;position:relative}.prose .vh-tabs__bar{display:flex;gap:0;border-bottom:1px solid var(--rule-paper);padding:0 14px;overflow-x:auto;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.prose .vh-tabs__bar::-webkit-scrollbar{display:none}.prose .vh-tabs__tab{display:inline-flex;align-items:center;gap:8px;padding:14px 14px 13px;background:#fff0;border:0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-weight:600;cursor:pointer;border-bottom:2px solid #fff0;margin-bottom:-1px;white-space:nowrap;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:#fff0;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.prose .vh-tabs__tab .tab-dot{width:7px;height:7px;border-radius:50%;background:var(--rule-strong,oklch(.82 .01 60));flex:0 0 auto;transition:background var(--dur-1) var(--ease),box-shadow var(--dur-2) var(--ease)}.prose .vh-tabs__tab .tab-count{font-family:var(--mono);font-size:9.5px;padding:2px 6px;background:var(--bg-paper-2);color:var(--paper-mute);border-radius:var(--r-pill,999px);line-height:1.35;font-weight:500}.prose .vh-tabs__tab:hover{color:var(--ink)}.prose .vh-tabs__tab:hover .tab-dot{background:var(--ink)}.prose .vh-tabs__tab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--accent) 45%,transparent);border-radius:3px}.prose .vh-tabs__tab.is-active{color:var(--ink);border-bottom-color:var(--ink)}.prose .vh-tabs__tab.is-active .tab-dot{box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 20%,transparent)}.prose .vh-tabs__tab.tab-pros.is-active .tab-dot{background:var(--kelp,oklch(.56 .14 155))}.prose .vh-tabs__tab.tab-cons.is-active .tab-dot{background:var(--flag,oklch(.6 .18 25))}.prose .vh-tabs__tab.tab-fit.is-active .tab-dot{background:var(--kelp,oklch(.56 .14 155))}.prose .vh-tabs__tab.tab-nofit.is-active .tab-dot{background:var(--flag,oklch(.6 .18 25))}.prose .vh-tabs__body{padding:0}.prose .vh-tabs__panel{padding:22px 24px 20px}.prose .vh-tabs__panel[hidden]{display:none}.prose .vh-tabs__panel.is-active{animation:vh-tabs-fade .26s var(--ease,cubic-bezier(.2,.8,.2,1))}@keyframes vh-tabs-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.prose .vh-tabs__panel>p:first-child{margin-top:0}.prose .vh-tabs__panel>p:last-child,.prose .vh-tabs__panel>ul:last-child,.prose .vh-tabs__panel>ol:last-child{margin-bottom:0}.prose .vh-tabs__panel>ul.pros,.prose .vh-tabs__panel>ul.cons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;max-width:68ch}.prose .vh-tabs__panel>ul.pros>li,.prose .vh-tabs__panel>ul.cons>li{display:grid;grid-template-columns:24px 1fr;gap:12px;margin:0;font-family:var(--serif);font-size:15.5px;line-height:1.5;color:var(--ink);align-items:start}.prose .vh-tabs__panel>ul.pros>li:before,.prose .vh-tabs__panel>ul.cons>li:before{content:"";width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:13px;line-height:1;margin-top:2px;flex:0 0 auto;transition:transform var(--dur-2) var(--ease)}.prose .vh-tabs__panel>ul.pros>li:before{content:"+";color:var(--kelp,oklch(.44 .13 155));background:var(--kelp-soft,oklch(.94 .06 155))}.prose .vh-tabs__panel>ul.cons>li:before{content:"−";color:var(--flag,oklch(.48 .16 25));background:var(--flag-soft,oklch(.95 .05 25))}.prose .vh-tabs__panel>ul.pros>li:hover:before,.prose .vh-tabs__panel>ul.cons>li:hover:before{transform:scale(1.08)}.prose .vh-tabs__panel>ul.pros>li>*:first-child,.prose .vh-tabs__panel>ul.cons>li>*:first-child{min-width:0}.prose .vh-tabs--tool-fit .vh-tabs__panel{border-left:3px solid #fff0;padding-left:24px}.prose .vh-tabs--tool-fit .panel-fit{border-left-color:var(--kelp,oklch(.56 .14 155))}.prose .vh-tabs--tool-fit .panel-nofit{border-left-color:var(--flag,oklch(.6 .18 25))}.prose .vh-tabs--tool-fit .vh-tabs__panel>p{font-family:var(--serif);font-size:16px;line-height:1.6;margin:0;color:var(--ink)}.prose .vh-tabs--tool-fit .panel-fit .fit-cta{margin-top:16px;padding:12px 20px;font-size:14px;gap:10px}.prose .vh-tabs--tool-fit .panel-fit .fit-cta .fit-cta-arrow{font-family:var(--mono);font-weight:500;transition:transform .18s var(--ease)}.prose .vh-tabs--tool-fit .panel-fit .fit-cta:hover .fit-cta-arrow{transform:translate(3px)}.prose .vh-tabs--tool-fit .panel-fit .fit-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.prose .vh-tabs--tool-fit .panel-fit .fit-cta-row .fit-cta{margin-top:0}.prose .vh-tabs--tool-fit .panel-fit .fit-cta-ghost,.prose a.fit-cta-ghost,.prose a.fit-cta-ghost:link,.prose a.fit-cta-ghost:visited{display:inline-flex;align-items:center;padding:11px 19px;font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:0;color:var(--ink);background:#fff0;background-image:none;border:1px solid var(--ink);border-radius:var(--r-sm);text-decoration:none;text-decoration-color:#fff0;text-decoration-thickness:0;box-shadow:0 1px #0000000d;transform:translateY(0);transition:background-color .18s var(--ease),color .18s var(--ease),transform .15s var(--ease),box-shadow .18s var(--ease)}.prose a.fit-cta-ghost:hover,.prose a.fit-cta-ghost:focus-visible{background-color:var(--ink);background-image:none;color:var(--fg-on-dark);text-decoration-color:#fff0;text-decoration-thickness:0;transform:translateY(-1px);box-shadow:0 6px 16px -8px #00000059,0 2px #0000000d;outline:none}.prose a.fit-cta-ghost:active{transform:translateY(0);box-shadow:0 1px #0000000d}@media(prefers-reduced-motion:reduce){.prose a.fit-cta-ghost{transition:background-color .18s var(--ease),color .18s var(--ease)}.prose a.fit-cta-ghost:hover,.prose a.fit-cta-ghost:focus-visible{transform:none}}@media(max-width:540px){.prose .vh-tabs--tool-fit .panel-fit .fit-cta-ghost{display:none}}.prose .usecase-tabs{border:1px solid var(--ink);background:var(--bg-paper);margin:1.8em 0}.prose .usecase-tabs .vh-tabs__bar{display:flex;flex-wrap:wrap;gap:6px;padding:14px 16px;border-bottom:1px solid var(--rule-paper);overflow:visible;touch-action:manipulation}.prose .usecase-tabs .vh-tabs__tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-mute);background:#fff0;border:1px solid var(--rule-paper);border-radius:3px;margin-bottom:0;white-space:nowrap;cursor:pointer;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.prose .usecase-tabs .vh-tabs__tab:hover{color:var(--ink);border-color:var(--ink)}.prose .usecase-tabs .vh-tabs__tab.is-active{background:var(--ink);color:var(--fg-on-dark);border-color:var(--ink)}.prose .usecase-tabs .vh-tabs__panel{padding:0}.prose .usecase-tabs .uc-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr);align-items:stretch}.prose .usecase-tabs .uc-main{padding:26px 28px 24px;min-width:0}.prose .usecase-tabs .uc-main>*:first-child{margin-top:0}.prose .usecase-tabs .uc-main>*:last-child{margin-bottom:0}.prose .usecase-tabs .uc-heading{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 14px;line-height:1.3}.prose .usecase-tabs .uc-main p{font-size:16px;line-height:1.65}.prose .usecase-tabs .uc-main img{display:block;width:100%;height:auto;margin:0;border-radius:var(--r-md)}.prose .usecase-tabs .uc-card{padding:24px;background:#f9f4f0;border-left:1px solid var(--rule-paper);display:flex;flex-direction:column;gap:10px}.prose .usecase-tabs .uc-card-logo{display:flex;align-items:center;height:36px;margin-bottom:2px}.prose .usecase-tabs .uc-card-logo img{max-height:32px;max-width:140px;width:auto;margin:0;border-radius:0}.prose .usecase-tabs .uc-card-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}.prose .usecase-tabs .uc-card-name{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:-.01em;color:var(--ink);line-height:1.1}.prose .usecase-tabs .uc-card-desc{font-family:var(--serif);font-size:14.5px;line-height:1.55;color:var(--ink-mute);margin:0 0 4px;font-weight:300}.prose .usecase-tabs .uc-card-stats{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:14px;border-top:1px solid var(--rule-paper)}.prose .usecase-tabs .uc-card-stats>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;align-items:baseline}.prose .usecase-tabs .uc-card-stats .k{font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);padding-top:1px}.prose .usecase-tabs .uc-card-stats .v{font-family:var(--sans);font-size:12.5px;color:var(--ink);font-weight:500;line-height:1.4}.prose .usecase-tabs .uc-card-cta{margin-top:auto;padding-top:14px;align-self:stretch}@media(max-width:820px){.prose .usecase-tabs .uc-grid{grid-template-columns:minmax(0,1fr)}.prose .usecase-tabs .uc-card{border-left:0;border-top:1px solid var(--rule-paper)}}@media(max-width:560px){.prose .usecase-tabs .uc-main,.prose .usecase-tabs .uc-card{padding:20px 18px}.prose .usecase-tabs .vh-tabs__bar{padding:12px}.prose .usecase-tabs .vh-tabs__tab{padding:7px 10px;font-size:12.5px}}.cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;background:var(--ink);color:var(--fg-on-dark);text-decoration:none;font-family:var(--sans);font-weight:600;font-size:14px;border-radius:var(--r-sm);position:relative;overflow:hidden;isolation:isolate;transition:transform .15s var(--ease),box-shadow .18s var(--ease);box-shadow:0 1px #0000000d}.cta-primary:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 0%,#fff0 30%,oklch(.78 .2 280 / .55) 40%,oklch(.85 .18 200 / .55) 48%,oklch(.88 .17 160 / .55) 56%,oklch(.82 .2 60 / .55) 64%,oklch(.78 .2 320 / .55) 72%,#fff0 80%,transparent 100%);background-size:200% 100%;transform:translate(-120%);transition:transform .9s cubic-bezier(.19,1,.22,1);mix-blend-mode:screen;pointer-events:none}.cta-primary:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(110deg,#191a24,#0e1624 40%,#031a1b 60%,#191a24);opacity:0;transition:opacity .35s ease;pointer-events:none}.cta-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px -8px #5443db66,0 2px #0000000d}.cta-primary:hover:before{transform:translate(120%)}.cta-primary:hover:after{opacity:1}.cta-primary:active{transform:translateY(0)}.prose a.cta-primary,.prose a.cta-primary:link,.prose a.cta-primary:visited,.prose a.cta-primary:hover,.prose a.cta-primary:focus-visible{color:var(--fg-on-dark);text-decoration:none;background-image:none;background-color:var(--ink);text-decoration-color:#fff0;text-decoration-thickness:0;padding:12px 18px;margin:0}@media(prefers-reduced-motion:reduce){.cta-primary,.cta-primary:before,.cta-primary:after{transition:none}.cta-primary:hover{transform:none}}.cta-rail.framed .cta,.cta-rail.paper .cta{position:relative;overflow:hidden;isolation:isolate}.cta-rail.framed .cta:before,.cta-rail.paper .cta:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 0%,#fff0 30%,oklch(.78 .2 280 / .55) 40%,oklch(.85 .18 200 / .55) 48%,oklch(.88 .17 160 / .55) 56%,oklch(.82 .2 60 / .55) 64%,oklch(.78 .2 320 / .55) 72%,#fff0 80%,transparent 100%);background-size:200% 100%;transform:translate(-120%);transition:transform .9s cubic-bezier(.19,1,.22,1);mix-blend-mode:screen;pointer-events:none}.cta-rail.framed .cta:hover:before,.cta-rail.paper .cta:hover:before{transform:translate(120%)}.prose .hl{background:linear-gradient(to top,var(--accent-soft) 55%,transparent 55%);padding:0 2px}.prose blockquote cite{display:block;font-style:normal;font-family:var(--mono);font-size:11px;color:var(--paper-mute);letter-spacing:.04em;text-transform:uppercase;margin-top:8px}.prose a,.prose a:link,.prose a:visited{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:#fff0;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-skip-ink:auto;background-image:linear-gradient(var(--accent-soft),var(--accent-soft));background-repeat:no-repeat;background-position:0 100%;background-size:100% 30%;padding:0 2px;margin:0 -2px;border-radius:2px;transition:background-size .26s var(--ease),color .18s var(--ease),text-decoration-color .18s var(--ease),text-decoration-thickness .18s var(--ease),text-underline-offset .18s var(--ease)}.prose a:hover,.prose a:focus-visible{background-size:100% 100%;color:var(--ink);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px;outline:none}.prose :is(p,li,blockquote) a:not(:has(img,svg)):after{content:"→";display:inline-block;margin-left:3px;font-family:var(--mono);font-weight:500;color:var(--accent);transition:transform .18s var(--ease)}.prose :is(p,li,blockquote) a:not(:has(img,svg)):hover:after,.prose :is(p,li,blockquote) a:not(:has(img,svg)):focus-visible:after{transform:translate(3px)}.prose .hl{background-image:linear-gradient(var(--accent-soft),var(--accent-soft));background-repeat:no-repeat;background-position:0 100%;background-size:100% 55%;padding:0 2px;margin:0 -2px;border-radius:2px}.author-chip{position:relative;display:inline-block}.author-chip .tip{opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),visibility 0ms linear .24s;pointer-events:none}.author-chip:hover .tip,.author-chip:focus-within .tip,.author-chip .tip:hover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),visibility 0ms linear 0ms}.prose h2 .num,.prose h2 .section-num{font-family:var(--mono);font-size:12px;color:var(--accent-ink);letter-spacing:.1em;font-weight:500;margin-right:14px;white-space:nowrap;text-transform:uppercase;vertical-align:.25em}.prose h2.numbered{border-bottom:1px solid var(--ink);padding-bottom:12px;display:flex;align-items:baseline;gap:14px}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}.container-narrow{max-width:var(--article-max);margin:0 auto;padding:0 var(--container-pad)}.kicker{font-family:var(--mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--paper-mute)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:720px){:root{--container-pad:20px;--fs-3xl:36px;--fs-4xl:48px}.prose{font-size:18px}.prose h2{font-size:24px}.prose h4{font-size:18px}}@keyframes vh-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vh-rise{animation:vh-rise .42s var(--ease) both}.vh-rise-delay-1{animation-delay:60ms}.vh-rise-delay-2{animation-delay:.12s}.vh-rise-delay-3{animation-delay:.18s}.vh-rise-delay-4{animation-delay:.24s}.prose figure img,figure.media img{transition:transform .6s var(--ease),filter .4s var(--ease);will-change:transform}figure.media{overflow:hidden;border-radius:var(--r-md)}.prose figure:hover img,figure.media:hover img{transform:scale(1.02)}a,button{transition:color var(--dur-1) var(--ease)}.vh-lift{transition:transform .26s var(--ease),box-shadow .26s var(--ease),border-color .26s var(--ease)}.vh-lift:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px #05030233,0 4px 10px -4px #05030214}.arrow,[data-arrow]{display:inline-block;transition:transform .22s var(--ease);will-change:transform}a:hover>.arrow,a:hover>[data-arrow],button:hover>.arrow,button:hover>[data-arrow]{transform:translate(3px)}.vh-focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 30%,transparent);border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){.vh-rise{animation:none}.prose figure:hover img,figure.media:hover img{transform:none}.vh-lift:hover{transform:none}.arrow,[data-arrow]{transition:none}a:hover>.arrow,a:hover>[data-arrow],button:hover>.arrow,button:hover>[data-arrow]{transform:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--bg-ink-2:oklch(.215 .014 60);--grad-paper-ink:linear-gradient(180deg, var(--bg-paper), var(--bg-paper-2));--grad-plum-wash:linear-gradient(180deg, transparent, color-mix(in oklch, var(--plum) 6%, transparent));--ease-spring:cubic-bezier(.32, .72, 0, 1)}@keyframes vh-draw-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes vh-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.vh-numeral{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(56px,10vw,128px);line-height:1;letter-spacing:-.02em;display:block;color:var(--ink-mute);margin:0 0 calc(var(--s-2) * -1);opacity:.42;pointer-events:none;user-select:none}.vh-numeral[data-tone=accent]{color:var(--accent-ink)}.vh-numeral[data-tone=plum]{color:var(--plum-ink)}.vh-numeral[data-tone=kelp]{color:var(--kelp-ink)}.vh-numeral[data-tone=highlight]{color:var(--highlight-ink)}.vh-numeral[data-tone=flag]{color:var(--flag-ink)}.vh-numeral[data-tone=paper]{color:var(--fg-on-dark);opacity:.28}@media(prefers-reduced-motion:reduce){.vh-ticker-track{animation:none!important}.vh-accent-underline{animation:none!important;transform:scaleX(1)!important}}.prose .vh-tldr{position:relative;border:1px solid var(--ink);border-top-width:3px;padding:var(--s-5) var(--s-6) var(--s-5);background:var(--bg-paper);margin:var(--s-6) 0}.prose .vh-tldr__ribbon{position:absolute;top:-3px;right:24px;display:inline-flex;align-items:flex-start;color:var(--ink)}.prose .vh-tldr__ribbon span{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark);background:var(--ink);padding:5px 8px 4px;display:inline-block;line-height:1}.prose .vh-tldr__ribbon svg{display:block;margin-left:-1px}.prose .vh-tldr__title{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.015em;line-height:1.2;margin:0 0 var(--s-3);max-width:calc(100% - 80px);color:var(--ink)}.prose .vh-tldr__body{font-family:var(--serif);font-size:16.5px;line-height:1.6;color:var(--ink-mute);font-weight:300;max-width:64ch}.prose .vh-tldr__body>p{margin:0 0 10px}.prose .vh-tldr__body>p:last-child{margin-bottom:0}.prose .vh-tldr__body>ul{margin:10px 0 0;padding:0;list-style:none}.prose .vh-tldr__body>ul>li{position:relative;padding-left:18px;margin:0 0 6px}.prose .vh-tldr__body>ul>li:last-child{margin-bottom:0}.prose .vh-tldr__body>ul>li:before{content:"";position:absolute;left:0;top:.7em;width:8px;height:1px;background:var(--ink);opacity:.5}.prose .vh-tldr__body b,.prose .vh-tldr__body strong{font-weight:500;color:var(--ink)}.prose .vh-tldr__body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.prose .vh-tldr__body a:hover{color:var(--accent-ink)}.progress[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;height:2px;z-index:70;pointer-events:none}.progress[data-astro-cid-3ef6ksr2] .bar[data-astro-cid-3ef6ksr2]{height:100%;width:0%;background:var(--accent);transition:width 80ms linear}.topbar[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--rule-paper);background:var(--bg-paper);position:sticky;top:0;z-index:60;transition:transform .26s var(--ease),background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease);will-change:transform}.topbar[data-astro-cid-3ef6ksr2].is-hidden{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){.topbar[data-astro-cid-3ef6ksr2]{transition:none}}@supports (backdrop-filter:blur(1px)){.topbar[data-astro-cid-3ef6ksr2]{background:#f8f5efd9;backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px)}}.topbar[data-astro-cid-3ef6ksr2].on-hero{background:#fff0;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:#fff0}@supports (backdrop-filter:blur(1px)){.topbar[data-astro-cid-3ef6ksr2].on-hero{background:#fff0;backdrop-filter:none;-webkit-backdrop-filter:none}}.topbar[data-astro-cid-3ef6ksr2].on-hero .brand[data-astro-cid-3ef6ksr2]{color:var(--fg-on-dark)}.topbar[data-astro-cid-3ef6ksr2].on-hero .brand[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{color:var(--fg-on-dark)}.topbar[data-astro-cid-3ef6ksr2].on-hero .brand[data-astro-cid-3ef6ksr2] small[data-astro-cid-3ef6ksr2]{color:#ffffff8c}.topbar[data-astro-cid-3ef6ksr2].on-hero .nav[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2]{color:#ffffffc7}.topbar[data-astro-cid-3ef6ksr2].on-hero .nav[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--fg-on-dark);background:#ffffff14}.topbar[data-astro-cid-3ef6ksr2].on-hero .search-btn[data-astro-cid-3ef6ksr2]{color:#ffffffb3;border-color:#fff3}.topbar[data-astro-cid-3ef6ksr2].on-hero .search-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--fg-on-dark);border-color:#ffffff80}.topbar[data-astro-cid-3ef6ksr2].on-hero .search-btn[data-astro-cid-3ef6ksr2] kbd[data-astro-cid-3ef6ksr2]{color:#ffffff8c;background:#ffffff0f;border-color:#ffffff26}.topbar[data-astro-cid-3ef6ksr2].on-hero .menu-btn[data-astro-cid-3ef6ksr2]{color:#fffc;border-color:#ffffff38}.topbar[data-astro-cid-3ef6ksr2].on-hero .menu-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--fg-on-dark);border-color:var(--fg-on-dark)}.topbar-inner[data-astro-cid-3ef6ksr2]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-6);padding-block:12px}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;transition:color var(--dur-1) var(--ease)}.brand[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{color:var(--ink);flex:0 0 auto;transition:transform .36s var(--ease),color var(--dur-1) var(--ease);transform-origin:50% 60%}.brand[data-astro-cid-3ef6ksr2]:hover svg[data-astro-cid-3ef6ksr2]{transform:rotate(-6deg) scale(1.05);color:var(--accent-ink)}.brand[data-astro-cid-3ef6ksr2] small[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;font-weight:400;color:var(--paper-mute);letter-spacing:.05em;text-transform:uppercase}.nav[data-astro-cid-3ef6ksr2]{display:flex;gap:2px;justify-content:flex-end;font-size:14px;font-family:var(--sans)}.nav-item[data-astro-cid-3ef6ksr2]{position:relative}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],.nav[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2]{padding:7px 12px;color:var(--ink-mute);font-weight:500;border-radius:4px;transition:color var(--dur-1) var(--ease),background var(--dur-1) var(--ease);background:#fff0;border:0;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px;position:relative}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .24s var(--ease)}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover:after{transform:scaleX(1)}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,.nav[data-astro-cid-3ef6ksr2] .nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--ink);background:var(--bg-paper-2)}.nav[data-astro-cid-3ef6ksr2] .caret[data-astro-cid-3ef6ksr2]{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform var(--dur-2)}.nav[data-astro-cid-3ef6ksr2] .has-menu[data-astro-cid-3ef6ksr2][aria-expanded=true] .caret[data-astro-cid-3ef6ksr2]{transform:rotate(-135deg) translate(-1px,-1px)}.nav-menu[data-astro-cid-3ef6ksr2]{position:absolute;top:calc(100% + 10px);left:50%;background:var(--bg-paper);border:1px solid var(--rule-paper);box-shadow:0 24px 48px -16px #05030240,0 4px 12px -4px #05030214;padding:10px;width:560px;max-width:calc(100vw - 32px);z-index:80;display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;opacity:0;pointer-events:none;visibility:hidden;transform:translate(calc(-50% + var(--menu-shift, 0px))) translateY(-6px) scale(.98);transform-origin:top center;transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),visibility 0ms linear var(--dur-2);border-radius:var(--r-md)}.nav-menu[data-astro-cid-3ef6ksr2]:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;background:#fff0}.nav-menu[data-astro-cid-3ef6ksr2].open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(calc(-50% + var(--menu-shift, 0px))) translateY(0) scale(1);transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),visibility 0ms linear 0ms}.nav-menu-intro[data-astro-cid-3ef6ksr2]{grid-column:1 / -1;padding:10px 12px 12px;border-bottom:1px dashed var(--rule-paper);margin-bottom:4px}.nav-menu-eyebrow[data-astro-cid-3ef6ksr2]{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:6px}.nav-menu-intro[data-astro-cid-3ef6ksr2] p[data-astro-cid-3ef6ksr2]{margin:0;font-family:var(--serif);font-size:13.5px;line-height:1.45;color:var(--ink-mute);font-weight:300}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 12px;border-radius:4px;color:var(--ink);font-weight:500;line-height:1.3;align-items:start;transition:background var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{background:var(--bg-paper-2);transform:translate(2px)}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover small[data-astro-cid-3ef6ksr2]{color:var(--ink-mute)}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover .n[data-astro-cid-3ef6ksr2]{color:var(--accent)}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2] .n[data-astro-cid-3ef6ksr2]{transition:color var(--dur-1) var(--ease)}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2] small[data-astro-cid-3ef6ksr2]{grid-column:2;display:block;font-family:var(--sans);font-weight:400;font-size:11.5px;color:var(--paper-mute);margin-top:2px;letter-spacing:0}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2] .n[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;color:var(--paper-mute);letter-spacing:.06em;padding-top:3px}.nav-menu-row[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].nav-menu-roundup{display:block;padding:0 12px 8px 50px;margin-top:-6px;font-family:var(--sans);font-size:10.5px;letter-spacing:0;text-transform:none;color:var(--paper-mute);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].nav-menu-roundup:hover{color:var(--ink);background:#fff0;transform:none}.nav-menu-foot[data-astro-cid-3ef6ksr2]{grid-column:1 / -1;border-top:1px solid var(--rule-paper);padding:10px 12px;margin-top:4px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--paper-mute);text-transform:uppercase;display:flex;justify-content:flex-end}.nav-menu-foot[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--accent-ink);font-weight:600;padding:0;display:inline;background:#fff0}.nav-menu-foot[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--accent);background:#fff0}.utils[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--s-2);justify-self:end}.search-btn[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;border:1px solid var(--rule-paper);border-radius:6px;background:#fff0;color:var(--paper-mute);font-family:var(--sans);font-size:13px;cursor:pointer;transition:border-color var(--dur-1),color var(--dur-1),background var(--dur-1)}.menu-close-icon[data-astro-cid-3ef6ksr2]{display:none}.search-btn[data-astro-cid-3ef6ksr2]:hover{border-color:var(--ink);color:var(--ink)}.search-btn[data-astro-cid-3ef6ksr2]:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 25%,transparent)}.search-btn[data-astro-cid-3ef6ksr2] kbd[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;padding:2px 5px;border:1px solid var(--rule-paper);border-radius:3px;color:var(--paper-mute);background:var(--bg-paper-2)}.menu-btn[data-astro-cid-3ef6ksr2]{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--rule-paper);border-radius:4px;background:#fff0;color:var(--ink-mute);cursor:pointer}.menu-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--ink);border-color:var(--ink)}@media(max-width:860px){.nav[data-astro-cid-3ef6ksr2],.search-btn[data-astro-cid-3ef6ksr2] .search-label[data-astro-cid-3ef6ksr2],.search-btn[data-astro-cid-3ef6ksr2] kbd[data-astro-cid-3ef6ksr2]{display:none}.menu-btn[data-astro-cid-3ef6ksr2]{display:inline-flex}.topbar-inner[data-astro-cid-3ef6ksr2]{grid-template-columns:auto 1fr auto}.utils[data-astro-cid-3ef6ksr2]{gap:8px}.search-btn[data-astro-cid-3ef6ksr2]{width:36px;height:36px;padding:0;justify-content:center;gap:0;border-radius:4px}.menu-btn[data-astro-cid-3ef6ksr2]{width:36px;height:36px}}.menu-btn[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-open-icon[data-astro-cid-3ef6ksr2]{display:none}.menu-btn[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-close-icon[data-astro-cid-3ef6ksr2]{display:inline-block}.mobile-nav[data-astro-cid-3ef6ksr2]{position:absolute;top:100%;left:0;right:0;background:var(--bg-paper);border-bottom:1px solid var(--rule-paper);box-shadow:0 24px 48px -16px #05030238,0 4px 12px -4px #05030214;z-index:55;max-height:calc(100vh - 100%);overflow-y:auto}.mobile-nav[data-astro-cid-3ef6ksr2][hidden]{display:none}.mobile-nav[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;padding:8px 16px 20px}.mobile-nav[data-astro-cid-3ef6ksr2]>nav[data-astro-cid-3ef6ksr2]>a[data-astro-cid-3ef6ksr2]{display:block;padding:14px 8px;color:var(--ink);font-family:var(--sans);font-weight:500;font-size:16px;border-bottom:1px solid var(--rule-paper)}.mobile-nav-section[data-astro-cid-3ef6ksr2]{margin-top:4px}.mobile-nav-section-title[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-mute);padding:16px 8px 8px}.mobile-nav-cat[data-astro-cid-3ef6ksr2]{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 8px;color:var(--ink);font-family:var(--sans);font-weight:500;font-size:15px;line-height:1.3;border-bottom:1px solid var(--rule-paper);align-items:start}.mobile-nav-cat[data-astro-cid-3ef6ksr2] .n[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;color:var(--paper-mute);letter-spacing:.06em;padding-top:3px}.mobile-nav-cat[data-astro-cid-3ef6ksr2] small[data-astro-cid-3ef6ksr2]{display:block;font-family:var(--sans);font-weight:400;font-size:12px;color:var(--paper-mute);margin-top:2px}.mobile-nav-row[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;border-bottom:1px solid var(--rule-paper)}.mobile-nav-row[data-astro-cid-3ef6ksr2] .mobile-nav-cat[data-astro-cid-3ef6ksr2]{border-bottom:0}.mobile-nav-roundup[data-astro-cid-3ef6ksr2]{display:block;padding:0 8px 10px 46px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);font-weight:600}.mobile-nav-all[data-astro-cid-3ef6ksr2]{display:block;padding:14px 8px;margin-top:8px;color:var(--accent-ink);font-family:var(--sans);font-weight:600;font-size:14px}@media(min-width:861px){.mobile-nav[data-astro-cid-3ef6ksr2]{display:none!important}}.search-overlay[data-astro-cid-3ef6ksr2]{position:fixed;inset:0;z-index:300;display:grid;grid-template-rows:min-content 1fr;align-items:start;justify-items:center;padding-top:15vh;opacity:0;transition:opacity var(--dur-2) var(--ease)}.search-overlay[data-astro-cid-3ef6ksr2][hidden]{display:none}.search-overlay[data-astro-cid-3ef6ksr2].show{opacity:1}.so-backdrop[data-astro-cid-3ef6ksr2]{position:absolute;inset:0;background:#16100c80;backdrop-filter:saturate(120%) blur(6px);-webkit-backdrop-filter:saturate(120%) blur(6px);cursor:zoom-out;z-index:1}.so-panel[data-astro-cid-3ef6ksr2]{position:relative;z-index:2;width:min(640px,calc(100vw - 32px));background:var(--bg-paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 40px 80px -24px #05030273,0 10px 24px -8px #05030233;overflow:hidden;transform:translateY(-12px) scale(.98);transition:transform var(--dur-2) var(--ease)}.search-overlay[data-astro-cid-3ef6ksr2].show .so-panel[data-astro-cid-3ef6ksr2]{transform:translateY(0) scale(1)}.so-input-row[data-astro-cid-3ef6ksr2]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-3);padding:14px 18px;border-bottom:1px solid var(--rule-paper)}.so-icon[data-astro-cid-3ef6ksr2]{color:var(--paper-mute)}.so-input-row[data-astro-cid-3ef6ksr2] input[data-astro-cid-3ef6ksr2]{font:inherit;font-family:var(--sans);font-size:18px;color:var(--ink);background:#fff0;border:0;outline:none;width:100%;padding:4px 0}.so-input-row[data-astro-cid-3ef6ksr2] input[data-astro-cid-3ef6ksr2]::placeholder{color:var(--paper-mute)}.so-esc[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;padding:2px 6px;border:1px solid var(--rule-paper);color:var(--paper-mute);border-radius:3px;background:var(--bg-paper-2)}.so-meta[data-astro-cid-3ef6ksr2]{padding:10px 18px;font-family:var(--mono);font-size:10px;color:var(--paper-mute);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--rule-paper)}.so-meta[data-astro-cid-3ef6ksr2] kbd[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;padding:1px 5px;border:1px solid var(--rule-paper);border-radius:2px;margin:0 2px;color:var(--ink-mute)}.so-suggestions[data-astro-cid-3ef6ksr2]{padding:12px 10px}.so-section-title[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-mute);padding:6px 10px 8px;font-weight:500}.so-suggestions[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{list-style:none;margin:0;padding:0}.so-suggestions[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:10px 12px;font-family:var(--serif);font-size:15.5px;color:var(--ink);border-radius:4px;transition:background var(--dur-1),color var(--dur-1)}.so-suggestions[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{background:var(--accent-soft);color:var(--accent-ink)}.so-suggestions[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2] small[data-astro-cid-3ef6ksr2]{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);margin-bottom:2px;font-weight:500}.so-empty[data-astro-cid-3ef6ksr2]{padding:12px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--paper-mute)}.copy-chip[data-astro-cid-gdbtgpey]{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--ink);background:var(--bg-paper-2);border:1px solid var(--rule-paper);border-radius:var(--r-sm);padding:2px 8px;cursor:pointer;position:relative;transition:background var(--dur-1),border-color var(--dur-1)}.copy-chip[data-astro-cid-gdbtgpey]:hover{background:var(--bg-paper-3);border-color:var(--rule-strong,var(--ink-mute))}.copy-chip[data-astro-cid-gdbtgpey]:active{transform:translateY(1px)}.copy-chip-icon[data-astro-cid-gdbtgpey]{opacity:.55}.copy-chip[data-astro-cid-gdbtgpey]:hover .copy-chip-icon[data-astro-cid-gdbtgpey]{opacity:1}.copy-chip-toast[data-astro-cid-gdbtgpey]{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,4px);background:var(--ink);color:var(--fg-on-dark,#fff);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:4px 8px;border-radius:var(--r-sm);opacity:0;pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease);white-space:nowrap}.copy-chip-toast[data-astro-cid-gdbtgpey][data-state=on]{opacity:1;transform:translate(-50%)}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid oklch(.28 .012 60);background:var(--bg);color:var(--fg-on-dark);margin-top:var(--s-10)}.site-footer[data-astro-cid-sz7xmlte] .logo-mark{color:var(--fg-on-dark)}.footer-inner[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:var(--s-7);align-items:start;padding:var(--s-7) 0}.footer-identity[data-astro-cid-sz7xmlte]{display:flex;flex-direction:row;align-items:center;gap:var(--s-5);min-width:0}.footer-brand[data-astro-cid-sz7xmlte]{color:var(--fg-on-dark);display:inline-flex;flex:0 0 auto}.footer-brand[data-astro-cid-sz7xmlte] svg{color:var(--fg-on-dark)}.footer-brand-mark[data-astro-cid-sz7xmlte]{position:relative;display:inline-block;width:100px;height:100px}.mark-logo[data-astro-cid-sz7xmlte],.mark-wip[data-astro-cid-sz7xmlte]{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;transition:opacity .42s var(--ease),transform .42s var(--ease);will-change:opacity,transform}.mark-logo[data-astro-cid-sz7xmlte]{opacity:1;transform:scale(1) rotate(0)}.mark-wip[data-astro-cid-sz7xmlte]{opacity:0;transform:scale(.82) rotate(-6deg)}.footer-brand[data-astro-cid-sz7xmlte]:hover .mark-logo[data-astro-cid-sz7xmlte],.footer-brand[data-astro-cid-sz7xmlte]:focus-visible .mark-logo[data-astro-cid-sz7xmlte]{opacity:0;transform:scale(1.12) rotate(4deg)}.footer-brand[data-astro-cid-sz7xmlte]:hover .mark-wip[data-astro-cid-sz7xmlte],.footer-brand[data-astro-cid-sz7xmlte]:focus-visible .mark-wip[data-astro-cid-sz7xmlte]{opacity:1;transform:scale(1) rotate(0)}@media(prefers-reduced-motion:reduce){.mark-logo[data-astro-cid-sz7xmlte],.mark-wip[data-astro-cid-sz7xmlte]{transition:opacity .2s linear;transform:none!important}}.footer-text[data-astro-cid-sz7xmlte]{margin:0;font-size:13px;line-height:1.55;color:var(--fg-on-dark-mute);max-width:640px;display:flex;flex-direction:column;gap:4px;min-width:0}.footer-line[data-astro-cid-sz7xmlte]{display:block}.footer-ids[data-astro-cid-sz7xmlte]{color:var(--fg-on-dark-mute);font-size:12.5px;opacity:.85}.footer-ids-sep[data-astro-cid-sz7xmlte]{color:var(--fg-on-dark-mute);opacity:.6}.footer-text[data-astro-cid-sz7xmlte] .copy-chip{color:var(--fg-on-dark);background:#241e1a;border-color:#38322d}.footer-text[data-astro-cid-sz7xmlte] .copy-chip:hover{background:#2d2823;border-color:#4d4641}.footer-text[data-astro-cid-sz7xmlte] .copy-chip{vertical-align:baseline;margin:1px 0}.footer-nav[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(2,minmax(140px,auto));gap:var(--s-6);justify-content:end}.footer-col-title[data-astro-cid-sz7xmlte]{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark-mute);font-weight:600;margin:0 0 var(--s-3)}.footer-col[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:13px;color:var(--fg-on-dark-mute);text-decoration:none;transition:color var(--dur-1)}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--fg-on-dark);text-decoration:underline}@media(max-width:860px){.footer-inner[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--s-6);padding:var(--s-6) var(--s-4);text-align:center;justify-items:center}.footer-identity[data-astro-cid-sz7xmlte]{flex-direction:column;align-items:center;gap:var(--s-3)}.footer-brand[data-astro-cid-sz7xmlte]{margin:0 auto}.footer-text[data-astro-cid-sz7xmlte]{margin:0 auto;text-align:center}.footer-nav[data-astro-cid-sz7xmlte]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);justify-content:center;width:100%;max-width:360px}.footer-col[data-astro-cid-sz7xmlte]{text-align:center}.footer-col[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{align-items:center}}@media(max-width:480px){.footer-inner[data-astro-cid-sz7xmlte]{padding:var(--s-5) var(--s-3);gap:var(--s-5)}.footer-nav[data-astro-cid-sz7xmlte]{gap:var(--s-4)}}.tip[data-astro-cid-cp5llffm]{position:absolute;top:100%;left:0;width:360px;padding-top:10px;z-index:20}.tip-card[data-astro-cid-cp5llffm]{position:relative;background:var(--bg-paper);border:1px solid var(--ink);border-radius:var(--r-md);box-shadow:0 16px 40px -12px #05030240,0 4px 10px -4px #05030214;padding:18px}.tip-card[data-astro-cid-cp5llffm]:before{content:"";position:absolute;top:-6px;left:24px;width:10px;height:10px;background:var(--bg-paper);border-top:1px solid var(--ink);border-left:1px solid var(--ink);transform:rotate(45deg)}.tip-head[data-astro-cid-cp5llffm]{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;margin-bottom:12px}.tip-head[data-astro-cid-cp5llffm] img[data-astro-cid-cp5llffm]{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--bg-paper-2)}.tip-name[data-astro-cid-cp5llffm]{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:-.01em;color:var(--ink);line-height:1.15}.tip-role[data-astro-cid-cp5llffm]{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);margin-top:3px;font-weight:500}.tip-bio[data-astro-cid-cp5llffm]{font-family:var(--serif);font-size:13.5px;line-height:1.5;color:var(--ink-mute);margin:0 0 12px;font-weight:300}.tip-social[data-astro-cid-cp5llffm]{list-style:none;margin:0;padding:0;display:flex;gap:6px}.tip-social[data-astro-cid-cp5llffm] li[data-astro-cid-cp5llffm]{margin:0;padding:0}.tip-social[data-astro-cid-cp5llffm] a[data-astro-cid-cp5llffm]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--ink-mute);background:var(--bg-paper-2);transition:background var(--dur-1),color var(--dur-1)}.tip-social[data-astro-cid-cp5llffm] a[data-astro-cid-cp5llffm]:hover{background:var(--ink);color:var(--fg-on-dark)}@media(max-width:480px){.tip[data-astro-cid-cp5llffm]{width:280px}}.byline[data-astro-cid-oxbng3yr]{padding:var(--s-4) 0;border-top:1px solid var(--rule-paper);border-bottom:1px solid var(--rule-paper)}.byline-people[data-astro-cid-oxbng3yr]{display:flex;gap:var(--s-5);align-items:center;flex-wrap:wrap}.party[data-astro-cid-oxbng3yr]{position:relative}.author-chip[data-astro-cid-oxbng3yr]{position:relative;display:inline-block}.chip-link[data-astro-cid-oxbng3yr]{display:inline-flex;align-items:center;gap:var(--s-3);color:var(--ink);padding:4px 8px 4px 4px;border-radius:var(--r-sm);transition:background var(--dur-1) var(--ease)}.chip-link[data-astro-cid-oxbng3yr]:hover{background:var(--bg-paper-2)}.chip-link[data-astro-cid-oxbng3yr]:hover .name[data-astro-cid-oxbng3yr]{color:var(--accent-ink)}.avatar[data-astro-cid-oxbng3yr]{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--bg-paper-2);flex:0 0 auto;transition:transform .36s var(--ease),box-shadow .24s var(--ease)}.chip-link[data-astro-cid-oxbng3yr]:hover .avatar[data-astro-cid-oxbng3yr]{transform:scale(1.06) rotate(-2deg);box-shadow:0 0 0 3px var(--accent-soft)}.who[data-astro-cid-oxbng3yr]{display:flex;flex-direction:column;line-height:1.25}.name[data-astro-cid-oxbng3yr]{font-weight:600;font-size:14px;color:var(--ink);transition:color var(--dur-1) var(--ease)}.label[data-astro-cid-oxbng3yr]{font-family:var(--mono);font-size:10px;color:var(--paper-mute);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.party[data-astro-cid-oxbng3yr]:not(.reviewed) .label[data-astro-cid-oxbng3yr]{color:var(--ink-mute)}.reviewed[data-astro-cid-oxbng3yr] .label[data-astro-cid-oxbng3yr]{color:var(--plum)}.stamp[data-astro-cid-oxbng3yr]{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px dashed var(--rule-paper);display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4);font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--paper-mute)}.stamp[data-astro-cid-oxbng3yr] time[data-astro-cid-oxbng3yr]{color:var(--ink);font-weight:500}.stamp-label-link[data-astro-cid-oxbng3yr]{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule-paper);transition:color var(--dur-1) var(--ease),text-decoration-color var(--dur-1) var(--ease)}.stamp-label-link[data-astro-cid-oxbng3yr]:hover{color:var(--accent-ink);text-decoration-color:var(--accent)}.stamp-aff[data-astro-cid-oxbng3yr]{font-family:var(--sans);font-size:11.5px;letter-spacing:0;text-transform:none;color:var(--ink-mute);text-align:right;flex:1 1 auto;white-space:nowrap}@media(max-width:720px){.stamp[data-astro-cid-oxbng3yr]{flex-direction:column;align-items:flex-start;gap:var(--s-2)}}.crumbs[data-astro-cid-ilhxcym7] ol[data-astro-cid-ilhxcym7]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;font-family:var(--mono);font-size:11px;color:var(--paper-mute);text-transform:uppercase;letter-spacing:.06em}.crumbs[data-astro-cid-ilhxcym7] li[data-astro-cid-ilhxcym7]{display:inline-flex;align-items:center;gap:var(--s-2)}.crumbs[data-astro-cid-ilhxcym7] a[data-astro-cid-ilhxcym7]{color:var(--ink-mute);transition:color var(--dur-1) var(--ease);position:relative}.crumbs[data-astro-cid-ilhxcym7] a[data-astro-cid-ilhxcym7]:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .22s var(--ease)}.crumbs[data-astro-cid-ilhxcym7] a[data-astro-cid-ilhxcym7]:hover{color:var(--ink)}.crumbs[data-astro-cid-ilhxcym7] a[data-astro-cid-ilhxcym7]:hover:after{transform:scaleX(1)}.crumbs[data-astro-cid-ilhxcym7] span[data-astro-cid-ilhxcym7]:not(.sep){color:var(--ink)}.sep[data-astro-cid-ilhxcym7]{color:var(--rule-strong)}.related[data-astro-cid-oy2bnmm5]{border-top:2px solid var(--ink);padding-top:var(--s-4);font-family:var(--sans)}.r-head[data-astro-cid-oy2bnmm5]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s-3)}.r-kicker[data-astro-cid-oy2bnmm5]{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);font-weight:600}.r-count[data-astro-cid-oy2bnmm5]{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--paper-mute);letter-spacing:-.01em}.r-list[data-astro-cid-oy2bnmm5]{list-style:none;margin:0;padding:0}.r-item[data-astro-cid-oy2bnmm5]{border-bottom:1px solid var(--rule-paper)}.r-item[data-astro-cid-oy2bnmm5]:last-child{border-bottom:0}.r-link[data-astro-cid-oy2bnmm5]{display:grid;grid-template-columns:auto 1fr;gap:var(--s-3);padding:var(--s-4) 0;position:relative;text-decoration:none;color:inherit;transition:transform var(--dur-2) var(--ease)}.r-link[data-astro-cid-oy2bnmm5]:before{content:"";position:absolute;inset:0 -12px;background:var(--accent-soft);opacity:0;transform:scaleY(.92);transform-origin:center;border-radius:var(--r-sm);transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease);z-index:-1}.r-link[data-astro-cid-oy2bnmm5]:hover:before,.r-link[data-astro-cid-oy2bnmm5]:focus-visible:before{opacity:1;transform:scaleY(1)}.r-link[data-astro-cid-oy2bnmm5]:focus-visible{outline:none}.r-num[data-astro-cid-oy2bnmm5]{font-family:var(--serif);font-style:italic;font-size:26px;line-height:.9;color:var(--paper-mute);font-weight:400;letter-spacing:-.02em;padding-top:4px;min-width:32px;transition:color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.r-link[data-astro-cid-oy2bnmm5]:hover .r-num[data-astro-cid-oy2bnmm5]{color:var(--accent-ink);transform:translate(-2px)}.r-body[data-astro-cid-oy2bnmm5]{display:flex;flex-direction:column;gap:4px;min-width:0}.r-kicker-row[data-astro-cid-oy2bnmm5]{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--tone-ink,var(--plum));font-weight:600}.r-item[data-astro-cid-oy2bnmm5][data-tone=plum]{--tone-ink:var(--plum-ink);--tone-soft:var(--plum-soft)}.r-item[data-astro-cid-oy2bnmm5][data-tone=kelp]{--tone-ink:var(--kelp-ink);--tone-soft:var(--kelp-soft)}.r-item[data-astro-cid-oy2bnmm5][data-tone=accent]{--tone-ink:var(--accent-ink);--tone-soft:var(--accent-soft)}.r-item[data-astro-cid-oy2bnmm5][data-tone=highlight]{--tone-ink:var(--highlight-ink);--tone-soft:var(--highlight-soft)}.r-item[data-astro-cid-oy2bnmm5][data-tone=flag]{--tone-ink:var(--flag-ink);--tone-soft:var(--flag-soft)}.r-item[data-astro-cid-oy2bnmm5][data-tone] .r-link[data-astro-cid-oy2bnmm5]:before{background:var(--tone-soft,var(--accent-soft))}.r-item[data-astro-cid-oy2bnmm5][data-tone] .r-link[data-astro-cid-oy2bnmm5]:hover .r-num[data-astro-cid-oy2bnmm5],.r-item[data-astro-cid-oy2bnmm5][data-tone] .r-link[data-astro-cid-oy2bnmm5]:focus-visible .r-num[data-astro-cid-oy2bnmm5]{color:var(--tone-ink)}.r-item[data-astro-cid-oy2bnmm5][data-tone] .r-link[data-astro-cid-oy2bnmm5]:hover .r-title[data-astro-cid-oy2bnmm5],.r-item[data-astro-cid-oy2bnmm5][data-tone] .r-link[data-astro-cid-oy2bnmm5]:focus-visible .r-title[data-astro-cid-oy2bnmm5]{color:var(--tone-ink)}.r-item[data-astro-cid-oy2bnmm5][data-tone] .r-link[data-astro-cid-oy2bnmm5]:hover .r-cta[data-astro-cid-oy2bnmm5],.r-item[data-astro-cid-oy2bnmm5][data-tone] .r-link[data-astro-cid-oy2bnmm5]:focus-visible .r-cta[data-astro-cid-oy2bnmm5]{color:var(--tone-ink)}.r-title[data-astro-cid-oy2bnmm5]{font-family:var(--serif);font-size:17px;line-height:1.25;letter-spacing:-.005em;color:var(--ink);font-weight:500;text-wrap:balance;transition:color var(--dur-2) var(--ease)}.r-link[data-astro-cid-oy2bnmm5]:hover .r-title[data-astro-cid-oy2bnmm5]{color:var(--accent-ink)}.r-badge[data-astro-cid-oy2bnmm5]{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:2px 5px;border-radius:2px;margin-left:6px;vertical-align:.2em;line-height:1.3}.r-badge-accent[data-astro-cid-oy2bnmm5]{color:var(--accent-ink);background:var(--accent-soft)}.r-badge-highlight[data-astro-cid-oy2bnmm5]{color:var(--highlight-ink);background:var(--highlight-soft)}.r-badge-plum[data-astro-cid-oy2bnmm5]{color:var(--plum-ink);background:var(--plum-soft)}.r-badge-kelp[data-astro-cid-oy2bnmm5]{color:var(--kelp-ink);background:var(--kelp-soft)}.r-dek[data-astro-cid-oy2bnmm5]{font-family:var(--serif);font-size:13.5px;font-weight:300;line-height:1.45;color:var(--ink-mute);margin-top:2px;max-width:40ch}.r-cta[data-astro-cid-oy2bnmm5]{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);font-weight:600;margin-top:6px;display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translateY(-2px);transition:opacity .26s var(--ease),transform .26s var(--ease)}.r-arrow[data-astro-cid-oy2bnmm5]{transition:transform .22s var(--ease)}.r-link[data-astro-cid-oy2bnmm5]:hover .r-cta[data-astro-cid-oy2bnmm5],.r-link[data-astro-cid-oy2bnmm5]:focus-visible .r-cta[data-astro-cid-oy2bnmm5]{opacity:1;transform:translateY(0)}.r-link[data-astro-cid-oy2bnmm5]:hover .r-arrow[data-astro-cid-oy2bnmm5]{transform:translate(3px)}.related[data-astro-cid-oy2bnmm5].v-stack .r-list[data-astro-cid-oy2bnmm5]{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.related[data-astro-cid-oy2bnmm5].v-stack .r-item[data-astro-cid-oy2bnmm5]{border-bottom:0;border-right:1px solid var(--rule-paper);padding:0 var(--s-5) 0 0}.related[data-astro-cid-oy2bnmm5].v-stack .r-item[data-astro-cid-oy2bnmm5]+.r-item[data-astro-cid-oy2bnmm5]{padding-left:var(--s-5)}.related[data-astro-cid-oy2bnmm5].v-stack .r-item[data-astro-cid-oy2bnmm5]:last-child{border-right:0;padding-right:0}.related[data-astro-cid-oy2bnmm5].v-stack .r-link[data-astro-cid-oy2bnmm5]{padding:var(--s-5) 0}.related[data-astro-cid-oy2bnmm5].v-stack .r-title[data-astro-cid-oy2bnmm5]{font-size:19px;line-height:1.2}.related[data-astro-cid-oy2bnmm5].v-carousel .carousel-stage[data-astro-cid-oy2bnmm5]{position:relative;min-height:112px}.related[data-astro-cid-oy2bnmm5].v-carousel .carousel-slide[data-astro-cid-oy2bnmm5]{position:absolute;inset:0;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;opacity:0;transform:translateY(4px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}.related[data-astro-cid-oy2bnmm5].v-carousel .carousel-slide[data-astro-cid-oy2bnmm5].is-active{opacity:1;transform:translateY(0);pointer-events:auto}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-kicker[data-astro-cid-oy2bnmm5]{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-title[data-astro-cid-oy2bnmm5]{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.25;color:var(--ink)}.related[data-astro-cid-oy2bnmm5].v-carousel .carousel-slide[data-astro-cid-oy2bnmm5]:hover .cs-title[data-astro-cid-oy2bnmm5]{color:var(--accent)}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-dek[data-astro-cid-oy2bnmm5]{font-size:12.5px;line-height:1.45;color:var(--ink-mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-cta[data-astro-cid-oy2bnmm5]{margin-top:4px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);display:inline-flex;align-items:center;gap:4px}.related[data-astro-cid-oy2bnmm5].v-carousel .carousel-slide[data-astro-cid-oy2bnmm5]:hover .cs-cta[data-astro-cid-oy2bnmm5]{color:var(--accent)}.related[data-astro-cid-oy2bnmm5].v-carousel .carousel-slide[data-astro-cid-oy2bnmm5]:hover .cs-arrow[data-astro-cid-oy2bnmm5]{transform:translate(2px)}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-arrow[data-astro-cid-oy2bnmm5]{transition:transform var(--dur-1)}.related[data-astro-cid-oy2bnmm5].v-carousel .carousel-dots[data-astro-cid-oy2bnmm5]{display:flex;gap:6px;margin-top:var(--s-3)}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-dot[data-astro-cid-oy2bnmm5]{width:16px;height:4px;border:0;border-radius:2px;background:var(--rule-paper);cursor:pointer;padding:0;transition:background var(--dur-1)}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-dot[data-astro-cid-oy2bnmm5]:hover{background:var(--paper-mute)}.related[data-astro-cid-oy2bnmm5].v-carousel .cs-dot[data-astro-cid-oy2bnmm5].is-active{background:var(--ink)}@media(max-width:860px){.related[data-astro-cid-oy2bnmm5].v-stack .r-list[data-astro-cid-oy2bnmm5]{grid-template-columns:1fr}.related[data-astro-cid-oy2bnmm5].v-stack .r-item[data-astro-cid-oy2bnmm5]{border-right:0;border-bottom:1px solid var(--rule-paper);padding:0}.related[data-astro-cid-oy2bnmm5].v-stack .r-item[data-astro-cid-oy2bnmm5]+.r-item[data-astro-cid-oy2bnmm5]{padding-left:0}}@media(prefers-reduced-motion:reduce){.r-link[data-astro-cid-oy2bnmm5],.r-link[data-astro-cid-oy2bnmm5]:before,.r-num[data-astro-cid-oy2bnmm5],.r-title[data-astro-cid-oy2bnmm5],.r-cta[data-astro-cid-oy2bnmm5],.r-arrow[data-astro-cid-oy2bnmm5]{transition:none}.r-link[data-astro-cid-oy2bnmm5]:hover .r-num[data-astro-cid-oy2bnmm5],.r-link[data-astro-cid-oy2bnmm5]:hover .r-arrow[data-astro-cid-oy2bnmm5]{transform:none}}.cta-rail[data-astro-cid-4gihvy5r]{padding:var(--s-5);border-radius:var(--r-md);display:flex;flex-direction:column;gap:var(--s-2)}.cta-rail[data-astro-cid-4gihvy5r] h3[data-astro-cid-4gihvy5r]{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-.01em;margin:0}.cta-rail[data-astro-cid-4gihvy5r] .kicker[data-astro-cid-4gihvy5r]{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.cta-rail[data-astro-cid-4gihvy5r] .body[data-astro-cid-4gihvy5r]{font-family:var(--sans);font-size:14px;line-height:1.5;margin:0}.cta-rail[data-astro-cid-4gihvy5r] .cta[data-astro-cid-4gihvy5r]{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:10px 14px;border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;font-weight:600;margin-top:var(--s-2);transition:transform var(--dur-1),background var(--dur-1)}.cta-rail[data-astro-cid-4gihvy5r] .cta[data-astro-cid-4gihvy5r]:hover{transform:translate(2px)}.cta-rail[data-astro-cid-4gihvy5r] .note[data-astro-cid-4gihvy5r]{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;margin-top:var(--s-1)}.cta-rail[data-astro-cid-4gihvy5r].solid{background:var(--bg);color:var(--fg-on-dark)}.cta-rail[data-astro-cid-4gihvy5r].solid .kicker[data-astro-cid-4gihvy5r]{color:var(--accent)}.cta-rail[data-astro-cid-4gihvy5r].solid .body[data-astro-cid-4gihvy5r]{color:var(--fg-on-dark-mute)}.cta-rail[data-astro-cid-4gihvy5r].solid .cta[data-astro-cid-4gihvy5r]{background:var(--accent);color:#fff}.cta-rail[data-astro-cid-4gihvy5r].solid .cta[data-astro-cid-4gihvy5r]:hover{background:oklch(.63 .2 263)}.cta-rail[data-astro-cid-4gihvy5r].solid .note[data-astro-cid-4gihvy5r]{color:var(--fg-on-dark-mute)}.cta-rail[data-astro-cid-4gihvy5r].paper{background:var(--bg-paper-3);border:1px solid var(--rule-paper);color:var(--ink)}.cta-rail[data-astro-cid-4gihvy5r].paper .kicker[data-astro-cid-4gihvy5r]{color:var(--accent)}.cta-rail[data-astro-cid-4gihvy5r].paper .body[data-astro-cid-4gihvy5r]{color:var(--ink-mute)}.cta-rail[data-astro-cid-4gihvy5r].paper .cta[data-astro-cid-4gihvy5r]{background:var(--ink);color:#fff}.cta-rail[data-astro-cid-4gihvy5r].paper .cta[data-astro-cid-4gihvy5r]:hover{background:var(--accent)}.cta-rail[data-astro-cid-4gihvy5r].paper .note[data-astro-cid-4gihvy5r]{color:var(--paper-mute)}.cta-rail[data-astro-cid-4gihvy5r].accent{background:var(--accent);color:#fff}.cta-rail[data-astro-cid-4gihvy5r].accent .kicker[data-astro-cid-4gihvy5r]{color:#ffffffbf}.cta-rail[data-astro-cid-4gihvy5r].accent .body[data-astro-cid-4gihvy5r]{color:#ffffffe0}.cta-rail[data-astro-cid-4gihvy5r].accent .cta[data-astro-cid-4gihvy5r]{background:#fff;color:var(--accent-ink)}.cta-rail[data-astro-cid-4gihvy5r].accent .cta[data-astro-cid-4gihvy5r]:hover{background:var(--bg-paper)}.cta-rail[data-astro-cid-4gihvy5r].accent .note[data-astro-cid-4gihvy5r]{color:#ffffffb3}.cta-rail[data-astro-cid-4gihvy5r].framed{background:var(--bg-paper);border:1px solid var(--ink);border-radius:0;padding:0;color:var(--ink);gap:0}.cta-rail[data-astro-cid-4gihvy5r].framed .rail-logo[data-astro-cid-4gihvy5r]{aspect-ratio:16 / 9;background:var(--ink);color:var(--fg-on-dark);display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.01em;overflow:hidden}.cta-rail[data-astro-cid-4gihvy5r].framed .rail-logo[data-astro-cid-4gihvy5r] img[data-astro-cid-4gihvy5r]{max-width:70%;max-height:60%;object-fit:contain;display:block}.cta-rail[data-astro-cid-4gihvy5r].framed .rail-logo[data-astro-cid-4gihvy5r] .logo-label[data-astro-cid-4gihvy5r]{color:var(--fg-on-dark);font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.01em;text-align:center;padding:0 18px}.cta-rail[data-astro-cid-4gihvy5r].framed h3[data-astro-cid-4gihvy5r]{margin:18px 18px 6px;font-size:20px;line-height:1.15}.cta-rail[data-astro-cid-4gihvy5r].framed .body[data-astro-cid-4gihvy5r]{color:var(--ink-mute);margin:0 18px 14px;font-family:var(--serif);font-weight:300;font-size:13.5px}.cta-rail[data-astro-cid-4gihvy5r].framed .cta[data-astro-cid-4gihvy5r]{margin:0 18px 18px;background:var(--ink);color:var(--fg-on-dark);justify-content:space-between;border-radius:4px}.cta-rail[data-astro-cid-4gihvy5r].framed .cta[data-astro-cid-4gihvy5r]:hover{background:var(--accent-ink)}.cta-rail[data-astro-cid-4gihvy5r].framed .note[data-astro-cid-4gihvy5r]{color:var(--paper-mute);margin:-6px 18px 18px;text-align:center}.cta-rail[data-astro-cid-4gihvy5r].framed .heading-link[data-astro-cid-4gihvy5r]{color:inherit;text-decoration:none;transition:color var(--dur-1) var(--ease)}.cta-rail[data-astro-cid-4gihvy5r].framed .heading-link[data-astro-cid-4gihvy5r]:hover{color:var(--accent-ink)}.sticky-cta[data-astro-cid-544d75lg]{position:fixed;top:0;left:0;right:0;z-index:80;background:var(--bg-paper);color:var(--ink);border-bottom:1px solid var(--rule-paper);box-shadow:0 8px 24px -16px #05030238;transform:translateY(-100%);transition:transform var(--dur-3) var(--ease),opacity var(--dur-3) var(--ease);opacity:0;font-family:var(--sans);pointer-events:none}@supports (backdrop-filter:blur(1px)){.sticky-cta[data-astro-cid-544d75lg]{background:#f8f5efd9;backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px)}}.sticky-cta[data-astro-cid-544d75lg].show{transform:translateY(0);opacity:1;pointer-events:auto}.sticky-cta[data-astro-cid-544d75lg].dismissed{display:none}.sc-inner[data-astro-cid-544d75lg]{position:relative;max-width:var(--container-max,1320px);margin:0 auto;padding:10px var(--container-pad,32px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s-4);min-height:56px}.sc-body[data-astro-cid-544d75lg]{position:relative;min-width:0}.sc-pick[data-astro-cid-544d75lg]{display:none;gap:var(--s-3);align-items:center;justify-content:space-between;font-size:13px}.sc-pick[data-astro-cid-544d75lg].is-active{display:flex}.sc-left[data-astro-cid-544d75lg]{display:flex;gap:10px;align-items:center;min-width:0;flex:1}.sc-text[data-astro-cid-544d75lg]{min-width:0;flex:1}.sc-mark[data-astro-cid-544d75lg]{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--accent);font-weight:700;font-size:11px;font-family:var(--sans)}.sc-title[data-astro-cid-544d75lg]{font-family:var(--sans);font-size:13px;color:var(--ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-title[data-astro-cid-544d75lg] b{font-weight:600}.sc-meta[data-astro-cid-544d75lg]{font-family:var(--mono);font-size:10px;color:var(--paper-mute);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-ctas[data-astro-cid-544d75lg]{display:flex;align-items:center;gap:var(--s-2);flex:0 0 auto}.sc-cta[data-astro-cid-544d75lg]{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--sans);font-size:12px;font-weight:600;padding:7px 12px;border-radius:4px;white-space:nowrap;transition:transform var(--dur-1),background var(--dur-1),color var(--dur-1),border-color var(--dur-1)}.sc-cta-ghost[data-astro-cid-544d75lg]{background:#fff0;color:var(--ink);border:1px solid var(--rule-strong,var(--rule-paper))}.sc-cta-ghost[data-astro-cid-544d75lg]:hover{transform:translate(2px);color:var(--accent-ink,var(--accent));border-color:var(--accent)}.sc-cta-primary[data-astro-cid-544d75lg]{background:var(--accent);color:#fff;display:none}.sc-cta-primary[data-astro-cid-544d75lg]:hover{transform:translate(2px);background:oklch(.63 .2 263)}.sc-close[data-astro-cid-544d75lg]{background:#fff0;border:1px solid var(--rule-paper);color:var(--paper-mute);padding:4px 7px;font-family:var(--mono);font-size:11px;cursor:pointer;border-radius:3px;transition:color var(--dur-1),border-color var(--dur-1);line-height:1;margin-left:var(--s-2)}.sc-close[data-astro-cid-544d75lg]:hover{color:var(--ink);border-color:var(--rule-strong)}@media(max-width:720px){.sc-inner[data-astro-cid-544d75lg]{padding:0 var(--s-3);gap:var(--s-3)}.sc-meta[data-astro-cid-544d75lg],.sc-cta-ghost[data-astro-cid-544d75lg]{display:none}.sc-cta-primary[data-astro-cid-544d75lg]{display:inline-flex;padding:7px 14px;min-height:44px}}.otp[data-astro-cid-hh67uq7u]{font-family:var(--sans);font-size:13px;border-right:1px solid var(--rule-paper);padding-right:20px}.otp-title[data-astro-cid-hh67uq7u]{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-mute);margin-bottom:14px;font-weight:500}.otp[data-astro-cid-hh67uq7u] ol[data-astro-cid-hh67uq7u]{list-style:none;padding:0;margin:0;counter-reset:otp;display:flex;flex-direction:column}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-2{counter-increment:otp;position:relative}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-3{padding-left:14px;position:relative}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-3:before{content:"";position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--rule-paper)}.otp[data-astro-cid-hh67uq7u] a[data-astro-cid-hh67uq7u]{display:block;padding:6px 0 6px 12px;margin-left:-12px;color:var(--ink-mute);line-height:1.35;border-left:2px solid #fff0;transition:color var(--dur-1),border-color var(--dur-1)}.otp[data-astro-cid-hh67uq7u] a[data-astro-cid-hh67uq7u]:hover{color:var(--ink)}.otp[data-astro-cid-hh67uq7u] a[data-astro-cid-hh67uq7u].active{color:var(--ink);border-left-color:var(--accent);font-weight:600}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-3 a[data-astro-cid-hh67uq7u]{font-size:12.5px;color:var(--paper-mute);padding-top:4px;padding-bottom:4px}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-3 a[data-astro-cid-hh67uq7u]:hover,.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-3 a[data-astro-cid-hh67uq7u].active{color:var(--ink-mute)}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-num{padding-left:10px}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-num a[data-astro-cid-hh67uq7u]{display:grid;grid-template-columns:22px 1fr;gap:2px;align-items:baseline;font-size:12px;line-height:1.3;color:var(--paper-mute);padding-top:3px;padding-bottom:3px}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-num a[data-astro-cid-hh67uq7u]:hover{color:var(--ink)}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-num a[data-astro-cid-hh67uq7u].active{color:var(--ink);font-weight:500}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-num .n[data-astro-cid-hh67uq7u]{font-family:var(--mono);font-size:9.5px;color:var(--paper-mute);letter-spacing:.04em}.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-num a[data-astro-cid-hh67uq7u]:hover .n[data-astro-cid-hh67uq7u],.otp[data-astro-cid-hh67uq7u] li[data-astro-cid-hh67uq7u].d-num a[data-astro-cid-hh67uq7u].active .n[data-astro-cid-hh67uq7u]{color:var(--accent-ink)}.otp-share[data-astro-cid-hh67uq7u]{margin-top:20px;padding-top:14px;border-top:1px solid var(--rule-paper);display:flex;gap:6px;align-items:center}.otp-share-btn[data-astro-cid-hh67uq7u]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#fff0;border:0;color:#000;cursor:pointer;transition:opacity var(--dur-1)}.otp-share-btn[data-astro-cid-hh67uq7u]:hover{opacity:.6}.otp-share-btn[data-astro-cid-hh67uq7u] .icon-check[data-astro-cid-hh67uq7u],.otp-share-btn[data-astro-cid-hh67uq7u].copied .icon-link[data-astro-cid-hh67uq7u]{display:none}.otp-share-btn[data-astro-cid-hh67uq7u].copied .icon-check[data-astro-cid-hh67uq7u]{display:block}.faq{border-top:1px solid var(--ink);margin:var(--s-7) 0 var(--s-5);padding-top:var(--s-5)}.faq.faq--inline{border-top:0;margin-top:var(--s-3);padding-top:0}.faq h2.faq-title,.faq .faq-title{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:-.01em;margin:0 0 var(--s-4);line-height:1.15;padding-bottom:0;border-bottom:0}.faq-item{border-bottom:1px solid var(--rule-paper)}.faq-item>summary{list-style:none;cursor:pointer;padding:18px 2px;font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:-.005em;color:var(--ink);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;line-height:1.35;touch-action:manipulation;-webkit-tap-highlight-color:#fff0;transition:color var(--dur-1)}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:hover{color:var(--accent-ink)}.faq-item>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.plus{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--rule-paper);color:var(--ink-mute);flex:0 0 auto;transition:background var(--dur-1),border-color var(--dur-1),color var(--dur-1)}.faq-item>summary:hover .plus{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.plus svg{transition:transform var(--dur-2) var(--ease)}.plus .v{transform-origin:7px 7px;transition:transform var(--dur-2) var(--ease),opacity var(--dur-2) var(--ease)}.faq-item[open] .plus{background:var(--ink);border-color:var(--ink);color:var(--fg-on-dark)}.faq-item[open] .plus .v{transform:rotate(90deg);opacity:0}.faq-body{overflow:hidden}.faq-body-inner{padding:0 2px 20px;font-family:var(--serif);font-size:19px;color:var(--ink);line-height:1.7;font-weight:400;max-width:62ch}@media(max-width:720px){.faq-body-inner{font-size:18px}}.faq-body-inner p{margin:0 0 1em}.faq-body-inner p:last-child{margin-bottom:0}.faq-body-inner a{color:var(--ink);background-image:linear-gradient(var(--accent-soft),var(--accent-soft));background-repeat:no-repeat;background-position:0 100%;background-size:100% 35%;padding:0 2px;margin:0 -2px;transition:background-size .22s var(--ease),color .16s var(--ease);text-decoration:none}.faq-body-inner a:hover{background-size:100% 100%;color:var(--accent-ink)}.comments[data-astro-cid-jvxsf75u]{margin:var(--s-7) 0 var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--ink);content-visibility:auto;contain-intrinsic-size:auto 1200px}.comments-head[data-astro-cid-jvxsf75u]{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-5)}.comments-title[data-astro-cid-jvxsf75u]{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:-.01em;margin:0;line-height:1.15}.comments-list[data-astro-cid-jvxsf75u],.comment-replies[data-astro-cid-jvxsf75u]{list-style:none;margin:0;padding:0}.comments-list[data-astro-cid-jvxsf75u]{display:flex;flex-direction:column;gap:var(--s-5)}.comment-replies[data-astro-cid-jvxsf75u]{margin-top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4);padding-left:var(--s-5);border-left:1px solid var(--rule-paper)}.comment[data-astro-cid-jvxsf75u]{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--s-3);align-items:start}.comment--reply[data-astro-cid-jvxsf75u] .comment-avatar[data-astro-cid-jvxsf75u]{width:32px;height:32px;font-size:11px}.comment-avatar[data-astro-cid-jvxsf75u]{width:40px;height:40px;border-radius:50%;background:var(--bg-paper-2);border:1px solid var(--rule-paper);color:var(--ink-mute);font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center}.comment-main[data-astro-cid-jvxsf75u]{min-width:0}.comment-head[data-astro-cid-jvxsf75u]{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2);margin-bottom:4px}.comment-author[data-astro-cid-jvxsf75u]{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--ink)}a[data-astro-cid-jvxsf75u].comment-author{background-image:linear-gradient(var(--accent-soft),var(--accent-soft));background-repeat:no-repeat;background-position:0 100%;background-size:0 35%;transition:background-size .22s var(--ease),color .16s var(--ease)}a[data-astro-cid-jvxsf75u].comment-author:hover{background-size:100% 35%;color:var(--accent-ink)}.comment-badge[data-astro-cid-jvxsf75u]{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);border:1px solid var(--rule-paper);padding:1px 5px;border-radius:3px}.comment-badge--author[data-astro-cid-jvxsf75u]{color:var(--accent-ink);border-color:var(--accent-ink);background:var(--accent-soft);margin-left:6px}.comment-author--marcus[data-astro-cid-jvxsf75u]{display:inline-flex;align-items:center;color:var(--accent-ink)}.comment-date[data-astro-cid-jvxsf75u]{font-family:var(--mono);font-size:11px;color:var(--paper-mute);letter-spacing:.04em}.comment-body[data-astro-cid-jvxsf75u]{font-family:var(--serif);font-size:15.5px;line-height:1.6;color:var(--ink-mute);max-width:62ch}.comment-body[data-astro-cid-jvxsf75u] p[data-astro-cid-jvxsf75u]{margin:0 0 10px}.comment-body[data-astro-cid-jvxsf75u] p[data-astro-cid-jvxsf75u]:last-child{margin-bottom:0}@media(max-width:640px){.comment-replies[data-astro-cid-jvxsf75u]{padding-left:var(--s-3)}.comment[data-astro-cid-jvxsf75u]{gap:var(--s-2)}}.author-bio[data-astro-cid-ynhdph36]{margin:var(--s-7) 0 var(--s-5);padding:var(--s-5) 0;border-top:1px solid var(--rule-paper);border-bottom:1px solid var(--rule-paper)}.author-bio-heading[data-astro-cid-ynhdph36]{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);font-weight:600;margin-bottom:var(--s-3)}.author-bio-row[data-astro-cid-ynhdph36]{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);align-items:start}.author-bio-avatar[data-astro-cid-ynhdph36]{width:72px;height:72px;border-radius:50%;object-fit:cover}.author-bio-name[data-astro-cid-ynhdph36]{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);text-decoration:none}.author-bio-name[data-astro-cid-ynhdph36]:hover{color:var(--accent)}.author-bio-role[data-astro-cid-ynhdph36]{font-size:13px;color:var(--ink-mute);margin-top:2px}.author-bio-text[data-astro-cid-ynhdph36]{margin:var(--s-3) 0 0;font-family:var(--serif);font-size:15px;line-height:1.55;color:var(--ink-mute);max-width:62ch}.author-bio-meta[data-astro-cid-ynhdph36]{margin:var(--s-3) 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3)}.author-bio-years[data-astro-cid-ynhdph36]{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--paper-mute)}.author-bio-footer[data-astro-cid-ynhdph36]{margin:var(--s-3) 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3)}.author-bio-socials[data-astro-cid-ynhdph36]{display:flex;gap:var(--s-2);padding:0;margin:0;list-style:none}.author-bio-method[data-astro-cid-ynhdph36]{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--accent-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:color var(--dur-1) var(--ease)}.author-bio-method[data-astro-cid-ynhdph36]:hover{color:var(--accent)}@media(max-width:520px){.author-bio-method[data-astro-cid-ynhdph36]{margin-left:0}}.author-bio-socials[data-astro-cid-ynhdph36] a[data-astro-cid-ynhdph36]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--rule-paper);color:var(--ink-mute);transition:color var(--dur-1),border-color var(--dur-1),background var(--dur-1)}.author-bio-socials[data-astro-cid-ynhdph36] a[data-astro-cid-ynhdph36]:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft,transparent)}.smart-cta-rail[data-astro-cid-p22kvayp]{position:relative;display:block}.sc-card[data-astro-cid-p22kvayp]{display:none;flex-direction:column;background:var(--bg-paper);border:1px solid var(--ink);color:var(--ink);border-radius:0;overflow:hidden}.sc-card[data-astro-cid-p22kvayp].is-active{display:flex;animation:scFade var(--dur-3) var(--ease)}@keyframes scFade{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sc-logo[data-astro-cid-p22kvayp]{aspect-ratio:16 / 9;background:var(--ink);color:var(--fg-on-dark);display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.01em;overflow:hidden}.sc-logo[data-astro-cid-p22kvayp] img[data-astro-cid-p22kvayp]{max-width:70%;max-height:60%;object-fit:contain;display:block}.sc-logo-label[data-astro-cid-p22kvayp]{color:var(--fg-on-dark);font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.01em;text-align:center;padding:0 18px}.sc-heading[data-astro-cid-p22kvayp]{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.15;letter-spacing:-.01em;margin:18px 18px 6px}.sc-body[data-astro-cid-p22kvayp]{font-family:var(--serif);font-weight:300;font-size:13.5px;line-height:1.45;color:var(--ink-mute);margin:0 18px 14px}.sc-cta[data-astro-cid-p22kvayp]{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin:0 18px 18px;padding:10px 14px;background:var(--ink);color:var(--fg-on-dark);font-family:var(--sans);font-size:14px;font-weight:600;border-radius:4px;transition:transform var(--dur-1),background var(--dur-1)}.sc-cta[data-astro-cid-p22kvayp]:hover{transform:translate(2px);background:var(--accent-ink)}.sc-heading-link[data-astro-cid-p22kvayp]{color:inherit;text-decoration:none;transition:color var(--dur-1) var(--ease)}.sc-heading-link[data-astro-cid-p22kvayp]:hover{color:var(--accent-ink)}.programme-disclosure[data-astro-cid-lbus5zsf]{display:flex;align-items:flex-start;gap:8px;margin:var(--s-4) 0 var(--s-6);padding:0 0 12px;border-bottom:1px dashed var(--rule-paper);color:var(--ink-mute)}.programme-disclosure[data-astro-cid-lbus5zsf] svg[data-astro-cid-lbus5zsf]{flex:0 0 auto;margin-top:2px;opacity:.7}.programme-disclosure[data-astro-cid-lbus5zsf] p[data-astro-cid-lbus5zsf]{margin:0;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--ink-mute);max-width:70ch}.programme-disclosure[data-astro-cid-lbus5zsf] a[data-astro-cid-lbus5zsf]{color:var(--plum-ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.programme-disclosure[data-astro-cid-lbus5zsf] a[data-astro-cid-lbus5zsf]:hover{text-decoration-thickness:2px}@media(max-width:640px){.programme-disclosure[data-astro-cid-lbus5zsf] p[data-astro-cid-lbus5zsf]{font-size:12.5px}}.article-head-wrap[data-astro-cid-gjtny2mx]{padding-top:var(--s-6)}.article-head[data-astro-cid-gjtny2mx]{margin:var(--s-5) 0 var(--s-7)}.article-head[data-astro-cid-gjtny2mx].with-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,480px);gap:var(--s-6);align-items:center}.article-head-text[data-astro-cid-gjtny2mx]{max-width:var(--article-max)}.article-head-hero[data-astro-cid-gjtny2mx]{margin:0;border-radius:var(--r-lg);overflow:hidden}.article-head-hero[data-astro-cid-gjtny2mx] img{width:100%;height:auto;display:block;object-fit:contain}.article-kicker[data-astro-cid-gjtny2mx]{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:600;margin-bottom:var(--s-3)}.title[data-astro-cid-gjtny2mx]{font-family:var(--serif);font-weight:400;font-size:58px;line-height:1.02;letter-spacing:-.025em;margin:0 0 24px;text-wrap:balance}.title[data-astro-cid-gjtny2mx] em{color:var(--accent);font-style:italic}@media(max-width:960px){.title[data-astro-cid-gjtny2mx]{font-size:44px}}@media(max-width:720px){.title[data-astro-cid-gjtny2mx]{font-size:34px;line-height:1.05;margin-bottom:20px}}@media(max-width:480px){.title[data-astro-cid-gjtny2mx]{font-size:28px}}.standfirst[data-astro-cid-gjtny2mx]{font-family:var(--serif);font-size:clamp(17px,2vw,20px);line-height:1.45;color:var(--ink-mute);margin:0 0 var(--s-4)}.article-grid[data-astro-cid-gjtny2mx]{display:grid;grid-template-columns:200px minmax(0,1fr) 260px;gap:var(--s-6);align-items:start;padding-bottom:var(--s-9)}.article-body[data-astro-cid-gjtny2mx]{margin:0;min-width:0;max-width:var(--article-max);justify-self:center;width:100%}.rail[data-astro-cid-gjtny2mx]{position:relative;align-self:stretch;z-index:1}.rail-sticky[data-astro-cid-gjtny2mx]{position:sticky;top:88px;display:flex;flex-direction:column;gap:var(--s-5);max-height:calc(100vh - 104px);overflow-y:auto;scrollbar-width:thin;z-index:1}.rail-further[data-astro-cid-gjtny2mx].is-revealed{animation:rail-further-in .28s var(--ease) both}@keyframes rail-further-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rail-sticky[data-astro-cid-gjtny2mx]::-webkit-scrollbar{width:4px}.rail-sticky[data-astro-cid-gjtny2mx]::-webkit-scrollbar-thumb{background:var(--rule-paper);border-radius:2px}.article-body[data-astro-cid-gjtny2mx] .table-wrap{position:relative;margin:1.8em 0;width:calc(100% + var(--s-6) + 260px);max-width:calc(100vw - var(--container-pad, 32px) * 2);overflow-x:auto;z-index:5;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain}.article-body[data-astro-cid-gjtny2mx] .table-wrap>table{margin:0;min-width:100%;background:var(--bg-paper)}.rail-right[data-astro-cid-gjtny2mx].table-in-view{opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease)}.rail-right[data-astro-cid-gjtny2mx]{transition:opacity var(--dur-2) var(--ease)}.article-body[data-astro-cid-gjtny2mx]>p:first-of-type:first-letter{font-family:var(--serif);font-weight:600;float:left;font-size:3.6em;line-height:.9;padding:.12em .1em 0 0;margin:.12em .04em 0 0;color:var(--accent-ink)}@media(max-width:1100px){.article-body[data-astro-cid-gjtny2mx] .table-wrap{width:100%;max-width:100%}}.article-bottom[data-astro-cid-gjtny2mx]{padding-bottom:var(--s-5)}@media(max-width:1100px){.article-grid[data-astro-cid-gjtny2mx]{grid-template-columns:minmax(0,1fr) 260px}.rail-left[data-astro-cid-gjtny2mx]{display:none}}@media(max-width:820px){.article-grid[data-astro-cid-gjtny2mx]{grid-template-columns:1fr}.rail[data-astro-cid-gjtny2mx]{display:none}.article-head[data-astro-cid-gjtny2mx].with-hero{grid-template-columns:1fr}.article-head-hero[data-astro-cid-gjtny2mx]{display:none}}.article-body a:has(>img){display:inline-block;position:relative;overflow:hidden;border-radius:var(--r-md);outline:1px solid #fff0;outline-offset:-1px;box-shadow:0 2px 10px -6px #16100c2e;transition:box-shadow .22s var(--ease),outline-color .22s var(--ease),transform .22s var(--ease);will-change:transform}.article-body a:has(>img):after{content:"View ↗";position:absolute;top:10px;right:10px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--bg-paper);background:#16100cd1;backdrop-filter:blur(6px);padding:5px 9px;border-radius:var(--r-pill);opacity:0;transform:translateY(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease),background .2s var(--ease);pointer-events:none}.article-body a:has(>img)>img{display:block;margin:0;transition:transform .32s var(--ease),filter .22s var(--ease)}.article-body a:has(>img):hover,.article-body a:has(>img):focus-visible{outline-color:var(--accent);box-shadow:0 18px 40px -20px #16100c73,0 0 0 3px #3670ee26}.article-body a:has(>img):hover>img,.article-body a:has(>img):focus-visible>img{transform:scale(1.025);filter:brightness(1.02) saturate(1.03)}.article-body a:has(>img):hover:after,.article-body a:has(>img):focus-visible:after{opacity:1;transform:translateY(0);background:var(--accent);color:#fff}@media(prefers-reduced-motion:reduce){.article-body a:has(>img):hover>img,.article-body a:has(>img):focus-visible>img{transform:none}}.article-body .table-wrap a:has(>img){display:inline;position:static;overflow:visible;border-radius:0;outline:none;box-shadow:none;transition:none}.article-body .table-wrap a:has(>img):after{content:none}.article-body .table-wrap a:has(>img)>img{transition:none}.article-body .table-wrap a:has(>img):hover,.article-body .table-wrap a:has(>img):focus-visible{box-shadow:none;outline:none}.article-body .table-wrap a:has(>img):hover>img,.article-body .table-wrap a:has(>img):focus-visible>img{transform:none;filter:none}.article-body .rating-details{display:grid;grid-template-columns:1fr;gap:0;margin:1.4em 0 2em;border:1px solid var(--rule-paper);border-radius:var(--r-md);overflow:hidden;background:var(--bg-paper-2)}.article-body .rating-row{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:stretch}.article-body .rating-row+.rating-row{border-top:1px solid var(--rule-paper)}.article-body .rating-gutter{padding:var(--s-4) var(--s-4);display:flex;flex-direction:column;gap:6px;align-items:flex-start;justify-content:center;background:var(--tier-bg,var(--kelp-soft));color:var(--tier-ink,var(--kelp-ink));border-right:1px solid var(--rule-paper)}.article-body .rating-row[data-tier=top]{--tier-bg:var(--kelp-soft);--tier-ink:var(--kelp-ink)}.article-body .rating-row[data-tier=high]{--tier-bg:var(--accent-soft);--tier-ink:var(--accent-ink)}.article-body .rating-row[data-tier=mid]{--tier-bg:var(--highlight-soft);--tier-ink:var(--highlight-ink)}.article-body .rating-row[data-tier=low]{--tier-bg:var(--flag-soft);--tier-ink:var(--flag-ink)}.article-body .rating-score{font-family:var(--mono);font-size:28px;font-weight:500;letter-spacing:-.02em;color:inherit;line-height:1}.article-body .rating-score small{font-family:var(--mono);font-size:11px;color:inherit;opacity:.7;font-weight:400;margin-left:2px}.article-body .rating-stars{font-size:13px;letter-spacing:.05em;color:inherit;opacity:.9}.article-body .rating-main{padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:6px;background:var(--bg-paper)}.article-body .rating-name{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink);text-transform:uppercase}.article-body .rating-desc{font-family:var(--serif);font-size:15.5px;line-height:1.55;color:var(--ink-mute)}@media(max-width:640px){.article-body .rating-row{grid-template-columns:110px minmax(0,1fr)}.article-body .rating-gutter{padding:var(--s-3)}.article-body .rating-score{font-size:22px}}</style></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MTTJJ6" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><!-- Scroll-progress bar --><div class="progress" aria-hidden="true" data-astro-cid-3ef6ksr2><div class="bar" id="vh-progress-bar" data-astro-cid-3ef6ksr2></div></div><header class="topbar" data-astro-cid-3ef6ksr2><div class="container topbar-inner" data-astro-cid-3ef6ksr2><a class="brand" href="/" aria-label="Venture Harbour — Home" data-astro-cid-3ef6ksr2><svg width="28" height="28" viewBox="0 0 329 313" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-label="Venture Harbour" role="img"><path d="M211.707 98.6101H68.2544L50.304 67.5088H174.768C180.544 67.508 186.218 69.0284 191.221 71.9171C196.223 74.8059 200.379 78.9614 203.27 83.9664L211.707 98.6101Z"></path><path d="M184.81 145.243H95.133L77.2014 114.142H147.871C153.644 114.14 159.315 115.661 164.315 118.55C169.315 121.439 173.467 125.595 176.354 130.599L184.81 145.243Z"></path><path d="M157.894 191.876H122.03L104.099 160.794H120.973C126.749 160.793 132.423 162.313 137.426 165.202C142.429 168.091 146.584 172.246 149.475 177.251L157.894 191.876Z"></path><path d="M278.696 67.5088L164.5 265.491L141.019 224.81L231.753 67.5088H278.696Z"></path></svg><span data-astro-cid-3ef6ksr2>Venture Harbour</span><small data-astro-cid-3ef6ksr2>/ Research</small></a><nav class="nav" id="mainNav" aria-label="Primary" data-astro-cid-3ef6ksr2><div class="nav-item" data-astro-cid-3ef6ksr2><a href="/blog/" class="nav-link has-menu" aria-expanded="false" aria-haspopup="true" aria-controls="researchMenu" data-nav-toggle="research" data-astro-cid-3ef6ksr2>Research <span class="caret" aria-hidden="true" data-astro-cid-3ef6ksr2></span></a><div class="nav-menu" id="researchMenu" role="menu" data-nav-menu="research" data-astro-cid-3ef6ksr2><div class="nav-menu-intro" data-astro-cid-3ef6ksr2><span class="nav-menu-eyebrow" data-astro-cid-3ef6ksr2>By category</span><p data-astro-cid-3ef6ksr2>Research desks — every post is grounded in work done across our own portfolio,not secondary analysis.</p></div><a href="/category/marketing-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>01</span><span data-astro-cid-3ef6ksr2>Marketing Automation <small data-astro-cid-3ef6ksr2>Email,lifecycle,lead nurturing,conversion psychology</small></span></a><a href="/category/sales-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>02</span><span data-astro-cid-3ef6ksr2>Sales Automation <small data-astro-cid-3ef6ksr2>CRMs,lead scoring,pipelines,outbound sequences</small></span></a><a href="/category/ai-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>03</span><span data-astro-cid-3ef6ksr2>AI Automation <small data-astro-cid-3ef6ksr2>Voice AI · avatars · vibe coding · ML for marketers</small></span></a><a href="/category/workflow-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>04</span><span data-astro-cid-3ef6ksr2>Workflow Automation <small data-astro-cid-3ef6ksr2>Cross-functional ops,project mgmt,internal tooling</small></span></a><a href="/category/hr-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>05</span><span data-astro-cid-3ef6ksr2>HR Automation <small data-astro-cid-3ef6ksr2>ATS,EOR,hiring,remote-team operating systems</small></span></a><a href="/category/development-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>06</span><span data-astro-cid-3ef6ksr2>Development Automation <small data-astro-cid-3ef6ksr2>Hosting,CDN,site speed,builders,transactional infra</small></span></a><a href="/category/product-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>07</span><span data-astro-cid-3ef6ksr2>Product Automation <small data-astro-cid-3ef6ksr2>PM,UX,design,positioning,pricing</small></span></a><a href="/category/no-code-automation/" role="menuitem" data-astro-cid-3ef6ksr2><span class="n" data-astro-cid-3ef6ksr2>08</span><span data-astro-cid-3ef6ksr2>No-Code Automation <small data-astro-cid-3ef6ksr2>Forms,landing pages,chatbots,no-code platforms</small></span></a><div class="nav-menu-foot" data-astro-cid-3ef6ksr2><span data-astro-cid-3ef6ksr2>8 desks · updated continually</span><a href="/blog/" data-astro-cid-3ef6ksr2>All research →</a></div></div></div><div class="nav-item" data-astro-cid-3ef6ksr2><a href="/blog/" class="nav-link has-menu" aria-expanded="false" aria-haspopup="true" aria-controls="labMenu" data-nav-toggle="lab" data-astro-cid-3ef6ksr2>The Test Lab <span class="caret" aria-hidden="true" data-astro-cid-3ef6ksr2></span></a><div class="nav-menu" id="labMenu" role="menu" data-nav-menu="lab" data-astro-cid-3ef6ksr2><div class="nav-menu-intro" data-astro-cid-3ef6ksr2><span class="nav-menu-eyebrow" data-astro-cid-3ef6ksr2>Currently testing:</span><p data-astro-cid-3ef6ksr2>Automation software we're using across our venture portfolio</p> </div> <div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/activecampaign-review/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>01</span> <span data-astro-cid-3ef6ksr2>ActiveCampaign</span> </a> <a class="nav-menu-roundup" href="/email-marketing-software-tools-one-best/" data-astro-cid-3ef6ksr2>Email marketing software comparison →</a> </div><div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/best-vibe-coding-tools/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>02</span> <span data-astro-cid-3ef6ksr2>Lovable</span> </a> <a class="nav-menu-roundup" href="/best-vibe-coding-tools/" data-astro-cid-3ef6ksr2>Compare AI coding tools →</a> </div><div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/best-ai-avatar-software/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>03</span> <span data-astro-cid-3ef6ksr2>HeyGen</span> </a> <a class="nav-menu-roundup" href="/best-ai-avatar-software/" data-astro-cid-3ef6ksr2>Compare AI avatar software →</a> </div><div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/getresponse-review/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>04</span> <span data-astro-cid-3ef6ksr2>GetResponse</span> </a> <a class="nav-menu-roundup" href="/email-marketing-software-tools-one-best/" data-astro-cid-3ef6ksr2>Email marketing software comparison →</a> </div><div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/unbounce-review/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>05</span> <span data-astro-cid-3ef6ksr2>Unbounce</span> </a> <a class="nav-menu-roundup" href="/best-landing-page-builders/" data-astro-cid-3ef6ksr2>Landing page builder comparison →</a> </div><div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/hotjar-review/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>06</span> <span data-astro-cid-3ef6ksr2>Hotjar</span> </a> <a class="nav-menu-roundup" href="/saas-cro-software/" data-astro-cid-3ef6ksr2>CRO software comparison →</a> </div><div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/voice-ai-platforms-compared-i-built-voice-agents-on-7-tools/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>07</span> <span data-astro-cid-3ef6ksr2>VAPI</span> </a> <a class="nav-menu-roundup" href="/voice-ai-platforms-compared-i-built-voice-agents-on-7-tools/" data-astro-cid-3ef6ksr2>Compare voice AI tools →</a> </div><div class="nav-menu-row" data-astro-cid-3ef6ksr2> <a href="/breezy-hr-review/" role="menuitem" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>08</span> <span data-astro-cid-3ef6ksr2>Breezy HR</span> </a> <a class="nav-menu-roundup" href="/applicant-tracking-systems/" data-astro-cid-3ef6ksr2>Applicant tracking systems comparison →</a> </div> <div class="nav-menu-foot" data-astro-cid-3ef6ksr2> <a href="/blog/" data-astro-cid-3ef6ksr2>See all research →</a> </div> </div> </div> </nav> <div class="utils" data-astro-cid-3ef6ksr2> <button class="search-btn" type="button" data-search-open aria-label="Open search" data-astro-cid-3ef6ksr2> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-3ef6ksr2> <circle cx="11" cy="11" r="7" data-astro-cid-3ef6ksr2></circle> <path d="m21 21-4.3-4.3" data-astro-cid-3ef6ksr2></path> </svg> <span class="search-label" data-astro-cid-3ef6ksr2>Search</span> <kbd data-astro-cid-3ef6ksr2>⌘K</kbd> </button> <button class="menu-btn" type="button" aria-label="Open menu" aria-expanded="false" aria-controls="mobileNav" data-mobile-toggle data-astro-cid-3ef6ksr2> <svg class="menu-open-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-astro-cid-3ef6ksr2> <path d="M3 6h18" data-astro-cid-3ef6ksr2></path><path d="M3 12h18" data-astro-cid-3ef6ksr2></path><path d="M3 18h18" data-astro-cid-3ef6ksr2></path> </svg> <svg class="menu-close-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-astro-cid-3ef6ksr2> <path d="M6 6 18 18" data-astro-cid-3ef6ksr2></path><path d="M18 6 6 18" data-astro-cid-3ef6ksr2></path> </svg> </button> </div> </div> <!-- Mobile nav panel --> <div class="mobile-nav" id="mobileNav" hidden data-astro-cid-3ef6ksr2> <nav aria-label="Mobile primary" data-astro-cid-3ef6ksr2> <a href="/blog/" data-astro-cid-3ef6ksr2>All research</a> <div class="mobile-nav-section" data-astro-cid-3ef6ksr2> <div class="mobile-nav-section-title" data-astro-cid-3ef6ksr2>Research — by category</div> <a class="mobile-nav-cat" href="/category/marketing-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>01</span> <span data-astro-cid-3ef6ksr2> Marketing Automation <small data-astro-cid-3ef6ksr2>Email, lifecycle, lead nurturing, conversion psychology</small> </span> </a><a class="mobile-nav-cat" href="/category/sales-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>02</span> <span data-astro-cid-3ef6ksr2> Sales Automation <small data-astro-cid-3ef6ksr2>CRMs, lead scoring, pipelines, outbound sequences</small> </span> </a><a class="mobile-nav-cat" href="/category/ai-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>03</span> <span data-astro-cid-3ef6ksr2> AI Automation <small data-astro-cid-3ef6ksr2>Voice AI · avatars · vibe coding · ML for marketers</small> </span> </a><a class="mobile-nav-cat" href="/category/workflow-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>04</span> <span data-astro-cid-3ef6ksr2> Workflow Automation <small data-astro-cid-3ef6ksr2>Cross-functional ops, project mgmt, internal tooling</small> </span> </a><a class="mobile-nav-cat" href="/category/hr-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>05</span> <span data-astro-cid-3ef6ksr2> HR Automation <small data-astro-cid-3ef6ksr2>ATS, EOR, hiring, remote-team operating systems</small> </span> </a><a class="mobile-nav-cat" href="/category/development-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>06</span> <span data-astro-cid-3ef6ksr2> Development Automation <small data-astro-cid-3ef6ksr2>Hosting, CDN, site speed, builders, transactional infra</small> </span> </a><a class="mobile-nav-cat" href="/category/product-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>07</span> <span data-astro-cid-3ef6ksr2> Product Automation <small data-astro-cid-3ef6ksr2>PM, UX, design, positioning, pricing</small> </span> </a><a class="mobile-nav-cat" href="/category/no-code-automation/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>08</span> <span data-astro-cid-3ef6ksr2> No-Code Automation <small data-astro-cid-3ef6ksr2>Forms, landing pages, chatbots, no-code platforms</small> </span> </a> </div> <div class="mobile-nav-section" data-astro-cid-3ef6ksr2> <div class="mobile-nav-section-title" data-astro-cid-3ef6ksr2>The Test Lab — Currently testing:</div> <div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/activecampaign-review/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>01</span> <span data-astro-cid-3ef6ksr2>ActiveCampaign</span> </a> <a class="mobile-nav-roundup" href="/email-marketing-software-tools-one-best/" data-astro-cid-3ef6ksr2>Email marketing software comparison →</a> </div><div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/best-vibe-coding-tools/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>02</span> <span data-astro-cid-3ef6ksr2>Lovable</span> </a> <a class="mobile-nav-roundup" href="/best-vibe-coding-tools/" data-astro-cid-3ef6ksr2>Compare AI coding tools →</a> </div><div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/best-ai-avatar-software/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>03</span> <span data-astro-cid-3ef6ksr2>HeyGen</span> </a> <a class="mobile-nav-roundup" href="/best-ai-avatar-software/" data-astro-cid-3ef6ksr2>Compare AI avatar software →</a> </div><div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/getresponse-review/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>04</span> <span data-astro-cid-3ef6ksr2>GetResponse</span> </a> <a class="mobile-nav-roundup" href="/email-marketing-software-tools-one-best/" data-astro-cid-3ef6ksr2>Email marketing software comparison →</a> </div><div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/unbounce-review/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>05</span> <span data-astro-cid-3ef6ksr2>Unbounce</span> </a> <a class="mobile-nav-roundup" href="/best-landing-page-builders/" data-astro-cid-3ef6ksr2>Landing page builder comparison →</a> </div><div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/hotjar-review/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>06</span> <span data-astro-cid-3ef6ksr2>Hotjar</span> </a> <a class="mobile-nav-roundup" href="/saas-cro-software/" data-astro-cid-3ef6ksr2>CRO software comparison →</a> </div><div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/voice-ai-platforms-compared-i-built-voice-agents-on-7-tools/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>07</span> <span data-astro-cid-3ef6ksr2>VAPI</span> </a> <a class="mobile-nav-roundup" href="/voice-ai-platforms-compared-i-built-voice-agents-on-7-tools/" data-astro-cid-3ef6ksr2>Compare voice AI tools →</a> </div><div class="mobile-nav-row" data-astro-cid-3ef6ksr2> <a class="mobile-nav-cat" href="/breezy-hr-review/" data-astro-cid-3ef6ksr2> <span class="n" data-astro-cid-3ef6ksr2>08</span> <span data-astro-cid-3ef6ksr2>Breezy HR</span> </a> <a class="mobile-nav-roundup" href="/applicant-tracking-systems/" data-astro-cid-3ef6ksr2>Applicant tracking systems comparison →</a> </div> <a class="mobile-nav-all" href="/blog/" data-astro-cid-3ef6ksr2>See all research →</a> </div> </nav> </div> </header> <!-- Search overlay --> <div class="search-overlay" id="vh-search-overlay" hidden data-astro-cid-3ef6ksr2> <div class="so-backdrop" data-search-close data-astro-cid-3ef6ksr2></div> <div class="so-panel" role="dialog" aria-modal="true" aria-label="Search" data-astro-cid-3ef6ksr2> <div class="so-input-row" data-astro-cid-3ef6ksr2> <svg class="so-icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-3ef6ksr2> <circle cx="11" cy="11" r="7" data-astro-cid-3ef6ksr2></circle> <path d="m21 21-4.3-4.3" data-astro-cid-3ef6ksr2></path> </svg> <input type="search" placeholder="Search reviews, guides, tools…" autocomplete="off" spellcheck="false" id="vh-search-input" data-astro-cid-3ef6ksr2> <kbd class="so-esc" data-astro-cid-3ef6ksr2>ESC</kbd> </div> <div class="so-meta" data-astro-cid-3ef6ksr2>
Press <kbd data-astro-cid-3ef6ksr2>↵</kbd> to see full results · <kbd data-astro-cid-3ef6ksr2>ESC</kbd> to close
</div> <div class="so-suggestions" data-astro-cid-3ef6ksr2> <div class="so-section-title" data-so-section data-astro-cid-3ef6ksr2>Popular</div> <ul data-so-results data-astro-cid-3ef6ksr2> <li data-astro-cid-3ef6ksr2><a href="/activecampaign-review/" data-astro-cid-3ef6ksr2>ActiveCampaign review — tested across 8 companies</a></li> <li data-astro-cid-3ef6ksr2><a href="/email-marketing-software-tools-one-best/" data-astro-cid-3ef6ksr2>Best email marketing software</a></li> <li data-astro-cid-3ef6ksr2><a href="/marketing-automation-software/" data-astro-cid-3ef6ksr2>Best marketing automation platforms</a></li> </ul> </div> </div> </div> <script type="module" src="/_astro/Header.astro_astro_type_script_index_0_lang.CBFqAFm0.js"></script>  <main id="main-content">  <article data-astro-cid-gjtny2mx> <div class="container article-head-wrap" data-astro-cid-gjtny2mx> <nav class="crumbs" aria-label="Breadcrumb" data-astro-cid-ilhxcym7> <ol data-astro-cid-ilhxcym7> <li data-astro-cid-ilhxcym7> <a href="/" data-astro-cid-ilhxcym7>Home</a> <span class="sep" aria-hidden="true" data-astro-cid-ilhxcym7>/</span> </li><li data-astro-cid-ilhxcym7> <a href="/category/marketing-automation/" data-astro-cid-ilhxcym7>Marketing Automation</a>  </li> </ol> </nav>  <header class="article-head with-hero" data-astro-cid-gjtny2mx> <div class="article-head-text" data-astro-cid-gjtny2mx>  <h1 class="title" data-astro-cid-gjtny2mx>We&#39;re No Longer Focusing on Leadformly</h1> <div class="byline" data-astro-cid-oxbng3yr> <div class="byline-people" data-astro-cid-oxbng3yr> <div class="party" data-astro-cid-oxbng3yr> <span class="author-chip" tabindex="0" data-astro-cid-oxbng3yr> <a class="chip-link" href="/author/marcus/" data-astro-cid-oxbng3yr> <img class="avatar" src="/.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=40&#38;h=40&#38;fit=cover&#38;fm=webp&#38;q=75" srcset="/.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=40&#38;h=40&#38;fit=cover&#38;fm=webp&#38;q=75 1x, /.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=80&#38;h=80&#38;fit=cover&#38;fm=webp&#38;q=75 2x" alt="Written by Marcus Taylor" width="40" height="40" loading="lazy" decoding="async" data-astro-cid-oxbng3yr> <span class="who" data-astro-cid-oxbng3yr> <span class="label" data-astro-cid-oxbng3yr>Written by</span> <span class="name" data-astro-cid-oxbng3yr>Marcus Taylor</span> </span> </a> <div class="tip" role="tooltip" data-astro-cid-cp5llffm> <div class="tip-card" data-astro-cid-cp5llffm> <div class="tip-head" data-astro-cid-cp5llffm> <img src="/.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=56&#38;h=56&#38;fit=cover&#38;fm=webp&#38;q=75" srcset="/.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=56&#38;h=56&#38;fit=cover&#38;fm=webp&#38;q=75 1x, /.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=112&#38;h=112&#38;fit=cover&#38;fm=webp&#38;q=75 2x" alt="" aria-hidden="true" width="56" height="56" loading="lazy" decoding="async" data-astro-cid-cp5llffm> <div data-astro-cid-cp5llffm> <div class="tip-name" data-astro-cid-cp5llffm>Marcus Taylor</div> <div class="tip-role" data-astro-cid-cp5llffm>Founder, Venture Harbour</div> </div> </div> <p class="tip-bio" data-astro-cid-cp5llffm>Marcus Taylor is the founder of Venture Harbour. He&#39;s also an early-stage investor, advisor &amp; Patron of The Prince&#39;s Trust. Marcus has been writing about and objectively reviewing marketing software since 2012 to help small businesses grow. He has been featured in Forbes 30 Under 30, The BBC, The Guardian, Campaign, Econsultancy, CXL and more.</p> <ul class="tip-social" data-astro-cid-cp5llffm> <li data-astro-cid-cp5llffm> <a href="https://x.com/MarcusATaylor" target="_blank" rel="noopener noreferrer" aria-label="Marcus Taylor on x" data-astro-cid-cp5llffm> <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-cp5llffm><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" data-astro-cid-cp5llffm></path></svg>    </a> </li><li data-astro-cid-cp5llffm> <a href="https://www.linkedin.com/in/marcustaylor100/" target="_blank" rel="noopener noreferrer" aria-label="Marcus Taylor on linkedin" data-astro-cid-cp5llffm>  <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-cp5llffm><path d="M20.45 3H3.55A.55.55 0 003 3.55v16.9c0 .3.25.55.55.55h16.9c.3 0 .55-.25.55-.55V3.55A.55.55 0 0020.45 3zM8.8 18.3H5.9V9.5h2.9v8.8zM7.35 8.2a1.68 1.68 0 110-3.36 1.68 1.68 0 010 3.36zM18.3 18.3h-2.9v-4.3c0-1.03-.02-2.35-1.43-2.35-1.44 0-1.66 1.12-1.66 2.28v4.37h-2.9V9.5h2.78v1.2h.04c.39-.73 1.34-1.5 2.76-1.5 2.95 0 3.5 1.94 3.5 4.47v4.63z" data-astro-cid-cp5llffm></path></svg>   </a> </li><li data-astro-cid-cp5llffm> <a href="https://www.youtube.com/@intellagentsHQ/" target="_blank" rel="noopener noreferrer" aria-label="Marcus Taylor on youtube" data-astro-cid-cp5llffm>   <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-cp5llffm><path d="M23.5 6.2c-.3-1.1-1.1-1.9-2.2-2.2C19.3 3.5 12 3.5 12 3.5s-7.3 0-9.3.5c-1.1.3-1.9 1.1-2.2 2.2C0 8.2 0 12 0 12s0 3.8.5 5.8c.3 1.1 1.1 1.9 2.2 2.2 2 .5 9.3.5 9.3.5s7.3 0 9.3-.5c1.1-.3 1.9-1.1 2.2-2.2.5-2 .5-5.8.5-5.8s0-3.8-.5-5.8zM9.6 15.6V8.4L15.8 12l-6.2 3.6z" data-astro-cid-cp5llffm></path></svg>  </a> </li><li data-astro-cid-cp5llffm> <a href="https://ventureharbour.com" target="_blank" rel="noopener noreferrer" aria-label="Marcus Taylor on website" data-astro-cid-cp5llffm>    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-astro-cid-cp5llffm><circle cx="12" cy="12" r="9" data-astro-cid-cp5llffm></circle><path d="M3 12h18M12 3a14 14 0 010 18M12 3a14 14 0 000 18" data-astro-cid-cp5llffm></path></svg> </a> </li> </ul> </div> </div>  </span> </div> <div class="party reviewed" data-astro-cid-oxbng3yr> <span class="author-chip" tabindex="0" data-astro-cid-oxbng3yr> <a class="chip-link" href="/author/anna/" data-astro-cid-oxbng3yr> <img class="avatar" src="/.netlify/images?url=%2Fuploads%2Fanna%2Fanna-byline.jpg&#38;w=40&#38;h=40&#38;fit=cover&#38;fm=webp&#38;q=75" srcset="/.netlify/images?url=%2Fuploads%2Fanna%2Fanna-byline.jpg&#38;w=40&#38;h=40&#38;fit=cover&#38;fm=webp&#38;q=75 1x, /.netlify/images?url=%2Fuploads%2Fanna%2Fanna-byline.jpg&#38;w=80&#38;h=80&#38;fit=cover&#38;fm=webp&#38;q=75 2x" alt="Reviewed by Anna Hamzah" width="40" height="40" loading="lazy" decoding="async" data-astro-cid-oxbng3yr> <span class="who" data-astro-cid-oxbng3yr> <span class="label" data-astro-cid-oxbng3yr>Reviewed by</span> <span class="name" data-astro-cid-oxbng3yr>Anna Hamzah</span> </span> </a> <div class="tip" role="tooltip" data-astro-cid-cp5llffm> <div class="tip-card" data-astro-cid-cp5llffm> <div class="tip-head" data-astro-cid-cp5llffm> <img src="/.netlify/images?url=%2Fuploads%2Fanna%2Fanna-byline.jpg&#38;w=56&#38;h=56&#38;fit=cover&#38;fm=webp&#38;q=75" srcset="/.netlify/images?url=%2Fuploads%2Fanna%2Fanna-byline.jpg&#38;w=56&#38;h=56&#38;fit=cover&#38;fm=webp&#38;q=75 1x, /.netlify/images?url=%2Fuploads%2Fanna%2Fanna-byline.jpg&#38;w=112&#38;h=112&#38;fit=cover&#38;fm=webp&#38;q=75 2x" alt="" aria-hidden="true" width="56" height="56" loading="lazy" decoding="async" data-astro-cid-cp5llffm> <div data-astro-cid-cp5llffm> <div class="tip-name" data-astro-cid-cp5llffm>Anna Hamzah</div> <div class="tip-role" data-astro-cid-cp5llffm>Director of Product, Venture Harbour</div> </div> </div> <p class="tip-bio" data-astro-cid-cp5llffm>Anna Hamzah is Director of Product at Venture Harbour. Alongside our CTO she led the engineering team that built TrueNorth, our growth-marketing platform, and helped shape the venture studio&#39;s product-development playbook. Anna doesn&#39;t write for Venture Harbour — she reviews the work that does go live.</p>  </div> </div>  </span> </div> </div> <div class="stamp" data-astro-cid-oxbng3yr> <span class="stamp-date" data-astro-cid-oxbng3yr> Last updated · <time datetime="2026-04-09 08:17:57" data-astro-cid-oxbng3yr>9 April 2026</time> </span>  </div> </div>  </div> <figure class="article-head-hero" data-astro-cid-gjtny2mx> <picture><source media="(min-width: 821px)" srcset="/.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=320&#38;fm=webp&#38;q=75 320w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=640&#38;fm=webp&#38;q=75 640w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=800&#38;fm=webp&#38;q=75 800w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=960&#38;fm=webp&#38;q=75 960w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=1280&#38;fm=webp&#38;q=75 1280w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2Fjohannes-plenio-qkfxBc2NQ18-unsplash-scaled.jpg&#38;w=1600&#38;fm=webp&#38;q=75 1600w" sizes="480px"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" alt width="2560" height="1440" loading="eager" decoding="async" fetchpriority="high"></picture> </figure> </header> </div> <div class="container article-grid" data-astro-cid-gjtny2mx> <aside class="rail rail-left" data-astro-cid-gjtny2mx> <div class="rail-sticky" data-astro-cid-gjtny2mx> <nav class="otp" aria-label="On this page" data-astro-cid-hh67uq7u><div class="otp-title" data-astro-cid-hh67uq7u>On this page</div><ol data-astro-cid-hh67uq7u><li class="d-2" data-astro-cid-hh67uq7u><a href="#whats-next" data-otp-target="whats-next" data-astro-cid-hh67uq7u><span class="t" data-astro-cid-hh67uq7u>What’s next?</span></a></li><li class="d-2" data-astro-cid-hh67uq7u><a href="#final-words" data-otp-target="final-words" data-astro-cid-hh67uq7u><span class="t" data-astro-cid-hh67uq7u>Final words</span></a></li></ol><div class="otp-share" aria-label="Share this article" data-astro-cid-hh67uq7u><a class="otp-share-btn" href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fventureharbour.com%2Fwere-no-longer-focusing-on-leadformly%2F" target="_blank" rel="noopener noreferrer" aria-label="Share on X" data-astro-cid-hh67uq7u><svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true" focusable="false" data-astro-cid-hh67uq7u><path fill="currentColor" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" data-astro-cid-hh67uq7u></path></svg></a><a class="otp-share-btn" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fventureharbour.com%2Fwere-no-longer-focusing-on-leadformly%2F" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" data-astro-cid-hh67uq7u><svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true" focusable="false" data-astro-cid-hh67uq7u><path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.852 3.37-1.852 3.601 0 4.267 2.37 4.267 5.455v6.288zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.063 2.063 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" data-astro-cid-hh67uq7u></path></svg></a><button type="button" class="otp-share-btn" data-otp-copy="https://ventureharbour.com/were-no-longer-focusing-on-leadformly/" aria-label="Copy link" data-astro-cid-hh67uq7u><svg class="icon-link" viewBox="0 0 24 24" width="16" height="16" aria-hidden="true" focusable="false" data-astro-cid-hh67uq7u><path fill="currentColor" d="M3.9 12a3.1 3.1 0 013.1-3.1h4V7H7a5 5 0 000 10h4v-1.9H7A3.1 3.1 0 013.9 12zM8 13h8v-2H8v2zm9-6h-4v1.9h4A3.1 3.1 0 0120.1 12a3.1 3.1 0 01-3.1 3.1h-4V17h4a5 5 0 000-10z" data-astro-cid-hh67uq7u></path></svg><svg class="icon-check" viewBox="0 0 24 24" width="16" height="16" aria-hidden="true" focusable="false" data-astro-cid-hh67uq7u><path fill="currentColor" d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-hh67uq7u></path></svg></button></div></nav><script type="module">for(const i of document.querySelectorAll(".otp")){const c=Array.from(i.querySelectorAll("a[data-otp-target]")),e=c.map(t=>document.getElementById(t.dataset.otpTarget||"")).filter(t=>t!=null);if(!e.length)continue;let s=null;const r=t=>{if(t!==s){s=t;for(const n of c)n.classList.toggle("active",n.dataset.otpTarget===t)}},d=new Map,f=new IntersectionObserver(t=>{for(const o of t)d.set(o.target.id,o.isIntersecting?o.intersectionRatio:0);let n=null,l=1/0;for(const o of e){const a=o.getBoundingClientRect();a.top<=120&&a.top>-a.height&&a.top<l&&(l=a.top,n=o.id)}if(!n)for(const o of e)o.getBoundingClientRect().top<=120&&(n=o.id);r(n)},{rootMargin:"-80px 0px -70% 0px",threshold:[0,.1,.5,1]});for(const t of e)f.observe(t);requestAnimationFrame(()=>{const t=e[0];t&&r(t.id)})}for(const i of document.querySelectorAll("[data-otp-copy]"))i.addEventListener("click",async()=>{const c=i.dataset.otpCopy||window.location.href;try{await navigator.clipboard.writeText(c)}catch{const e=document.createElement("textarea");e.value=c,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select();try{document.execCommand("copy")}finally{e.remove()}}i.classList.add("copied"),window.setTimeout(()=>i.classList.remove("copied"),1600)});</script> </div> </aside> <div class="article-body prose" data-slug="were-no-longer-focusing-on-leadformly" data-astro-cid-gjtny2mx>  <p>It’s with mixed emotions that we’re ending work on Leadformly today.</p>
<p>As many of you know, Leadformly was our first foray into SaaS. What began as an experiment with interactive forms, turned into a tool used by over 10,000 small businesses in 150+ countries over the years.</p>
<p><img src="/.netlify/images?url=%2Fuploads%2F2021%2F01%2FScreenshot-2021-01-05-at-14.02.22.png&#x26;w=1442&#x26;fm=webp&#x26;q=75" alt="Global user distribution map for LeadFormly showing usage by country." width="1442" height="876" loading="lazy" decoding="async" srcset="/.netlify/images?url=%2Fuploads%2F2021%2F01%2FScreenshot-2021-01-05-at-14.02.22.png&#x26;w=320&#x26;fm=webp&#x26;q=75 320w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2FScreenshot-2021-01-05-at-14.02.22.png&#x26;w=640&#x26;fm=webp&#x26;q=75 640w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2FScreenshot-2021-01-05-at-14.02.22.png&#x26;w=800&#x26;fm=webp&#x26;q=75 800w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2FScreenshot-2021-01-05-at-14.02.22.png&#x26;w=960&#x26;fm=webp&#x26;q=75 960w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2FScreenshot-2021-01-05-at-14.02.22.png&#x26;w=1280&#x26;fm=webp&#x26;q=75 1280w, /.netlify/images?url=%2Fuploads%2F2021%2F01%2FScreenshot-2021-01-05-at-14.02.22.png&#x26;w=1600&#x26;fm=webp&#x26;q=75 1600w" sizes="(min-width: 1024px) 640px, 100vw"></p>
<p>When we created LeadFormly back in 2016, there weren’t many good form builders (unlike today) and upgrading to a LeadForm gave many businesses a genuine way to 2-3X their leads. Since then, forms have got better and alternate solutions like chatbots mean that Leadformly no longer gives businesses the competitive advantage it once did.</p>
<p>Leadformly has been invaluable, generous and at times humbling in the lessons its served us. We learnt the importance of good architecture the hard way, how not to name a venture (we almost called it <em>Qualiflower</em>), as well as countless ways to improve how we build and release products.</p>
<p>Perhaps the biggest lesson, though, is knowing when to stop. In hindsight, we should have done it a long time ago. Leadformly is a great product, but it’s not the product that’ll achieve <a href="/about/">our vision</a>. Nothing is more important than focusing on the right things and, while uncomfortable, improving focus often requires subtracting the things that distract us from our goals.</p>
<h2 id="whats-next">What’s next?</h2>
<p>For the time being, we’ll continue to support existing customers before we begin the process to wind down the platform. If you’re a customer your account, LeadForms, and leads will remain safe and accessible in Leadformly until then. We’re also not taking on any new customers.</p>
<p>As we move into 2022 we’ll be doubling down on <a href="https://truenorth.io?utm_source=ventureharbour.com&#x26;utm_medium=referral&#x26;utm_campaign=were-no-longer-focusing-on-leadformly">TrueNorth</a>, a growth marketing platform that helps marketing teams hit their objectives by tying marketing activity to results.</p>
<p><img src="/.netlify/images?url=%2Fuploads%2F2020%2F09%2FImage-14.png&#x26;w=1280&#x26;fm=webp&#x26;q=75" alt="TrueNorth marketing timeline showing budget allocation and ROI metrics for each activity." width="1280" height="820" loading="lazy" decoding="async" srcset="/.netlify/images?url=%2Fuploads%2F2020%2F09%2FImage-14.png&#x26;w=320&#x26;fm=webp&#x26;q=75 320w, /.netlify/images?url=%2Fuploads%2F2020%2F09%2FImage-14.png&#x26;w=640&#x26;fm=webp&#x26;q=75 640w, /.netlify/images?url=%2Fuploads%2F2020%2F09%2FImage-14.png&#x26;w=800&#x26;fm=webp&#x26;q=75 800w, /.netlify/images?url=%2Fuploads%2F2020%2F09%2FImage-14.png&#x26;w=960&#x26;fm=webp&#x26;q=75 960w, /.netlify/images?url=%2Fuploads%2F2020%2F09%2FImage-14.png&#x26;w=1280&#x26;fm=webp&#x26;q=75 1280w, /.netlify/images?url=%2Fuploads%2F2020%2F09%2FImage-14.png&#x26;w=1600&#x26;fm=webp&#x26;q=75 1600w" sizes="(min-width: 1024px) 640px, 100vw"></p>
<p>TrueNorth is our most ambitious and promising venture. It’s aligned with our vision, our strengths, and the needs of modern marketing teams.</p>
<p>While Leadformly played its part in making Venture Harbour one of the fastest-growing UK tech companies, it’s time for us to refocus on the challenge ahead and what will achieve our 2030 vision.</p>
<blockquote>
<p><em>What got you here, won’t get you there.</em></p>
<p>Marshall Goldsmith</p>
</blockquote>
<h2 id="final-words">Final words</h2>
<p>This announcement has been bitter sweet to write.</p>
<p>The next chapter for Venture Harbour is an incredibly exciting one and I believe that our most innovative, successful ventures are yet to be built.</p>
<p>At the same time, this is the end of an era for myself and many people who came together to work on Leadformly. I’m immensely grateful for all of the moments and relationships made possible by Leadformly.</p>
<p>With that, I’ll say a huge thank you to Ryosei, Ben, Rajinder, Dhananjay, Kristine, Martina, Jay, Swapnil, Coenraad and the entire team at Venture Harbour and Alphalogic. And of course to all of our amazing and supportive customers over the years - I hope we see you again in another venture!</p>
<p>Onwards,</p>
<p>Marcus</p>  <aside class="author-bio" data-astro-cid-ynhdph36> <div class="author-bio-heading" data-astro-cid-ynhdph36>Written by</div> <div class="author-bio-row" data-astro-cid-ynhdph36> <img class="author-bio-avatar" src="/.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=72&#38;h=72&#38;fit=cover&#38;fm=webp&#38;q=75" srcset="/.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=72&#38;h=72&#38;fit=cover&#38;fm=webp&#38;q=75 1x, /.netlify/images?url=%2Fuploads%2Fmarcus%2Fmarcus-byline.png&#38;w=144&#38;h=144&#38;fit=cover&#38;fm=webp&#38;q=75 2x" alt="" aria-hidden="true" width="72" height="72" loading="lazy" decoding="async" data-astro-cid-ynhdph36> <div class="author-bio-body" data-astro-cid-ynhdph36> <a class="author-bio-name" href="/author/marcus/" data-astro-cid-ynhdph36>Marcus Taylor</a> <div class="author-bio-role" data-astro-cid-ynhdph36>Founder, Venture Harbour</div> <p class="author-bio-text" data-astro-cid-ynhdph36>Marcus Taylor is the founder of Venture Harbour. He&#39;s also an early-stage investor, advisor &amp; Patron of The Prince&#39;s Trust. Marcus has been writing about and objectively reviewing marketing software since 2012 to help small businesses grow. He has been featured in Forbes 30 Under 30, The BBC, The Guardian, Campaign, Econsultancy, CXL and more.</p> <div class="author-bio-meta" data-astro-cid-ynhdph36> <span class="author-bio-years" data-astro-cid-ynhdph36>Writing and building since 2012</span> </div> <div class="author-bio-footer" data-astro-cid-ynhdph36> <ul class="author-bio-socials" data-astro-cid-ynhdph36> <li data-astro-cid-ynhdph36> <a href="https://x.com/MarcusATaylor" rel="noopener" target="_blank" aria-label="X" data-astro-cid-ynhdph36> <svg width="16" height="16" viewBox="0 0 24 24" aria-hidden="true" fill="currentColor"><path d="M18.244 2H21l-6.542 7.474L22.5 22h-6.844l-4.824-6.312L5.22 22H2.46l7.002-8.001L1.5 2h7.017l4.36 5.761L18.244 2Zm-2.4 18.414h1.543L7.26 3.482H5.604l10.24 16.932Z"></path></svg> </a> </li><li data-astro-cid-ynhdph36> <a href="https://www.linkedin.com/in/marcustaylor100/" rel="noopener" target="_blank" aria-label="LinkedIn" data-astro-cid-ynhdph36> <svg width="16" height="16" viewBox="0 0 24 24" aria-hidden="true" fill="currentColor"><path d="M20.452 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.446-2.136 2.94v5.666H9.356V9h3.413v1.561h.049c.476-.9 1.637-1.85 3.37-1.85 3.601 0 4.268 2.37 4.268 5.455v6.286ZM5.337 7.433a2.062 2.062 0 1 1 .001-4.125 2.062 2.062 0 0 1-.001 4.125ZM7.117 20.452H3.556V9h3.561v11.452ZM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003Z"></path></svg> </a> </li><li data-astro-cid-ynhdph36> <a href="https://www.youtube.com/@intellagentsHQ/" rel="noopener" target="_blank" aria-label="YouTube" data-astro-cid-ynhdph36> <svg width="16" height="16" viewBox="0 0 24 24" aria-hidden="true" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z"></path></svg> </a> </li><li data-astro-cid-ynhdph36> <a href="https://ventureharbour.com" rel="noopener" target="_blank" aria-label="Website" data-astro-cid-ynhdph36> <svg width="16" height="16" viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10Z"></path></svg> </a> </li> </ul> <a class="author-bio-method" href="/how-we-test/" data-astro-cid-ynhdph36>
Learn about our methodology
<span aria-hidden="true" data-astro-cid-ynhdph36> →</span> </a> </div> </div> </div> </aside>   </div> <aside class="rail rail-right" data-astro-cid-gjtny2mx> <div class="rail-sticky" data-astro-cid-gjtny2mx>  <div class="rail-further" data-further-reading hidden data-astro-cid-gjtny2mx> <aside class="related v-carousel" data-rotate-ms="10000" data-astro-cid-oy2bnmm5><header class="r-head" data-astro-cid-oy2bnmm5><span class="r-kicker" data-astro-cid-oy2bnmm5>Further reading</span><span class="r-count" data-astro-cid-oy2bnmm5>05</span></header><div class="carousel-stage" data-astro-cid-oy2bnmm5><a href="/activecampaign-vs-mailchimp/" class="carousel-slide is-active" data-index="0" data-astro-cid-oy2bnmm5><span class="cs-kicker" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="cs-title" data-astro-cid-oy2bnmm5>ActiveCampaign vs Mailchimp (2026): I&#39;ve Used Both for Years</span><span class="cs-dek" data-astro-cid-oy2bnmm5>I&#39;ve used ActiveCampaign across eight companies and retested Mailchimp in September 2026. ActiveCampaign is stronger for automation, while Mailchimp is easier for simple email.</span><span class="cs-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="cs-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></a><a href="/ecommerce-email-marketing/" class="carousel-slide" data-index="1" data-astro-cid-oy2bnmm5><span class="cs-kicker" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="cs-title" data-astro-cid-oy2bnmm5>Best Email Marketing Tools for eCommerce in 2026</span><span class="cs-dek" data-astro-cid-oy2bnmm5>We tested 12 eCommerce email tools to find the best for ROI. See top picks, pricing &amp; features compared.</span><span class="cs-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="cs-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></a><a href="/mailchimp-review/" class="carousel-slide" data-index="2" data-astro-cid-oy2bnmm5><span class="cs-kicker" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="cs-title" data-astro-cid-oy2bnmm5>Mailchimp Review: I tested it across 8 areas</span><span class="cs-dek" data-astro-cid-oy2bnmm5>My Mailchimp review after eight hands-on tests covering its email builder, AI, automation, support, deliverability and pricing.</span><span class="cs-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="cs-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></a><a href="/top-enterprise-email-marketing-automation-crm/" class="carousel-slide" data-index="3" data-astro-cid-oy2bnmm5><span class="cs-kicker" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="cs-title" data-astro-cid-oy2bnmm5>8 Best Enterprise Email Marketing Platforms for 2026</span><span class="cs-dek" data-astro-cid-oy2bnmm5>We&#39;ve sent 764,000+ emails through these enterprise email and CRM platforms over 14 years, and tested Mailchimp across eight areas. Our take on where each one fits.</span><span class="cs-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="cs-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></a><a href="/mailchimp-alternatives/" class="carousel-slide" data-index="4" data-astro-cid-oy2bnmm5><span class="cs-kicker" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="cs-title" data-astro-cid-oy2bnmm5>10 Best Mailchimp Alternatives in 2026 (Tested &amp; Compared)</span><span class="cs-dek" data-astro-cid-oy2bnmm5>I&#39;ve tested every major Mailchimp alternative since 2014. Here are the 10 I&#39;d actually switch to — and the one case where I&#39;d stay put.</span><span class="cs-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="cs-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></a></div><div class="carousel-dots" role="tablist" aria-label="Further reading" data-astro-cid-oy2bnmm5><button type="button" class="cs-dot is-active" data-index="0" aria-label="Slide 1" data-astro-cid-oy2bnmm5></button><button type="button" class="cs-dot" data-index="1" aria-label="Slide 2" data-astro-cid-oy2bnmm5></button><button type="button" class="cs-dot" data-index="2" aria-label="Slide 3" data-astro-cid-oy2bnmm5></button><button type="button" class="cs-dot" data-index="3" aria-label="Slide 4" data-astro-cid-oy2bnmm5></button><button type="button" class="cs-dot" data-index="4" aria-label="Slide 5" data-astro-cid-oy2bnmm5></button></div></aside><script type="module">const d=window.matchMedia("(prefers-reduced-motion: reduce)").matches;for(const t of document.querySelectorAll(".v-carousel")){const s=Array.from(t.querySelectorAll(".carousel-slide")),o=Array.from(t.querySelectorAll(".cs-dot"));if(s.length<=1)continue;const i=Number(t.dataset.rotateMs??1e4);let e=0,r=null;const n=l=>{s[e]?.classList.remove("is-active"),o[e]?.classList.remove("is-active"),e=(l+s.length)%s.length,s[e]?.classList.add("is-active"),o[e]?.classList.add("is-active")},c=()=>{d||r!=null||(r=window.setInterval(()=>n(e+1),i))},a=()=>{r!=null&&(clearInterval(r),r=null)};t.addEventListener("mouseenter",a),t.addEventListener("mouseleave",c),o.forEach(l=>l.addEventListener("click",()=>{n(Number(l.dataset.index??0)),a(),c()})),c()}</script> </div> </div> </aside> </div> <div class="container article-bottom" data-astro-cid-gjtny2mx> <aside class="related v-stack" data-astro-cid-oy2bnmm5><header class="r-head" data-astro-cid-oy2bnmm5><span class="r-kicker" data-astro-cid-oy2bnmm5>More from Venture Harbour</span><span class="r-count" data-astro-cid-oy2bnmm5>03</span></header><ol class="r-list" data-astro-cid-oy2bnmm5><li class="r-item" data-astro-cid-oy2bnmm5><a href="/activecampaign-vs-mailchimp/" class="r-link" data-astro-cid-oy2bnmm5><span class="r-num" aria-hidden="true" data-astro-cid-oy2bnmm5>01</span><span class="r-body" data-astro-cid-oy2bnmm5><span class="r-kicker-row" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="r-title" data-astro-cid-oy2bnmm5>ActiveCampaign vs Mailchimp (2026): I&#39;ve Used Both for Years</span><span class="r-dek" data-astro-cid-oy2bnmm5>I&#39;ve used ActiveCampaign across eight companies and retested Mailchimp in September 2026. ActiveCampaign is stronger for automation, while Mailchimp is easier for simple email.</span><span class="r-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="r-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></span></a></li><li class="r-item" data-astro-cid-oy2bnmm5><a href="/ecommerce-email-marketing/" class="r-link" data-astro-cid-oy2bnmm5><span class="r-num" aria-hidden="true" data-astro-cid-oy2bnmm5>02</span><span class="r-body" data-astro-cid-oy2bnmm5><span class="r-kicker-row" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="r-title" data-astro-cid-oy2bnmm5>Best Email Marketing Tools for eCommerce in 2026</span><span class="r-dek" data-astro-cid-oy2bnmm5>We tested 12 eCommerce email tools to find the best for ROI. See top picks, pricing &amp; features compared.</span><span class="r-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="r-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></span></a></li><li class="r-item" data-astro-cid-oy2bnmm5><a href="/mailchimp-review/" class="r-link" data-astro-cid-oy2bnmm5><span class="r-num" aria-hidden="true" data-astro-cid-oy2bnmm5>03</span><span class="r-body" data-astro-cid-oy2bnmm5><span class="r-kicker-row" data-astro-cid-oy2bnmm5>Marketing Automation</span><span class="r-title" data-astro-cid-oy2bnmm5>Mailchimp Review: I tested it across 8 areas</span><span class="r-dek" data-astro-cid-oy2bnmm5>My Mailchimp review after eight hands-on tests covering its email builder, AI, automation, support, deliverability and pricing.</span><span class="r-cta" data-astro-cid-oy2bnmm5>
Read
<svg class="r-arrow" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-oy2bnmm5><path d="M5 12h14" data-astro-cid-oy2bnmm5></path><path d="M13 5l7 7-7 7" data-astro-cid-oy2bnmm5></path></svg></span></span></a></li></ol></aside> </div> </article> <script type="module">for(const a of document.querySelectorAll("[data-tool-finder]")){const u=Array.from(a.querySelectorAll("[data-tf-step], [data-tf-result]")),i=a.querySelector("[data-tf-progress]"),d=a.querySelector("[data-tf-crumb]"),n=a.querySelector("[data-tf-crumb-items]");let f=[];const c=s=>{window.dataLayer?.push({event:"tool_finder",...s})},l=(s,t)=>{let e=null;for(const o of u){const r=o.dataset.tfStep===s||o.dataset.tfResult===s;o.classList.toggle("is-active",r),r&&(e=o)}if(e){if(i&&(i.textContent=e.dataset.tfResult!==void 0?"Your match":`Question ${e.dataset.tfNum??"1"} of 2`),d&&n){n.innerHTML="";for(const o of f){const r=document.createElement("span");r.className="tool-finder__crumb-item",r.textContent=o,n.appendChild(r)}d.classList.toggle("is-visible",f.length>0)}{const o=e.querySelector("[data-tf-focus]");o&&(o.setAttribute("tabindex","-1"),o.focus({preventScroll:!0}))}}};a.addEventListener("click",s=>{const t=s.target.closest("[data-tf-goto], [data-tf-show], [data-tf-restart]");if(!t||!a.contains(t))return;if(t.dataset.tfRestart!==void 0){f=[],l("start"),c({tf_action:"restart"});return}const e=(t.textContent??"").trim();e&&f.push(e),t.dataset.tfGoto?(l(t.dataset.tfGoto),c({tf_action:"answer",tf_choice:e,tf_next:t.dataset.tfGoto})):t.dataset.tfShow&&(l(t.dataset.tfShow),c({tf_action:"result",tf_choice:e,tf_result:t.dataset.tfShow}))})}</script> <script type="module" src="/_astro/PostLayout.astro_astro_type_script_index_1_lang.Dxd_6p9r.js"></script>  </main> <footer class="site-footer" data-astro-cid-sz7xmlte> <div class="container footer-inner" data-astro-cid-sz7xmlte> <div class="footer-identity" data-astro-cid-sz7xmlte> <a href="/" class="footer-brand" aria-label="Venture Harbour — Home" data-astro-cid-sz7xmlte> <span class="footer-brand-mark" data-astro-cid-sz7xmlte> <span class="mark-logo" data-astro-cid-sz7xmlte><svg width="100" height="100" viewBox="0 0 329 313" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-label="Venture Harbour" role="img"> <path d="M211.707 98.6101H68.2544L50.304 67.5088H174.768C180.544 67.508 186.218 69.0284 191.221 71.9171C196.223 74.8059 200.379 78.9614 203.27 83.9664L211.707 98.6101Z"></path> <path d="M184.81 145.243H95.133L77.2014 114.142H147.871C153.644 114.14 159.315 115.661 164.315 118.55C169.315 121.439 173.467 125.595 176.354 130.599L184.81 145.243Z"></path> <path d="M157.894 191.876H122.03L104.099 160.794H120.973C126.749 160.793 132.423 162.313 137.426 165.202C142.429 168.091 146.584 172.246 149.475 177.251L157.894 191.876Z"></path> <path d="M278.696 67.5088L164.5 265.491L141.019 224.81L231.753 67.5088H278.696Z"></path> </svg></span> <span class="mark-wip" aria-hidden="true" data-astro-cid-sz7xmlte> <svg width="100" height="100" viewBox="0 0 897 890" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" data-astro-cid-sz7xmlte> <g opacity="0.6" data-astro-cid-sz7xmlte> <path opacity="0.5" d="M631.58 181.86H75.4L5.90002 61.45H488.42C510.804 61.4492 532.794 67.34 552.18 78.5304C571.566 89.7207 587.665 105.816 598.86 125.2L631.58 181.86Z" fill="currentColor" data-astro-cid-sz7xmlte></path> <path opacity="0.5" d="M527.29 362.45H179.68L110.15 242.04H384.15C406.527 242.038 428.51 247.924 447.893 259.107C467.275 270.29 483.373 286.376 494.57 305.75L527.29 362.45Z" fill="currentColor" data-astro-cid-sz7xmlte></path> <path opacity="0.5" d="M423 543.08H284L214.5 422.67H279.9C302.283 422.677 324.271 428.574 343.653 439.77C363.035 450.965 379.13 467.064 390.32 486.45L423 543.08Z" fill="currentColor" data-astro-cid-sz7xmlte></path> <path opacity="0.5" d="M891.27 61.45L448.56 828.17L357.6 670.59L709.26 61.45H891.27Z" fill="currentColor" data-astro-cid-sz7xmlte></path> </g> <g opacity="0.75" stroke="currentColor" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="4 4" data-astro-cid-sz7xmlte> <path opacity="0.3" d="M110.01 1L622.48 888.62" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M318.57 1L831.03 888.62" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M527.29 1.29001L889.08 627.92" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M744.16 1L231.7 888.62" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M890.78 62.3L413.71 888.62" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M9.69995 181.86H884.8" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M9.69995 62.3H884.8" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M9.69995 242.06H884.8" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M9.69995 362.47H884.8" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M9.69995 422.67H884.8" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M9.69995 543.08H884.8" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M594.23 5.64999L84.46 888.62" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M5.90002 61.48L483.45 888.62" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M280.76 423.52C305.983 423.52 330.64 431 351.612 445.013C372.584 459.026 388.93 478.943 398.582 502.246C408.235 525.549 410.76 551.191 405.84 575.93C400.919 600.668 388.773 623.392 370.937 641.227C353.102 659.063 330.378 671.209 305.64 676.13C280.901 681.05 255.259 678.525 231.956 668.872C208.653 659.22 188.736 642.874 174.723 621.902C160.709 600.93 153.23 576.273 153.23 551.05C153.23 517.227 166.666 484.789 190.583 460.873C214.499 436.956 246.937 423.52 280.76 423.52Z" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M383.85 241.93C409.073 241.93 433.73 249.41 454.702 263.423C475.674 277.436 492.02 297.353 501.672 320.656C511.325 343.959 513.85 369.601 508.93 394.34C504.009 419.078 491.863 441.802 474.027 459.637C456.192 477.473 433.468 489.619 408.73 494.54C383.991 499.46 358.349 496.935 335.046 487.282C311.743 477.63 291.826 461.284 277.813 440.312C263.799 419.34 256.32 394.683 256.32 369.46C256.32 335.637 269.756 303.199 293.673 279.283C317.589 255.366 350.027 241.93 383.85 241.93Z" data-astro-cid-sz7xmlte></path> <path opacity="0.3" d="M489 61.86C514.222 61.864 538.877 69.3468 559.846 83.3624C580.816 97.378 597.159 117.297 606.808 140.6C616.457 163.904 618.98 189.545 614.057 214.282C609.134 239.019 596.986 261.741 579.15 279.574C561.314 297.408 538.59 309.552 513.853 314.471C489.115 319.39 463.474 316.863 440.172 307.21C416.87 297.557 396.954 281.212 382.941 260.24C368.929 239.268 361.45 214.612 361.45 189.39C361.45 172.641 364.749 156.056 371.16 140.582C377.57 125.108 386.965 111.048 398.81 99.2056C410.654 87.3631 424.715 77.9697 440.19 71.5619C455.665 65.1541 472.251 61.8574 489 61.86Z" data-astro-cid-sz7xmlte></path> </g> </svg> </span> </span> </a> <p class="footer-text" data-astro-cid-sz7xmlte> <span class="footer-line" data-astro-cid-sz7xmlte>
© 2026 Venture Harbour Ltd is a company registered in England and Wales.
</span> <span class="footer-line" data-astro-cid-sz7xmlte>
Registered office: <button type="button" class="copy-chip" data-copy="Lytchett House, 13 Freeland Park, Wareham Road, Poole, Dorset, BH16 6FA" aria-label="Copy registered office" data-astro-cid-gdbtgpey> <span class="copy-chip-text" data-astro-cid-gdbtgpey>Lytchett House, 13 Freeland Park, Wareham Road, Poole, Dorset, BH16 6FA</span> <svg class="copy-chip-icon" viewBox="0 0 24 24" width="12" height="12" aria-hidden="true" data-astro-cid-gdbtgpey> <path fill="currentColor" d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" data-astro-cid-gdbtgpey></path> </svg> <span class="copy-chip-toast" data-state="idle" data-astro-cid-gdbtgpey>Copied</span> </button> .
</span> <span class="footer-line footer-ids" data-astro-cid-sz7xmlte> Company No. <button type="button" class="copy-chip" data-copy="8291791" aria-label="Copy company number" data-astro-cid-gdbtgpey> <span class="copy-chip-text" data-astro-cid-gdbtgpey>8291791</span> <svg class="copy-chip-icon" viewBox="0 0 24 24" width="12" height="12" aria-hidden="true" data-astro-cid-gdbtgpey> <path fill="currentColor" d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" data-astro-cid-gdbtgpey></path> </svg> <span class="copy-chip-toast" data-state="idle" data-astro-cid-gdbtgpey>Copied</span> </button> . <span class="footer-ids-sep" aria-hidden="true" data-astro-cid-sz7xmlte> · </span> VAT No. <button type="button" class="copy-chip" data-copy="290356105" aria-label="Copy VAT number" data-astro-cid-gdbtgpey> <span class="copy-chip-text" data-astro-cid-gdbtgpey>290356105</span> <svg class="copy-chip-icon" viewBox="0 0 24 24" width="12" height="12" aria-hidden="true" data-astro-cid-gdbtgpey> <path fill="currentColor" d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" data-astro-cid-gdbtgpey></path> </svg> <span class="copy-chip-toast" data-state="idle" data-astro-cid-gdbtgpey>Copied</span> </button> . </span> </p> </div> <nav class="footer-nav" aria-label="Site" data-astro-cid-sz7xmlte> <div class="footer-col" data-astro-cid-sz7xmlte> <h3 class="footer-col-title" data-astro-cid-sz7xmlte>Company</h3> <ul data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte><a href="/about/" data-astro-cid-sz7xmlte>About</a></li> <li data-astro-cid-sz7xmlte><a href="/test-lab/" data-astro-cid-sz7xmlte>Partnerships</a></li> <li data-astro-cid-sz7xmlte><a href="/editorial-policy/" data-astro-cid-sz7xmlte>Editorial Policy</a></li> <li data-astro-cid-sz7xmlte><a href="/contact/" data-astro-cid-sz7xmlte>Contact</a></li> <li data-astro-cid-sz7xmlte><a href="/sitemap/" data-astro-cid-sz7xmlte>Sitemap</a></li> </ul> </div> <div class="footer-col" data-astro-cid-sz7xmlte> <h3 class="footer-col-title" data-astro-cid-sz7xmlte>Legal</h3> <ul data-astro-cid-sz7xmlte> <li data-astro-cid-sz7xmlte><a href="/legal/" data-astro-cid-sz7xmlte>Privacy Policy</a></li><li data-astro-cid-sz7xmlte><a href="/our-cookies/" data-astro-cid-sz7xmlte>Cookie Policy</a></li><li data-astro-cid-sz7xmlte><a href="/terms-of-use/" data-astro-cid-sz7xmlte>Terms of Use</a></li> </ul> </div> </nav> </div> </footer> <script type="module">document.addEventListener("click",async c=>{const e=c.target.closest(".copy-chip");if(!e)return;const a=e.dataset.copy;if(!a)return;try{await navigator.clipboard.writeText(a)}catch{const t=document.createElement("textarea");t.value=a,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}const o=e.querySelector(".copy-chip-toast");o&&(o.dataset.state="on",clearTimeout(e._vhTimer),e._vhTimer=setTimeout(()=>{o.dataset.state="idle"},1400))});</script>  <script type="module">for(const t of document.querySelectorAll("[data-code-copy]"))t.dataset.bound!=="1"&&(t.dataset.bound="1",t.addEventListener("click",async()=>{const e=t.closest(".code")?.querySelector("pre"),c=e?.getAttribute("data-code-source")??e?.textContent??"";try{await navigator.clipboard.writeText(c),t.classList.add("copied"),setTimeout(()=>t.classList.remove("copied"),1400)}catch{}}));</script> <script>(function(w,d,i){var boot=function(){var f=d.getElementsByTagName('script')[0],j=d.createElement('script');j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i;f.parentNode.insertBefore(j,f);w.dataLayer=w.dataLayer||[];w.dataLayer.push({'gtm.start':new Date().getTime(),event:'gtm.js'});};(w.requestIdleCallback||function(cb){setTimeout(cb,2000);})(boot);})(window,document,'GTM-MTTJJ6');</script></body></html>