.jw-home:where(.astro-j7pv25f6){max-width:min(64em,calc(100% - 3em));margin:0 auto}.jw-hero:where(.astro-j7pv25f6){padding:4em 0 3.25em;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,20em);gap:3em;align-items:center}.jw-hero-portrait:where(.astro-j7pv25f6){justify-self:end;width:100%}.jw-hero-portrait:where(.astro-j7pv25f6) img:where(.astro-j7pv25f6){display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1px var(--border-subtle),0 0 0 10px #c4744914}@media(max-width:820px){.jw-hero:where(.astro-j7pv25f6){grid-template-columns:1fr;gap:2.25em;padding-top:3em}.jw-hero-portrait:where(.astro-j7pv25f6){justify-self:start;max-width:15em}}.jw-hero:where(.astro-j7pv25f6) h1:where(.astro-j7pv25f6){font-size:clamp(2.1em,5.6vw,3.3em);font-weight:800;line-height:1.05;letter-spacing:-.5px;margin:0 0 .5em;max-width:15em;text-wrap:balance;color:var(--text-primary)}.jw-kicker:where(.astro-j7pv25f6){font-size:.6875em;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--text-faint);margin:0 0 1.4em}.jw-sub:where(.astro-j7pv25f6){font-size:clamp(1.15em,2.6vw,1.45em);font-weight:600;line-height:1.35;letter-spacing:-.2px;color:var(--text-primary);margin:0 0 .7em;max-width:22em}.jw-lede:where(.astro-j7pv25f6){font-size:1.0625em;line-height:1.65;color:var(--text-muted);margin:0 0 1.6em;max-width:32em}.jw-ctas:where(.astro-j7pv25f6){display:flex;gap:.6em;flex-wrap:wrap}.jw-cta:where(.astro-j7pv25f6){display:inline-flex;align-items:center;padding:.68em 1.3em;border-radius:4px;font-size:.9375em;font-weight:700;text-decoration:none}.jw-cta--solid:where(.astro-j7pv25f6){background:var(--accent-cta);color:var(--cta-text)}.jw-cta--solid:where(.astro-j7pv25f6):hover{background:var(--accent-season)}.jw-cta--ghost:where(.astro-j7pv25f6){border:1px solid var(--border-subtle);color:var(--text-primary)}.jw-cta--ghost:where(.astro-j7pv25f6):hover{border-color:var(--text-faint)}.jw-lane-tag:where(.astro-j7pv25f6){display:flex;align-items:center;gap:.65em;font-size:.6875em;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin:0 0 1em}.jw-lane-tag:where(.astro-j7pv25f6):before{content:"";display:block;width:1.8em;height:2px;background:currentColor}.jw-lane-link:where(.astro-j7pv25f6){font-size:.875em;font-weight:700;text-decoration:none}.jw-sec:where(.astro-j7pv25f6){padding:3em 0}.jw-sec--tight:where(.astro-j7pv25f6){padding-top:1em;padding-bottom:1em}.jw-sec--last:where(.astro-j7pv25f6){padding-top:1em;padding-bottom:4em}.jw-proof:where(.astro-j7pv25f6){display:grid;grid-template-columns:repeat(4,1fr);gap:1.5em 2em;margin:0}@media(max-width:700px){.jw-proof:where(.astro-j7pv25f6){grid-template-columns:repeat(2,1fr)}}.jw-proof-item:where(.astro-j7pv25f6){display:flex;flex-direction:column;gap:.25em}.jw-proof-n:where(.astro-j7pv25f6){font-size:1.75em;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}.jw-proof-l:where(.astro-j7pv25f6){font-size:.6875em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-faint)}.jw-wide:where(.astro-j7pv25f6){width:min(1450px,calc(100vw - 1em));margin-left:calc((100% - min(1450px,calc(100vw - 1em)))/2)}.featured-in:where(.astro-j7pv25f6).featured-in--standalone{border-top:0;padding-top:0}.featured-in:where(.astro-j7pv25f6){padding-top:1.6em;border-top:1px solid var(--border-subtle)}.featured-in-inner:where(.astro-j7pv25f6){display:flex;align-items:center;justify-content:space-between;gap:1.5em 2.5em;flex-wrap:wrap}.fi-logo:where(.astro-j7pv25f6){display:inline-block;flex-shrink:0;background-color:var(--text-muted, rgba(232,228,220,.5));-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain;transition:background-color .2s ease}.featured-in-inner:where(.astro-j7pv25f6):hover .fi-logo:where(.astro-j7pv25f6){background-color:var(--text-faint, rgba(232,228,220,.35))}.featured-in-inner:where(.astro-j7pv25f6) .fi-logo:where(.astro-j7pv25f6):hover{background-color:var(--text-primary)}.fi-logo-neil-patel:where(.astro-j7pv25f6){width:8.75em;height:1em;-webkit-mask-image:url(/images/featured-in/neil-patel.svg);mask-image:url(/images/featured-in/neil-patel.svg)}.fi-logo-dmi:where(.astro-j7pv25f6){width:6em;height:3.5em;-webkit-mask-image:url(/images/featured-in/dmi.svg);mask-image:url(/images/featured-in/dmi.svg)}.fi-logo-royal-holloway:where(.astro-j7pv25f6){width:5.32em;height:3.5em;-webkit-mask-image:url(/images/featured-in/royal-holloway.svg);mask-image:url(/images/featured-in/royal-holloway.svg)}.fi-logo-se-ranking:where(.astro-j7pv25f6){width:7em;height:1.4em;-webkit-mask-image:url(/images/featured-in/se-ranking.svg);mask-image:url(/images/featured-in/se-ranking.svg)}.fi-label:where(.astro-j7pv25f6){font-size:1em;font-weight:600;color:var(--text-muted);margin:0;white-space:nowrap}@media(max-width:700px){.featured-in-inner:where(.astro-j7pv25f6){justify-content:center;gap:1.2em 2em}.fi-label:where(.astro-j7pv25f6){order:-1;width:100%;text-align:center}}.jw-logos:where(.astro-j7pv25f6){display:flex;flex-wrap:wrap;gap:.6em 2em;padding-top:1.4em;border-top:1px solid var(--border-subtle);font-size:.9375em;color:var(--text-faint)}.v3:where(.astro-j7pv25f6) .jw-sub:where(.astro-j7pv25f6){font-size:clamp(1.3em,3.2vw,1.75em);max-width:21em}.v3-timeline:where(.astro-j7pv25f6){margin-top:1.4em}.v3-tl-row:where(.astro-j7pv25f6){display:grid;grid-template-columns:7.5em 1fr;gap:1.5em;padding:.8em 0;border-top:1px solid var(--border-subtle);align-items:baseline}.v3-tl-row:where(.astro-j7pv25f6):last-child{border-bottom:1px solid var(--border-subtle)}.v3-tl-row:where(.astro-j7pv25f6) dt:where(.astro-j7pv25f6){font-size:.8125em;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-headline);font-variant-numeric:tabular-nums}.v3-tl-row:where(.astro-j7pv25f6) dd:where(.astro-j7pv25f6){margin:0;font-size:.9375em;line-height:1.55;color:var(--text-muted)}.v3-cards:where(.astro-j7pv25f6){display:grid;grid-template-columns:1fr 1fr;gap:1.5em}.v3-card:where(.astro-j7pv25f6){border:1px solid var(--border-subtle);border-radius:10px;padding:1.8em 1.7em 2em;transition:border-color .18s ease}.v3-card:where(.astro-j7pv25f6):hover{border-color:var(--accent-cta)}.v3-card:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){font-size:1.3em;font-weight:800;letter-spacing:-.3px;margin:.5em 0;color:var(--text-primary)}.v3-card:where(.astro-j7pv25f6)>p:where(.astro-j7pv25f6){font-size:.9375em;line-height:1.6;color:var(--text-muted);margin:0 0 1.1em}.v3-card:where(.astro-j7pv25f6) ul:where(.astro-j7pv25f6){list-style:none;padding:0;margin:0 0 1.2em}.v3-card:where(.astro-j7pv25f6) li:where(.astro-j7pv25f6){position:relative;padding-left:1.1em;margin:0 0 .55em;font-size:.9375em;line-height:1.5;color:var(--text-muted)}.v3-card:where(.astro-j7pv25f6) li:where(.astro-j7pv25f6):before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px}.v3-card--seo:where(.astro-j7pv25f6) li:where(.astro-j7pv25f6):before{background:var(--accent-headline)}.v3-card--ai:where(.astro-j7pv25f6) li:where(.astro-j7pv25f6):before{background:var(--accent-cta)}.v3-band:where(.astro-j7pv25f6){background:var(--sidebar-bg);border:1px solid var(--border-subtle);border-radius:12px;padding:2.4em 2.2em 2.5em}.v3-band:where(.astro-j7pv25f6) h2:where(.astro-j7pv25f6){font-size:clamp(1.35em,3vw,1.8em);font-weight:800;letter-spacing:-.4px;margin:0 0 .6em;color:var(--text-primary)}.v3-band:where(.astro-j7pv25f6) p:where(.astro-j7pv25f6){font-size:.9765em;line-height:1.65;color:var(--text-muted);margin:0 0 .9em;max-width:46em}.v3-band:where(.astro-j7pv25f6) p:where(.astro-j7pv25f6):last-child{margin-bottom:0}.v3-band:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--accent-headline);text-decoration:none;font-weight:600}@media(max-width:700px){.v3-cards:where(.astro-j7pv25f6){grid-template-columns:1fr}.v3-tl-row:where(.astro-j7pv25f6){grid-template-columns:1fr;gap:.2em}}.jw-sec:where(.astro-j7pv25f6) h2:where(.astro-j7pv25f6).jw-h2{font-size:clamp(1.4em,3.2vw,1.9em);font-weight:800;letter-spacing:-.5px;margin:0 0 .5em;color:var(--text-primary)}
