<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Alex Hurst — Photographer, Director &amp; Visual Storyteller | London / Worldwide</title>
<meta name="description" content="Alex Hurst is an award-winning photographer and visual artist crafting cinematic portraits, editorial stories and brand campaigns. Explore portfolio, about, services and journal.">
<meta name="keywords" content="Alex Hurst, photographer London, portrait photographer, editorial photography, visual artist, commercial photography, cinematic portraits">
<meta name="author" content="Alex Hurst">
<meta name="robots" content="index, follow, max-image-preview:large">
<link rel="canonical" href="https://alex-hurst.com/">
<meta property="og:site_name" content="Alex Hurst">
<meta property="og:title" content="Alex Hurst — Photographer, Director &amp; Visual Storyteller | London / Worldwide">
<meta property="og:description" content="Alex Hurst is an award-winning photographer and visual artist crafting cinematic portraits, editorial stories and brand campaigns. Explore portfolio, about, services and journal.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://alex-hurst.com/">
<meta property="og:image" content="/images/b5a008ea8c0c9f50c4f11e8fdcaf04cd.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Alex Hurst — Photographer, Director &amp; Visual Storyteller | London / Worldwide">
<meta name="twitter:description" content="Alex Hurst is an award-winning photographer and visual artist crafting cinematic portraits, editorial stories and brand campaigns. Explore portfolio, about, services and journal.">
<meta name="twitter:image" content="/images/b5a008ea8c0c9f50c4f11e8fdcaf04cd.jpg">
<meta name="theme-color" content="#0a0a0b">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='20' fill='%230a0a0b'/%3E%3Ctext x='50' y='68' font-size='58' text-anchor='middle' fill='%23e8ff47' font-family='Arial Black'%3EA%3C/text%3E%3C/svg%3E">
<script type="application/ld+json">
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://alex-hurst.com/#organization","name":"Alex Hurst Studio","url":"https://alex-hurst.com/","logo":"/images/55bf821094694fc25d90ff56d4b7be5d.jpg","sameAs":[],"founder":{"@type":"Person","name":"Alex Hurst"}},{"@type":"WebSite","name":"Alex Hurst — Photographer","url":"https://alex-hurst.com/","inLanguage":"en"},{"@type":"ProfessionalService","name":"Alex Hurst Photography","image":"/images/872d82873a7c34b95f0e2e259f9e96ca.jpg","priceRange":"$$$","address":{"@type":"PostalAddress","addressLocality":"London","addressCountry":"GB"},"description":"Cinematic portrait, editorial and commercial photography by Alex Hurst."}]}
</script>
<style>
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0a0a0b;--bg2:#111113;--lime:#e8ff47;--paper:#f4f1ea;--mut:#9a9aa3;--line:rgba(255,255,255,.12);--card:#161619}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--paper);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--lime);color:#000}
.cursor{position:fixed;width:18px;height:18px;border-radius:50%;background:var(--lime);mix-blend-mode:difference;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s}
.cursor.big{width:90px;height:90px}
.cursor span{opacity:0;font-size:11px;font-weight:800;letter-spacing:.1em;color:#000;position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cursor.big span{opacity:1}
#loader{position:fixed;inset:0;background:#000;z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;transition:transform .9s cubic-bezier(.87,0,.13,1)}
#loader.done{transform:translateY(-100%)}
#loader h1{font-size:clamp(40px,9vw,120px);font-weight:900;letter-spacing:-.04em;line-height:.9}
#loader h1 i{font-style:normal;color:var(--lime)}
.bar{width:min(420px,70vw);height:2px;background:#222;overflow:hidden;border-radius:99px}
.bar b{display:block;height:100%;width:0;background:var(--lime)}
.top{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;backdrop-filter:blur(14px);background:rgba(10,10,11,.62);border-bottom:1px solid var(--line)}
.logo{font-weight:900;letter-spacing:-.02em;font-size:20px}.logo em{font-style:normal;background:var(--lime);color:#000;padding:2px 8px;border-radius:99px;margin-left:6px;font-size:12px;vertical-align:middle}
.nav{display:flex;gap:26px;font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.nav a{opacity:.7;transition:.25s}.nav a:hover{opacity:1;color:var(--lime)}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:#000;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px;padding:14px 24px;border-radius:99px;border:0;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 40px rgba(232,255,71,.35)}
.btn.ghost{background:transparent;color:var(--paper);border:1px solid var(--line)}
.hero{min-height:100vh;padding:140px 28px 40px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.42;filter:grayscale(20%) contrast(1.1)}
.hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 20%,transparent, #0a0a0b 85%),linear-gradient(180deg,rgba(10,10,11,.2),#0a0a0b 92%)}
.kicker{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--lime);margin-bottom:18px}
.kicker:before{content:"";width:42px;height:1px;background:var(--lime)}
.h-giant{font-size:clamp(52px,12.5vw,180px);line-height:.85;font-weight:900;letter-spacing:-.05em;text-transform:uppercase}
.h-giant .outline{color:transparent;-webkit-text-stroke:2px var(--paper)}
.h-giant .lime{color:var(--lime)}
.hero-sub{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;margin-top:28px;align-items:end}
.hero-sub p{max-width:560px;color:#d6d6d6;font-size:18px}
.meta-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;background:var(--lime);color:#000;padding:12px 0;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.marquee div{display:inline-block;animation:mq 18s linear infinite;font-size:18px}
@keyframes mq{to{transform:translateX(-50%)}}
section{padding:110px 28px;max-width:1320px;margin:0 auto}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--lime);margin-bottom:14px}
h2{font-size:clamp(34px,5.5vw,72px);line-height:.95;letter-spacing:-.04em;font-weight:900;text-transform:uppercase;margin-bottom:20px}
h2 span{color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.lead{color:#c9c9c9;max-width:720px;font-size:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.35s}
.card:hover{transform:translateY(-6px);border-color:rgba(232,255,71,.5)}
.card img{height:320px;width:100%;object-fit:cover;transition:.6s}
.card:hover img{scale:1.05}
.card .pad{padding:24px}
.tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:#222;border:1px solid var(--line);padding:6px 12px;border-radius:99px;color:var(--lime);display:inline-block;margin-bottom:12px}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.portrait{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line)}
.portrait img{height:640px;width:100%;object-fit:cover}
.portrait .badge{position:absolute;left:16px;bottom:16px;background:var(--lime);color:#000;font-weight:900;padding:10px 16px;border-radius:14px;font-size:13px;text-transform:uppercase}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.stat{background:#0f0f12;border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center}
.stat b{font-size:36px;display:block;color:var(--lime);letter-spacing:-.04em}
.stat small{text-transform:uppercase;letter-spacing:.14em;color:var(--mut);font-size:11px}
.list{border-top:1px solid var(--line);margin-top:20px}
.row{display:flex;justify-content:space-between;align-items:center;padding:20px 6px;border-bottom:1px solid var(--line);gap:16px}
.row:hover{background:rgba(232,255,71,.06)}
.row b{font-size:20px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.work{border-radius:20px;overflow:hidden;position:relative;min-height:460px;display:flex;align-items:flex-end;background:#111}
.work img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s}
.work:hover img{scale:1.07;filter:saturate(1.2)}
.work .info{position:relative;z-index:2;padding:20px;background:linear-gradient(transparent,rgba(0,0,0,.85));width:100%}
.work .info h3{font-size:22px;letter-spacing:-.02em}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.svc{background:var(--paper);color:#0a0a0b;border-radius:22px;padding:28px;transition:.3s}
.svc:nth-child(2){background:var(--lime)} .svc:nth-child(3){background:#1a1a1e;color:var(--paper);border:1px solid var(--line)}
.svc h3{font-size:24px;margin:14px 0 10px;letter-spacing:-.02em}
.svc p{font-size:15px;opacity:.8}
.svc .num{font-weight:900;font-size:13px;letter-spacing:.2em;opacity:.6}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.ncard{background:#101014;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.ncard img{height:210px;object-fit:cover;width:100%}
.ncard .pad{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.ncard h3{font-size:19px;line-height:1.25;letter-spacing:-.01em}
.ncard time{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.ncard p{font-size:14px;color:#bdbdc5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.more{margin-top:10px;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.more:after{content:" →"}
.timeline{margin-top:30px;display:grid;gap:0;border-left:2px solid var(--lime);padding-left:26px}
.tl{position:relative;padding:0 0 28px}
.tl:before{content:"";position:absolute;left:-35px;top:4px;width:14px;height:14px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 6px rgba(232,255,71,.18)}
.contact-box{background:linear-gradient(135deg,#e8ff47,#c8ff8a);color:#000;border-radius:28px;padding:48px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.contact-box h2{color:#000}.contact-box h2 span{-webkit-text-stroke:1.5px #000}
footer{border-top:1px solid var(--line);padding:40px 28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--mut);font-size:13px;max-width:1320px;margin:0 auto}
.reveal{opacity:0;transform:translateY(36px);transition:.8s cubic-bezier(.16,1,.3,1)}
.reveal.vis{opacity:1;transform:none}
.article-wrap{max-width:860px;margin:0 auto;padding:150px 24px 60px}
.article-hero{border-radius:24px;overflow:hidden;border:1px solid var(--line);margin:24px 0}
.article-hero img{width:100%;height:420px;object-fit:cover}
.article-body{font-size:19px;line-height:1.8;color:#e9e9e9}
.article-body h2,.article-body h3{margin:28px 0 12px;color:#fff;text-transform:none;letter-spacing:-.02em}
.article-body p{margin:16px 0}
.article-body img{border-radius:16px;margin:18px 0;max-width:100%}
.article-body a{color:var(--lime);text-decoration:underline}
.crumb{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.crumb a{color:var(--lime)}
@media(max-width:980px){.grid2,.about,.hero-sub,.services,.work-grid,.news-grid,.contact-box{grid-template-columns:1fr}.nav{display:none}.work{min-height:380px}.stats{grid-template-columns:1fr 1fr}.cursor{display:none}}
</style>
</head>
<body>
<div class="cursor" id="cursor"><span>VIEW</span></div>
<div id="loader"><h1>ALEX <i>HURST</i></h1><div class="bar"><b id="barfill"></b></div><div style="font-size:12px;letter-spacing:.3em;color:#888">LOADING PORTFOLIO — 2026</div></div>
<header class="top">
<a class="logo" href="/">ALEX HURST <em>STUDIO ©26</em></a>
<nav class="nav">
<a href="/#about">About</a>
<a href="/#work">Work</a>
<a href="/#services">Services</a>
<a href="/#news">Journal</a>
<a href="/#contact">Contact</a>
</nav>
<a class="btn" href="/#contact">Book Shoot</a>
</header>


<main>
<div class="hero">
<div class="hero-bg"><img src="/images/acac376e67071d5492635e38441cf592.jpg" alt="Alex Hurst cinematic portrait photography"></div>
<div class="kicker">London — Worldwide • Est. 2013 • Available for Q4 2026</div>
<h1 class="h-giant">Alex<br><span class="outline">Hurst</span> <span class="lime">®</span></h1>
<div class="hero-sub">
<p><strong style="color:var(--lime)">Photographer, director & visual storyteller.</strong> I create raw, cinematic images that make people feel something — portraits with soul, editorials with edge, campaigns that stop the scroll.</p>
<div>
<div class="meta-row"><span>★ 12 yrs experience</span><span>★ 340+ shoots</span><span>★ 18 awards</span></div>
<div style="margin-top:18px;display:flex;gap:12px;flex-wrap:wrap"><a class="btn" href="/#work">View selected work</a><a class="btn ghost" href="/#about">About Alex</a></div>
</div>
</div>
</div>

<div class="marquee"><div>PORTRAITS • EDITORIAL • COMMERCIAL • MUSIC • FASHION • DOCUMENTARY • PORTRAITS • EDITORIAL • COMMERCIAL • MUSIC • FASHION • DOCUMENTARY •&nbsp;</div></div>

<section id="about">
<div class="eyebrow">01 — About the artist</div>
<h2>Not just photos.<br><span>Visual memory</span> that lasts.</h2>
<p class="lead">I'm Alex Hurst — a London-based photographer obsessed with honest light, real emotion and bold composition. My work lives between art and commerce: gallery walls and magazine covers, billboards and intimate zines.</p>
<div class="about" style="margin-top:36px">
<div class="portrait reveal"><img src="/images/3ae9e6b93af00fe0f05f4df8715b4382.jpg" alt="Alex Hurst photographer portrait in studio"><div class="badge">Alex Hurst • b. 1989, London</div></div>
<div class="reveal">
<p style="font-size:20px;line-height:1.7">For over a decade I've photographed musicians, founders, athletes and everyday rebels. My style? <em style="color:var(--lime);font-style:normal;font-weight:800">Cinematic, tactile, human.</em> No stiff poses. No fake smiles. Just presence.</p>
<p style="color:#bbb;margin-top:16px">Started with a second-hand Canon in Shoreditch, now shooting for global fashion houses, record labels and tech brands. Featured in contemporary photography showcases, exhibited in London, Berlin and New York. When I'm not on set, I'm teaching workshops, printing in the darkroom, or chasing North Sea light with medium format film.</p>
<div class="stats">
<div class="stat"><b data-count="340">0</b><small>Shoots done</small></div>
<div class="stat"><b data-count="96">0</b><small>Happy brands</small></div>
<div class="stat"><b data-count="18">0</b><small>Awards</small></div>
</div>
<div class="list">
<div class="row"><b>Based in</b><span>Hackney Wick, London — travels worldwide</span></div>
<div class="row"><b>Speciality</b><span>Portrait / Editorial / Commercial / Music</span></div>
<div class="row"><b>Gear & Craft</b><span>Digital + Medium Format Film, natural & strobe</span></div>
<div class="row"><b>Recognition</b><span>Portrait of Britain, AOP Awards, Creative Review</span></div>
</div>
<div style="margin-top:22px;display:flex;gap:12px;flex-wrap:wrap"><a class="btn" href="/#contact">Let's collaborate</a><a class="btn ghost" href="/#news">Read journal</a></div>
</div>
</div>
<div class="grid2" style="margin-top:28px">
<div class="card reveal"><img src="/images/a1efdcef2487334e515c9ae26b9b9387.jpg" alt="Woman with camera - documentary approach"><div class="pad"><span class="tag">Philosophy</span><h3>Real people, real light</h3><p style="color:#bbb;font-size:15px">I direct with calm energy. 80% connection, 20% technique. That’s why subjects forget the camera and reveal who they really are.</p></div></div>
<div class="card reveal"><img src="/images/a292dd1ade50c34e98d44e553897fb05.jpg" alt="Photographer working on set"><div class="pad"><span class="tag">On set</span><h3>Fast, kind, precise</h3><p style="color:#bbb;font-size:15px">Agencies love me because I deliver: pre-production, casting, moodboards, lighting plans, same-week selects and retouch-ready files.</p></div></div>
</div>
</section>

<section id="work" style="max-width:100%;background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)">
<div style="max-width:1320px;margin:0 auto">
<div class="eyebrow">02 — Selected work 2023-2026</div>
<h2>Work that <span>speaks louder</span></h2>
<p class="lead">A slice of recent commissions and personal series. Every project starts with a conversation and ends with images that work hard across print, OOH and social.</p>
<div class="work-grid">
<div class="work reveal"><img src="/images/71cb417dd461473731f39162cb85a65f.jpg" alt="Fashion editorial portrait woman"><div class="info"><span class="tag">Editorial</span><h3>Velvet Static — Fashion Story</h3><p style="font-size:13px;color:#ccc">Shot on 120 film, Hackney studio</p></div></div>
<div class="work reveal"><img src="/images/bb3c67b179b1a324b7a81c19fc0a4417.jpg" alt="Moody male portrait"><div class="info"><span class="tag">Portrait</span><h3>Faces of the City — Series</h3><p style="font-size:13px;color:#ccc">42 strangers, one light, London</p></div></div>
<div class="work reveal"><img src="/images/d3758ab5b3d444d62f6546277148744b.jpg" alt="Musician on stage lights"><div class="info"><span class="tag">Music</span><h3>On Tour — Live & Backstage</h3><p style="font-size:13px;color:#ccc">UK tour documentary, 2025</p></div></div>
<div class="work reveal"><img src="/images/66759cf2c09d4bab5a999a1626b270e1.jpg" alt="Beauty commercial portrait"><div class="info"><span class="tag">Commercial</span><h3>Skin First — Beauty Campaign</h3><p style="font-size:13px;color:#ccc">Skincare brand, global launch</p></div></div>
<div class="work reveal"><img src="/images/231b1fe7ab8c6b379b9189a75420514e.jpg" alt="Analog film camera flatlay"><div class="info"><span class="tag">Personal</span><h3>Grain & Salt — Coastal Zine</h3><p style="font-size:13px;color:#ccc">Self-published, sold out 500 copies</p></div></div>
<div class="work reveal"><img src="/images/93ff37dee0bd205ed7556d9216313777.jpg" alt="Natural light female portrait"><div class="info"><span class="tag">Portrait</span><h3>Morning Light — Founder Series</h3><p style="font-size:13px;color:#ccc">Tech founders, natural light only</p></div></div>
</div>
</div>
</section>

<section id="services">
<div class="eyebrow">03 — Services</div>
<h2>What I can do <span>for you</span></h2>
<p class="lead">From one-hour headshots to full-scale productions. Transparent pricing, clear timelines, images you’ll actually use.</p>
<div class="services">
<div class="svc reveal"><div class="num">/ 01</div><h3>Portrait Sessions</h3><p>Actors, founders, creatives, families. 1-2h, 2 looks, guided posing, 25 retouched images. Studio or location. From £450.</p><div style="margin-top:16px"><a class="btn" style="background:#000;color:#fff" href="/#contact">Book portrait</a></div></div>
<div class="svc reveal"><div class="num">/ 02</div><h3>Editorial & Fashion</h3><p>Magazines, lookbooks, designers. Concept, casting, crew, art direction. Film + digital. Day rate with full buyout options.</p><div style="margin-top:16px"><a class="btn" style="background:#000;color:#fff" href="/#contact">Start project</a></div></div>
<div class="svc reveal"><div class="num">/ 03</div><h3>Brands & Commercial</h3><p>Campaigns, social libraries, employer branding. Strategy-first shoots that convert. Licensing, OOH-ready delivery, fast turnaround.</p><div style="margin-top:16px"><a class="btn" href="/#contact">Get quote</a></div></div>
</div>
<div class="timeline reveal">
<div class="tl"><b>01 Discovery call — 20 min, free.</b><br><span style="color:#aaa">We align on vibe, usage, dates and budget. Moodboard within 48h.</span></div>
<div class="tl"><b>02 Pre-production — casting, location, light plan.</b><br><span style="color:#aaa">You approve everything. No surprises on shoot day.</span></div>
<div class="tl"><b>03 Shoot day — calm, fun, efficient.</b><br><span style="color:#aaa">Same-day previews. Tethered, directed, on schedule.</span></div>
<div class="tl"><b>04 Delivery — selects in 48h, finals in 7 days.</b><br><span style="color:#aaa">Color-graded, retouched, sized for print + digital + social.</span></div>
</div>
</section>

<section id="news" style="background:#0e0e11;border-top:1px solid var(--line);max-width:100%">
<div style="max-width:1320px;margin:0 auto">
<div class="eyebrow">04 — Journal / News</div>
<h2>Latest <span>stories & notes</span></h2>
<p class="lead">Behind the scenes, lighting breakdowns, travel diaries and thoughts on photography. Updated monthly from the studio.</p>
<div class="news-grid">
<article class="ncard reveal">
<img src="/images/3a0737f5c36d3ff0a7f26dcd09c43f3f.jpg" alt="Teste Iptv Gratis 2026" loading="lazy">
<div class="pad"><time datetime="2026-10-02 15:49:29">Oct 02, 2026</time><h3>Teste Iptv Gratis 2026</h3><p>



IPTV for Live Sports in the USA: The Cord-Cutter&#039;s Guide to Streaming Every Match in 4K

If you run a modern househo...</p><a class="more" href="/teste-iptv-gratis-2026">Read story</a></div>
</article>
<article class="ncard reveal">
<img src="/images/81fc2d8ed9c08349dea394d176de227d.jpg" alt="Iptv" loading="lazy">
<div class="pad"><time datetime="2026-09-28 19:12:29">Sep 28, 2026</time><h3>Iptv</h3><p>



IPTV and the Connected Lifestyle: How Smart Streaming Is Rewriting the Rules of Television

If you follow alex-hurst...</p><a class="more" href="/iptv">Read story</a></div>
</article>
</div>
</div>
</section>

<section id="contact">
<div class="eyebrow">05 — Contact</div>
<h2>Let's make <span>something real</span></h2>
<div class="contact-box reveal" style="margin-top:26px">
<div>
<h2>Have an idea? <span>Tell me.</span></h2>
<p style="margin:14px 0;font-weight:600">Currently booking: October — December 2026. Editorial, commercial and 1:1 portraits in London + travel worldwide.</p>
<ul style="list-style:none;display:grid;gap:10px;margin-top:16px;font-weight:700">
<li>✦ Studio: Hackney Wick, London E9</li>
<li>✦ Email via form — reply within 24h</li>
<li>✦ Response rate 100% • No spam, ever</li>
</ul>
</div>
<form method="get" action="/#contact" onsubmit="return false;" style="background:#000;color:#fff;border-radius:18px;padding:26px;display:grid;gap:12px">
<label style="font-size:12px;letter-spacing:.14em;text-transform:uppercase">Your name<input required style="margin-top:6px;width:100%;padding:12px;border-radius:10px;border:1px solid #333;background:#111;color:#fff" placeholder="Jane Doe"></label>
<label style="font-size:12px;letter-spacing:.14em;text-transform:uppercase">Email<input required type="email" style="margin-top:6px;width:100%;padding:12px;border-radius:10px;border:1px solid #333;background:#111;color:#fff" placeholder="you@mail.com"></label>
<label style="font-size:12px;letter-spacing:.14em;text-transform:uppercase">Project details<textarea rows="4" style="margin-top:6px;width:100%;padding:12px;border-radius:10px;border:1px solid #333;background:#111;color:#fff" placeholder="Tell me about dates, location, vibe..."></textarea></label>
<button class="btn" type="submit" onclick="this.textContent='Message noted — I reply in 24h ✓'">Send inquiry →</button>
<p style="font-size:12px;color:#888">By sending you agree to be contacted about your project. No newsletters.</p>
</form>
</div>
</section>
</main>

<footer>
<div><b style="color:#fff">ALEX HURST © 2026</b><br>Photographer & Visual Artist — London / Worldwide<br><span>Portrait • Editorial • Commercial • Film + Digital</span></div>
<div style="display:flex;gap:18px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.12em;font-size:12px">
<a href="/#about">About</a><a href="/#work">Work</a><a href="/#services">Services</a><a href="/#news">Journal</a><a href="/#contact">Contact</a><a href="/">Home</a>
</div>
<div>Hackney Wick, London<br>Available worldwide • 2026</div>
</footer>
<script>
let p=0,iv=setInterval(()=>{p+=Math.random()*22;if(p>=100){p=100;clearInterval(iv);setTimeout(()=>document.getElementById('loader').classList.add('done'),350)}document.getElementById('barfill').style.width=p+'%'},180);
const cur=document.getElementById('cursor');
document.addEventListener('mousemove',e=>{cur.style.left=e.clientX+'px';cur.style.top=e.clientY+'px'});
document.querySelectorAll('a,.btn,.work,.card').forEach(el=>{el.addEventListener('mouseenter',()=>cur.classList.add('big'));el.addEventListener('mouseleave',()=>cur.classList.remove('big'))});
const io=new IntersectionObserver(es=>es.forEach(e=>{if(e.isIntersecting)e.target.classList.add('vis')}),{threshold:.12});
document.querySelectorAll('.reveal').forEach(el=>io.observe(el));
const counters=document.querySelectorAll('[data-count]');
const cio=new IntersectionObserver(es=>es.forEach(e=>{if(!e.isIntersecting)return;let el=e.target,end=+el.dataset.count,t=0;let tmr=setInterval(()=>{t+=Math.ceil(end/40);if(t>=end){t=end;clearInterval(tmr)}el.textContent=t+'+'},40);cio.unobserve(el)}));
counters.forEach(c=>cio.observe(c));
</script>
</body>
</html>