<html lang="en">
    <head>
        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta charSet="utf-8">
        <meta content="width=device-width, initial-scale=1" name="viewport">
        <link as="image" imageSizes="100vw" imageSrcSet="/_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=3840&amp;q=75 3840w" rel="preload">
        <link data-precedence="next" href="/_next/static/chunks/0g-832s3pun7..css" rel="stylesheet">
        <link as="script" fetchPriority="low" href="/_next/static/chunks/0nyh9yrgyss3m.js" rel="preload">
        <script async="" src="/_next/static/chunks/0dgq26a5_oy.a.js"></script><script async="" src="/_next/static/chunks/0257pdz1-imal.js"></script><script async="" src="/_next/static/chunks/0wj8l4fwydekq.js"></script><script async="" src="/_next/static/chunks/turbopack-15c83ikgw9fdg.js"></script><script async="" src="/_next/static/chunks/0078g-gle9vth.js"></script><script async="" src="/_next/static/chunks/01xlw8hd842-c.js"></script><script async="" src="/_next/static/chunks/0d3shmwh5_nmn.js"></script><script async="" src="/_next/static/chunks/16joj-w8x5b8c.js"></script>
        <link as="script" href="https://www.googletagmanager.com/gtag/js?id=G-CYXK8W1JKV" rel="preload">
        <title>Rob Gray | Ultraman World Champion &amp; Endurance Coach</title>
        <meta content="Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion and head coach at enza.team." name="description">
        <link href="https://robgray.org" rel="canonical">
        <link href="https://robgray.org/feed" rel="alternate" type="application/rss+xml">
        <meta content="Rob Gray | Ultraman World Champion &amp; Endurance Coach" property="og:title">
        <meta content="Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion." property="og:description">
        <meta content="https://robgray.org" property="og:url">
        <meta content="Rob Gray" property="og:site_name">
        <meta content="en_US" property="og:locale">
        <meta content="https://robgray.org/opengraph-image?fff2d4f9db7ac0f5" property="og:image">
        <meta content="image/png" property="og:image:type">
        <meta content="1200" property="og:image:width">
        <meta content="630" property="og:image:height">
        <meta content="Rob Gray &mdash; Ultraman World Champion &amp; Endurance Coach" property="og:image:alt">
        <meta content="website" property="og:type">
        <meta content="summary_large_image" name="twitter:card">
        <meta content="Rob Gray | Ultraman World Champion &amp; Endurance Coach" name="twitter:title">
        <meta content="Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion." name="twitter:description">
        <meta content="https://robgray.org/opengraph-image?fff2d4f9db7ac0f5" name="twitter:image">
        <meta content="Rob Gray &mdash; Ultraman World Champion &amp; Endurance Coach" name="twitter:image:alt">
        <meta content="image/png" name="twitter:image:type">
        <meta content="1200" name="twitter:image:width">
        <meta content="630" name="twitter:image:height">
        <link href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" rel="icon" sizes="256x256" type="image/x-icon">
        <script noModule="" src="/_next/static/chunks/03~yq9q893hmn.js"></script>
    </head>
    <body class="min-h-screen flex flex-col antialiased">
        <div hidden="">
            <!--$-->
            <!--/$-->
        </div>
        <nav class="sticky top-0 z-50 bg-surface border-b border-border-light">
            <div class="mx-auto max-w-6xl px-6">
                <div class="flex h-16 items-center justify-between">
                    <a class="flex items-center gap-3 group" href="/">
                        <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="none" height="20" viewBox="0 0 28 20" width="28">
                            <rect class="fill-racing-green" height="3" rx="1" width="22" x="0" y="0"></rect>
                            <rect fill="#CCCCCC" height="3" rx="1" width="16" x="3" y="8.5"></rect>
                            <rect fill="#CCCCCC" height="3" rx="1" width="19" x="0" y="17"></rect>
                        </svg>
                        <span class="text-sm font-semibold tracking-tight text-ink" xmlns="">Rob Gray</span></a>
                    <div class="hidden md:flex items-center gap-1">
                        <a class="px-4 py-2 text-sm font-medium text-ink-muted hover:text-ink hover-elevate rounded-[var(--radius)] transition-colors" href="/races">Races</a><a class="px-4 py-2 text-sm font-medium text-ink-muted hover:text-ink hover-elevate rounded-[var(--radius)] transition-colors" href="/blog">Blog</a><a class="px-4 py-2 text-sm font-medium text-ink-muted hover:text-ink hover-elevate rounded-[var(--radius)] transition-colors" href="/about">About</a><a class="px-4 py-2 text-sm font-medium text-ink-muted hover:text-ink hover-elevate rounded-[var(--radius)] transition-colors" href="/coaching">Coaching</a><a class="ml-4 px-4 py-2 text-sm font-medium bg-racing-green text-white rounded-[var(--radius)] hover:opacity-90 transition-opacity" href="/coaching">Train with me</a>
                    </div>
                    <button aria-label="Toggle menu" class="md:hidden p-2 text-ink-muted hover:text-ink">
                        <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="lucide lucide-menu h-5 w-5" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24">
                            <path d="M4 5h16"></path>
                            <path d="M4 12h16"></path>
                            <path d="M4 19h16"></path>
                        </svg>
                    </button>
                </div>
            </div>
        </nav>
        <main class="flex-1" xmlns="">
            <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Rob Gray","url":"https://robgray.org","description":"Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion and head coach at enza.team.","author":{"@type":"Person","name":"Rob Gray","url":"https://robgray.org","jobTitle":"Endurance Coach","description":"Ultraman World Champion, Ironman sub-9 athlete, Guinness World Record holder, and head coach at enza.team.","sameAs":["https://enza.team","https://www.guinnessworldrecords.com/world-records/longest-distance-swimming-in-relay"],"worksFor":{"@type":"Organization","name":"enza.team","url":"https://enza.team"}}}</script>
            <section class="section-dark relative min-h-[85vh] flex items-end pb-20 px-6 overflow-hidden">
                <img alt="Rob Gray running on the Kona lava fields" class="object-cover" data-nimg="fill" decoding="async" sizes="100vw" src="/_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=3840&amp;q=75" srcSet="/_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fimages%2Fhero%2Fhomepage-hero.jpg&amp;w=3840&amp;q=75 3840w" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent">
                <div class="absolute inset-0 bg-gradient-to-t from-obsidian-deep via-obsidian-deep/40 to-transparent"></div>
                <div class="relative mx-auto max-w-6xl w-full">
                    <div class="racing-green-bar w-16 mb-8"></div>
                    <h1 class="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-titanium-high leading-[1.1] max-w-3xl">Rob Gray</h1>
                    <p class="mt-4 text-lg sm:text-xl text-titanium-mid max-w-xl leading-relaxed">Ultraman World Champion. I help athletes find out what they're capable of.</p>
                    <div class="mt-8 flex flex-wrap gap-4">
                        <a class="inline-flex items-center gap-2 px-6 py-3 bg-titanium-high text-obsidian-deep text-sm font-semibold rounded-[var(--radius)] hover:bg-titanium-mid transition-colors" href="/coaching">Train with me
                            <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="lucide lucide-arrow-right h-4 w-4" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24">
                                <path d="M5 12h14"></path>
                                <path d="m12 5 7 7-7 7"></path>
                            </svg>
                        </a><a class="inline-flex items-center gap-2 px-6 py-3 border border-titanium-low/40 text-titanium-mid text-sm font-semibold rounded-[var(--radius)] hover:text-titanium-high hover:border-titanium-low transition-colors" href="/races" xmlns="">Read the race reports</a>
                    </div>
                </div>
            </section>
            <section class="px-6 py-20">
                <div class="mx-auto max-w-6xl">
                    <p class="enza-label mb-6">Featured Race Report</p>
                    <a class="group block" href="/races/ultraman-2017-world-champs">
                        <div class="grid md:grid-cols-2 gap-8 items-center">
                            <div class="relative aspect-[16/10] bg-surface-elevated rounded-[var(--radius)] overflow-hidden">
                                <img alt="I Walked Off Kona at Mile 11. 41 Days Later, I Won Ultraman." class="object-cover group-hover:scale-[1.02] transition-transform duration-500" data-nimg="fill" decoding="async" loading="lazy" sizes="(min-width: 768px) 50vw, 100vw" src="/_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=3840&amp;q=75" srcSet="/_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fimages%2Fraces%2Fultraman-2017-hero.jpg&amp;w=3840&amp;q=75 3840w" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent">
                            </div>
                            <div>
                                <h2 class="text-2xl sm:text-3xl font-bold tracking-tight text-ink group-hover:text-ink-secondary transition-colors">I Walked Off Kona at Mile 11. 41 Days Later, I Won Ultraman.</h2>
                                <p class="mt-2 text-lg text-racing-green font-semibold">World Champion</p>
                                <p class="mt-4 text-ink-secondary leading-relaxed">It wasn't a comeback. It was a priority call followed by a build followed by an execution. And I won by exactly the amount the plan was designed to produce.</p>
                                <div class="mt-4 flex items-center gap-4 text-sm text-ink-muted">
                                    <span>Kailua-Kona, HI</span><span>&middot;</span><span>1st place</span>
                                </div>
                                <p class="mt-6 text-sm font-medium text-racing-green inline-flex items-center gap-2 group-hover:gap-3 transition-all">
                                    Read the race report
                                    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="lucide lucide-arrow-right h-4 w-4" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24">
                                        <path d="M5 12h14"></path>
                                        <path d="m12 5 7 7-7 7"></path>
                                    </svg>
                                </p>
                            </div>
                        </div>
                    </a>
                </div>
            </section>
            <section class="px-6 py-20 bg-surface-warm" xmlns="">
                <div class="mx-auto max-w-6xl">
                    <div class="flex items-center justify-between mb-8">
                        <p class="enza-label">Race Reports</p>
                        <a class="text-sm text-ink-muted hover:text-ink transition-colors inline-flex items-center gap-1" href="/races">View all 
                            <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="lucide lucide-arrow-right h-3 w-3" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24">
                                <path d="M5 12h14"></path>
                                <path d="m12 5 7 7-7 7"></path>
                            </svg>
                        </a>
                    </div>
                    <div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6" xmlns="">
                        <a class="group block bg-surface rounded-[var(--radius)] border border-border-light overflow-hidden hover:border-ink-muted/30 transition-colors" href="/races/ironman-arizona-2014">
                            <div class="relative aspect-[16/10] bg-surface-elevated overflow-hidden">
                                <img alt="Ironman Arizona 2014" class="object-cover group-hover:scale-[1.02] transition-transform duration-500" data-nimg="fill" decoding="async" loading="lazy" sizes="(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw" src="/_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=3840&amp;q=75" srcSet="/_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fimages%2Fraces%2Farizona-2014-hero.jpg&amp;w=3840&amp;q=75 3840w" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent">
                            </div>
                            <div class="p-5">
                                <h3 class="text-base font-semibold text-ink group-hover:text-ink-secondary transition-colors">Ironman Arizona 2014</h3>
                                <div class="mt-2 flex items-center gap-3 text-xs text-ink-muted">
                                    <span>Tempe, Arizona</span><span>&middot;</span><span class="text-racing-green font-medium">4th in AG, Kona Qualifier</span>
                                </div>
                                <p class="mt-3 text-sm text-ink-muted line-clamp-2">My chain snapped in the first minute of the bike. Six and a half minutes later I was back in the race, chasing a field of nine sub-9 contenders for one of four Kona slots. The result was a 29-minute PR.</p>
                            </div>
                        </a><a class="group block bg-surface rounded-[var(--radius)] border border-border-light overflow-hidden hover:border-ink-muted/30 transition-colors" href="/races/ironman-south-africa-2014">
                            <div class="relative aspect-[16/10] bg-surface-elevated overflow-hidden">
                                <img alt="Ironman South Africa 2014" class="object-cover group-hover:scale-[1.02] transition-transform duration-500" data-nimg="fill" decoding="async" loading="lazy" sizes="(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw" src="/_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=3840&amp;q=75" srcSet="/_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fimages%2Fraces%2Fsouth-africa-2014-hero.jpg&amp;w=3840&amp;q=75 3840w" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent">
                            </div>
                            <div class="p-5">
                                <h3 class="text-base font-semibold text-ink group-hover:text-ink-secondary transition-colors">Ironman South Africa 2014</h3>
                                <div class="mt-2 flex items-center gap-3 text-xs text-ink-muted">
                                    <span>Port Elizabeth, South Africa</span><span>&middot;</span><span class="text-racing-green font-medium">3rd in AG, Kona Qualifier</span>
                                </div>
                                <p class="mt-3 text-sm text-ink-muted line-clamp-2">A bucket-list race on home soil, low training volume, and a sprint finish in the final 800 meters to take a podium spot, with my dad screaming 'Take him, Rob!' from the sideline.</p>
                            </div>
                        </a><a class="group block bg-surface rounded-[var(--radius)] border border-border-light overflow-hidden hover:border-ink-muted/30 transition-colors" href="/races/kona-2013">
                            <div class="relative aspect-[16/10] bg-surface-elevated overflow-hidden">
                                <img alt="Ironman World Championship 2013" class="object-cover group-hover:scale-[1.02] transition-transform duration-500" data-nimg="fill" decoding="async" loading="lazy" sizes="(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw" src="/_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=3840&amp;q=75" srcSet="/_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fimages%2Fraces%2Fkona-2013-hero.jpg&amp;w=3840&amp;q=75 3840w" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent">
                            </div>
                            <div class="p-5">
                                <h3 class="text-base font-semibold text-ink group-hover:text-ink-secondary transition-colors">Ironman World Championship 2013</h3>
                                <div class="mt-2 flex items-center gap-3 text-xs text-ink-muted">
                                    <span>Kailua-Kona, Hawaii</span><span>&middot;</span><span class="text-racing-green font-medium">9:40 PR</span>
                                </div>
                                <p class="mt-3 text-sm text-ink-muted line-clamp-2">My first Kona. I left no stone unturned in the preparation: CTL at an all-time high of 163, wind tunnel sessions, metabolic testing, heat prep in ski gear. Then my glute seized in the first minute of the bike.</p>
                            </div>
                        </a>
                    </div>
                </div>
            </section>
            <section class="px-6 py-24">
                <div class="mx-auto max-w-3xl text-center">
                    <div class="racing-green-bar w-12 mx-auto mb-8"></div>
                    <h2 class="text-3xl sm:text-4xl font-bold tracking-tight text-ink">Train with me</h2>
                    <p class="mt-4 text-ink-secondary text-lg leading-relaxed max-w-xl mx-auto">Personalized coaching that adapts to your schedule, stress, and goals, so you keep improving without burnout, guilt, or guesswork.</p>
                    <div class="mt-10 flex flex-wrap justify-center gap-4">
                        <a class="inline-flex items-center gap-2 px-6 py-3 bg-racing-green text-white text-sm font-semibold rounded-[var(--radius)] hover:opacity-90 transition-opacity" href="/coaching">See coaching options
                            <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="lucide lucide-arrow-right h-4 w-4" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24">
                                <path d="M5 12h14"></path>
                                <path d="m12 5 7 7-7 7"></path>
                            </svg>
                        </a><a class="inline-flex items-center gap-2 px-6 py-3 border border-border-light text-ink-muted text-sm font-semibold rounded-[var(--radius)] hover:text-ink hover:border-ink-muted transition-colors" href="https://enza.team/#pricing" rel="noopener noreferrer" target="_blank" xmlns="">View pricing on enza.team</a>
                    </div>
                </div>
            </section>
            <section class="px-6 py-20 bg-surface-warm">
                <div class="mx-auto max-w-6xl">
                    <div class="flex items-center justify-between mb-8">
                        <p class="enza-label">From the blog</p>
                        <a class="text-sm text-ink-muted hover:text-ink transition-colors inline-flex items-center gap-1" href="/blog">View all 
                            <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="lucide lucide-arrow-right h-3 w-3" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24">
                                <path d="M5 12h14"></path>
                                <path d="m12 5 7 7-7 7"></path>
                            </svg>
                        </a>
                    </div>
                    <div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6" xmlns="">
                        <a class="group block p-6 bg-surface rounded-[var(--radius)] border border-border-light hover:border-ink-muted/30 transition-colors" href="/blog/heat-altitude-descent">
                            <p class="enza-label mb-3">Framework</p>
                            <h3 class="text-lg font-semibold text-ink group-hover:text-ink-secondary transition-colors">Heat x Altitude Descent: Why Kona 2015 Broke Me</h3>
                            <p class="mt-2 text-sm text-ink-muted line-clamp-2">I lived at altitude. I raced at sea level in Hawaiian heat. The compound failure mode I didn't plan for produced my worst Kona.</p>
                        </a><a class="group block p-6 bg-surface rounded-[var(--radius)] border border-border-light hover:border-ink-muted/30 transition-colors" href="/blog/three-ironmans-nine-weeks">
                            <p class="enza-label mb-3">Origin Story</p>
                            <h3 class="text-lg font-semibold text-ink group-hover:text-ink-secondary transition-colors">Three Ironmans in Nine Weeks: The Formative Season</h3>
                            <p class="mt-2 text-sm text-ink-muted line-clamp-2">My first Ironman was 11:02. Twenty days later I PR'd by 44 minutes. The 2011 trifecta taught me that lessons travel between races over years, not weeks.</p>
                        </a><a class="group block p-6 bg-surface rounded-[var(--radius)] border border-border-light hover:border-ink-muted/30 transition-colors" href="/blog/compound-conservative-targets">
                            <p class="enza-label mb-3">Race Execution</p>
                            <h3 class="text-lg font-semibold text-ink group-hover:text-ink-secondary transition-colors">Compound-Conservative Targets: How IMAZ 2014 Produced Four Simultaneous PRs</h3>
                            <p class="mt-2 text-sm text-ink-muted line-clamp-2">I PR'd my swim, bike, run, and overall time on the same day. The plan called for it. Here's the structure that makes that possible.</p>
                        </a>
                    </div>
                </div>
            </section>
            <!--$-->
            <!--/$-->
        </main>
        <footer class="section-dark py-16 px-6">
            <div class="mx-auto max-w-6xl">
                <div class="grid grid-cols-1 md:grid-cols-4 gap-10 mb-12">
                    <div>
                        <p class="text-sm font-semibold text-titanium-high mb-3">Rob Gray</p>
                        <p class="text-sm text-titanium-low leading-relaxed">
                            Ultraman World Champion. Head coach at
                            <!-- -->
                             <a class="text-titanium-mid hover:text-titanium-high transition-colors" href="https://enza.team" rel="noopener noreferrer" target="_blank">enza.team</a>.
                        </p>
                    </div>
                    <div>
                        <p class="enza-label mb-4">Race Reports</p>
                        <ul class="space-y-2 text-sm">
                            <li>
                                <a class="text-titanium-low hover:text-titanium-high transition-colors" href="/races/ultraman-2017-world-champs">Ultraman 2017, World Champion</a>
                            </li>
                            <li>
                                <a class="text-titanium-mid hover:text-titanium-high transition-colors" href="/races">All race reports &rarr;</a>
                            </li>
                        </ul>
                    </div>
                    <div>
                        <p class="enza-label mb-4">Coaching</p>
                        <ul class="space-y-2 text-sm">
                            <li>
                                <a class="text-titanium-low hover:text-titanium-high transition-colors" href="/coaching">Train with me</a>
                            </li>
                            <li>
                                <a class="text-titanium-low hover:text-titanium-high transition-colors" href="https://enza.team/#pricing" rel="noopener noreferrer" target="_blank">Pricing</a>
                            </li>
                            <li>
                                <a class="text-titanium-low hover:text-titanium-high transition-colors" href="https://enza.team/#pricing" rel="noopener noreferrer" target="_blank">Get started</a>
                            </li>
                        </ul>
                    </div>
                    <div>
                        <p class="enza-label mb-4">Connect</p>
                        <ul class="space-y-2 text-sm">
                            <li>
                                <a class="text-titanium-low hover:text-titanium-high transition-colors" href="https://www.strava.com/athletes/robgray" rel="noopener noreferrer" target="_blank">Strava</a>
                            </li>
                            <li>
                                <a class="text-titanium-low hover:text-titanium-high transition-colors" href="https://www.instagram.com/robgray" rel="noopener noreferrer" target="_blank">Instagram</a>
                            </li>
                        </ul>
                    </div>
                </div>
                <div class="border-t border-titanium-low/20 pt-8 flex flex-col md:flex-row justify-between items-center gap-4 text-sm text-titanium-low">
                    <p>
                        &copy; 
                        <!-- -->
                        2026
                        <!-- -->
                         Rob Gray. All rights reserved.
                    </p>
                    <p>
                        Coaching powered by
                        <!-- -->
                         <a class="text-titanium-mid hover:text-titanium-high transition-colors" href="https://enza.team" rel="noopener noreferrer" target="_blank">enza.team</a>
                    </p>
                </div>
            </div>
        </footer>
        <script async="" id="_R_" src="/_next/static/chunks/0nyh9yrgyss3m.js"></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[73477,[\"/_next/static/chunks/0078g-gle9vth.js\"],\"Navigation\"]\n3:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n5:I[22016,[\"/_next/static/chunks/0078g-gle9vth.js\",\"/_next/static/chunks/16joj-w8x5b8c.js\"],\"\"]\nb:I[68027,[\"/_next/static/chunks/0078g-gle9vth.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0g-832s3pun7..css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0g-832s3pun7..css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0078g-gle9vth.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"body\",null,{\"className\":\"min-h-screen flex flex-col antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"section-dark py-16 px-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-4 gap-10 mb-12\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-sm font-semibold text-titanium-high mb-3\",\"children\":\"Rob Gray\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-titanium-low leading-relaxed\",\"children\":[\"Ultraman World Champion. Head coach at\",\" \",[\"$\",\"a\",null,{\"href\":\"https://enza.team\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-titanium-mid hover:text-titanium-high transition-colors\",\"children\":\"enza.team\"}],\".\"]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label mb-4\",\"children\":\"Race Reports\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/races/ultraman-2017-world-champs\",\"className\":\"text-titanium-low hover:text-titanium-high transition-colors\",\"children\":\"Ultraman 2017, World Champion\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/races\",\"className\":\"text-titanium-mid hover:text-titanium-high transition-colors\",\"children\":\"All race reports →\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label mb-4\",\"children\":\"Coaching\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/coaching\",\"className\":\"text-titanium-low hover:text-titanium-high transition-colors\",\"children\":\"Train with me\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://enza.team/#pricing\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-titanium-low hover:text-titanium-high transition-colors\",\"children\":\"Pricing\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://enza.team/#pricing\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-titanium-low hover:text-titanium-high transition-colors\",\"children\":\"Get started\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label mb-4\",\"children\":\"Connect\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.strava.com/athletes/robgray\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-titanium-low hover:text-titanium-high transition-colors\",\"children\":\"Strava\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.instagram.com/robgray\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-titanium-low hover:text-titanium-high transition-colors\",\"children\":\"Instagram\"}]}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"border-t border-titanium-low/20 pt-8 flex flex-col md:flex-row justify-between items-center gap-4 text-sm text-titanium-low\",\"children\":[\"$L6\",\"$L7\"]}]]}]}]]}],\"$L8\"]}]]}],{\"children\":[\"$L9\",{},null,false,null]},null,false,null],\"$La\",false]],\"m\":\"$undefined\",\"G\":[\"$b\",[\"$Lc\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"9mNXuDiQbtZB9q31lrG1_\"}\n"])</script><script>self.__next_f.push([1,"d:I[54576,[\"/_next/static/chunks/0078g-gle9vth.js\"],\"GoogleAnalytics\"]\ne:I[5500,[\"/_next/static/chunks/0078g-gle9vth.js\",\"/_next/static/chunks/16joj-w8x5b8c.js\"],\"Image\"]\nf:I[58541,[\"/_next/static/chunks/0078g-gle9vth.js\",\"/_next/static/chunks/16joj-w8x5b8c.js\"],\"default\"]\n19:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\n1b:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\n1c:\"$Sreact.suspense\"\n6:[\"$\",\"p\",null,{\"children\":[\"© \",2026,\" Rob Gray. All rights reserved.\"]}]\n7:[\"$\",\"p\",null,{\"children\":[\"Coaching powered by\",\" \",[\"$\",\"a\",null,{\"href\":\"https://enza.team\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-titanium-mid hover:text-titanium-high transition-colors\",\"children\":\"enza.team\"}]]}]\n8:[\"$\",\"$Ld\",null,{\"gaId\":\"G-CYXK8W1JKV\"}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebSite\\\",\\\"name\\\":\\\"Rob Gray\\\",\\\"url\\\":\\\"https://robgray.org\\\",\\\"description\\\":\\\"Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion and head coach at enza.team.\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Rob Gray\\\",\\\"url\\\":\\\"https://robgray.org\\\",\\\"jobTitle\\\":\\\"Endurance Coach\\\",\\\"description\\\":\\\"Ultraman World Champion, Ironman sub-9 athlete, Guinness World Record holder, and head coach at enza.team.\\\",\\\"sameAs\\\":[\\\"https://enza.team\\\",\\\"https://www.guinnessworldrecords.com/world-records/longest-distance-swimming-in-relay\\\"],\\\"worksFor\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"enza.team\\\",\\\"url\\\":\\\"https://enza.team\\\"}}}\"}}],[\"$\",\"section\",null,{\"className\":\"section-dark relative min-h-[85vh] flex items-end pb-20 px-6 overflow-hidden\",\"children\":[[\"$\",\"$Le\",null,{\"src\":\"/images/hero/homepage-hero.jpg\",\"alt\":\"Rob Gray running on the Kona lava fields\",\"fill\":true,\"priority\":true,\"sizes\":\"100vw\",\"className\":\"object-cover\"}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 bg-gradient-to-t from-obsidian-deep via-obsidian-deep/40 to-transparent\"}],[\"$\",\"div\",null,{\"className\":\"relative mx-auto max-w-6xl w-full\",\"children\":[[\"$\",\"div\",null,{\"className\":\"racing-green-bar w-16 mb-8\"}],[\"$\",\"h1\",null,{\"className\":\"text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-titanium-high leading-[1.1] max-w-3xl\",\"children\":\"Rob Gray\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-lg sm:text-xl text-titanium-mid max-w-xl leading-relaxed\",\"children\":\"Ultraman World Champion. I help athletes find out what they're capable of.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-wrap gap-4\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/coaching\",\"className\":\"inline-flex items-center gap-2 px-6 py-3 bg-titanium-high text-obsidian-deep text-sm font-semibold rounded-[var(--radius)] hover:bg-titanium-mid transition-colors\",\"children\":[\"Train with me\",[\"$\",\"$Lf\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M5 12h14\",\"key\":\"1ays0h\"}],[\"path\",{\"d\":\"m12 5 7 7-7 7\",\"key\":\"xquz4c\"}]],\"className\":\"lucide-arrow-right h-4 w-4\"}]]}],[\"$\",\"$L5\",null,{\"href\":\"/races\",\"className\":\"inline-flex items-center gap-2 px-6 py-3 border border-titanium-low/40 text-titanium-mid text-sm font-semibold rounded-[var(--radius)] hover:text-titanium-high hover:border-titanium-low transition-colors\",\"children\":\"Read the race reports\"}]]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"px-6 py-20\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl\",\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label mb-6\",\"children\":\"Featured Race Report\"}],[\"$\",\"$L5\",null,{\"href\":\"/races/ultraman-2017-world-champs\",\"className\":\"group block\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid md:grid-cols-2 gap-8 items-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] bg-surface-elevated rounded-[var(--radius)] overflow-hidden\",\"children\":[\"$\",\"$Le\",null,{\"src\":\"/images/races/ultraman-2017-hero.jpg\",\"alt\":\"I Walked Off Kona at Mile 11. 41 Days Later, I Won Ultraman.\",\"fill\":true,\"sizes\":\"(min-width: 768px) 50vw, 100vw\",\"className\":\"object-cover group-hover:scale-[1.02] transition-transform duration-500\"}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl sm:text-3xl font-bold tracking-tight text-ink group-hover:text-ink-secondary transition-colors\",\"children\":\"I Walked Off Kona at Mile 11. 41 Days Later, I Won Ultraman.\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-lg text-racing-green font-semibold\",\"children\":\"World Champion\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-ink-secondary leading-relaxed\",\"children\":\"It wasn't a comeback. It was a priority call followed by a build followed by an execution. And I won by exactly the amount the plan was designed to produce.\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 flex items-center gap-4 text-sm text-ink-muted\",\"children\":[\"$L10\",\"$L11\",\"$L12\"]}],\"$L13\"]}]]}]}]]}]}],\"$L14\",\"$L15\",\"$L16\"],[\"$L17\"],\"$L18\"]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L19\",null,{\"children\":\"$L1a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1d\"}]}]}],null]}]\nc:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0g-832s3pun7..css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"21:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n10:[\"$\",\"span\",null,{\"children\":\"Kailua-Kona, HI\"}]\n11:[\"$\",\"span\",null,{\"children\":\"·\"}]\n12:[\"$\",\"span\",null,{\"children\":\"1st place\"}]\n13:[\"$\",\"p\",null,{\"className\":\"mt-6 text-sm font-medium text-racing-green inline-flex items-center gap-2 group-hover:gap-3 transition-all\",\"children\":[\"Read the race report\",[\"$\",\"$Lf\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$9:props:children:0:1:props:children:2:props:children:3:props:children:0:props:children:1:props:iconNode\",\"className\":\"lucide-arrow-right h-4 w-4\"}]]}]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"section\",null,{\"className\":\"px-6 py-20 bg-surface-warm\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between mb-8\",\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label\",\"children\":\"Race Reports\"}],[\"$\",\"$L5\",null,{\"href\":\"/races\",\"className\":\"text-sm text-ink-muted hover:text-ink transition-colors inline-flex items-center gap-1\",\"children\":[\"View all \",[\"$\",\"$Lf\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$9:props:children:0:1:props:children:2:props:children:3:props:children:0:props:children:1:props:iconNode\",\"className\":\"lucide-arrow-right h-3 w-3\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"grid sm:grid-cols-2 lg:grid-cols-3 gap-6\",\"children\":[[\"$\",\"$L5\",\"ironman-arizona-2014\",{\"href\":\"/races/ironman-arizona-2014\",\"className\":\"group block bg-surface rounded-[var(--radius)] border border-border-light overflow-hidden hover:border-ink-muted/30 transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] bg-surface-elevated overflow-hidden\",\"children\":[\"$\",\"$Le\",null,{\"src\":\"/images/races/arizona-2014-hero.jpg\",\"alt\":\"Ironman Arizona 2014\",\"fill\":true,\"sizes\":\"(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw\",\"className\":\"object-cover group-hover:scale-[1.02] transition-transform duration-500\"}]}],[\"$\",\"div\",null,{\"className\":\"p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-base font-semibold text-ink group-hover:text-ink-secondary transition-colors\",\"children\":\"Ironman Arizona 2014\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 flex items-center gap-3 text-xs text-ink-muted\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Tempe, Arizona\"}],[\"$\",\"span\",null,{\"children\":\"·\"}],[\"$\",\"span\",null,{\"className\":\"text-racing-green font-medium\",\"children\":\"4th in AG, Kona Qualifier\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm text-ink-muted line-clamp-2\",\"children\":\"My chain snapped in the first minute of the bike. Six and a half minutes later I was back in the race, chasing a field of nine sub-9 contenders for one of four Kona slots. The result was a 29-minute PR.\"}]]}]]}],[\"$\",\"$L5\",\"ironman-south-africa-2014\",{\"href\":\"/races/ironman-south-africa-2014\",\"className\":\"group block bg-surface rounded-[var(--radius)] border border-border-light overflow-hidden hover:border-ink-muted/30 transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] bg-surface-elevated overflow-hidden\",\"children\":[\"$\",\"$Le\",null,{\"src\":\"/images/races/south-africa-2014-hero.jpg\",\"alt\":\"Ironman South Africa 2014\",\"fill\":true,\"sizes\":\"(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw\",\"className\":\"object-cover group-hover:scale-[1.02] transition-transform duration-500\"}]}],[\"$\",\"div\",null,{\"className\":\"p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-base font-semibold text-ink group-hover:text-ink-secondary transition-colors\",\"children\":\"Ironman South Africa 2014\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 flex items-center gap-3 text-xs text-ink-muted\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Port Elizabeth, South Africa\"}],[\"$\",\"span\",null,{\"children\":\"·\"}],[\"$\",\"span\",null,{\"className\":\"text-racing-green font-medium\",\"children\":\"3rd in AG, Kona Qualifier\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm text-ink-muted line-clamp-2\",\"children\":\"A bucket-list race on home soil, low training volume, and a sprint finish in the final 800 meters to take a podium spot, with my dad screaming 'Take him, Rob!' from the sideline.\"}]]}]]}],[\"$\",\"$L5\",\"kona-2013\",{\"href\":\"/races/kona-2013\",\"className\":\"group block bg-surface rounded-[var(--radius)] border border-border-light overflow-hidden hover:border-ink-muted/30 transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] bg-surface-elevated overflow-hidden\",\"children\":[\"$\",\"$Le\",null,{\"src\":\"/images/races/kona-2013-hero.jpg\",\"alt\":\"Ironman World Championship 2013\",\"fill\":true,\"sizes\":\"(min-width: 1024px) 33vw, (min-width: 640px) 50vw, 100vw\",\"className\":\"object-cover group-hover:scale-[1.02] transition-transform duration-500\"}]}],[\"$\",\"div\",null,{\"className\":\"p-5\",\"children\":[\"$L1e\",\"$L1f\",\"$L20\"]}]]}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"section\",null,{\"className\":\"px-6 py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-3xl text-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"racing-green-bar w-12 mx-auto mb-8\"}],[\"$\",\"h2\",null,{\"className\":\"text-3xl sm:text-4xl font-bold tracking-tight text-ink\",\"children\":\"Train with me\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-ink-secondary text-lg leading-relaxed max-w-xl mx-auto\",\"children\":\"Personalized coaching that adapts to your schedule, stress, and goals, so you keep improving without burnout, guilt, or guesswork.\"}],[\"$\",\"div\",null,{\"className\":\"mt-10 flex flex-wrap justify-center gap-4\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/coaching\",\"className\":\"inline-flex items-center gap-2 px-6 py-3 bg-racing-green text-white text-sm font-semibold rounded-[var(--radius)] hover:opacity-90 transition-opacity\",\"children\":[\"See coaching options\",[\"$\",\"$Lf\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$9:props:children:0:1:props:children:2:props:children:3:props:children:0:props:children:1:props:iconNode\",\"className\":\"lucide-arrow-right h-4 w-4\"}]]}],[\"$\",\"a\",null,{\"href\":\"https://enza.team/#pricing\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"inline-flex items-center gap-2 px-6 py-3 border border-border-light text-ink-muted text-sm font-semibold rounded-[var(--radius)] hover:text-ink hover:border-ink-muted transition-colors\",\"children\":\"View pricing on enza.team\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"16:[\"$\",\"section\",null,{\"className\":\"px-6 py-20 bg-surface-warm\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between mb-8\",\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label\",\"children\":\"From the blog\"}],[\"$\",\"$L5\",null,{\"href\":\"/blog\",\"className\":\"text-sm text-ink-muted hover:text-ink transition-colors inline-flex items-center gap-1\",\"children\":[\"View all \",[\"$\",\"$Lf\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$9:props:children:0:1:props:children:2:props:children:3:props:children:0:props:children:1:props:iconNode\",\"className\":\"lucide-arrow-right h-3 w-3\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"grid sm:grid-cols-2 lg:grid-cols-3 gap-6\",\"children\":[[\"$\",\"$L5\",\"heat-altitude-descent\",{\"href\":\"/blog/heat-altitude-descent\",\"className\":\"group block p-6 bg-surface rounded-[var(--radius)] border border-border-light hover:border-ink-muted/30 transition-colors\",\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label mb-3\",\"children\":\"Framework\"}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-ink group-hover:text-ink-secondary transition-colors\",\"children\":\"Heat x Altitude Descent: Why Kona 2015 Broke Me\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-ink-muted line-clamp-2\",\"children\":\"I lived at altitude. I raced at sea level in Hawaiian heat. The compound failure mode I didn't plan for produced my worst Kona.\"}]]}],[\"$\",\"$L5\",\"three-ironmans-nine-weeks\",{\"href\":\"/blog/three-ironmans-nine-weeks\",\"className\":\"group block p-6 bg-surface rounded-[var(--radius)] border border-border-light hover:border-ink-muted/30 transition-colors\",\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label mb-3\",\"children\":\"Origin Story\"}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-ink group-hover:text-ink-secondary transition-colors\",\"children\":\"Three Ironmans in Nine Weeks: The Formative Season\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-ink-muted line-clamp-2\",\"children\":\"My first Ironman was 11:02. Twenty days later I PR'd by 44 minutes. The 2011 trifecta taught me that lessons travel between races over years, not weeks.\"}]]}],[\"$\",\"$L5\",\"compound-conservative-targets\",{\"href\":\"/blog/compound-conservative-targets\",\"className\":\"group block p-6 bg-surface rounded-[var(--radius)] border border-border-light hover:border-ink-muted/30 transition-colors\",\"children\":[[\"$\",\"p\",null,{\"className\":\"enza-label mb-3\",\"children\":\"Race Execution\"}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-ink group-hover:text-ink-secondary transition-colors\",\"children\":\"Compound-Conservative Targets: How IMAZ 2014 Produced Four Simultaneous PRs\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm text-ink-muted line-clamp-2\",\"children\":\"I PR'd my swim, bike, run, and overall time on the same day. The plan called for it. Here's the structure that makes that possible.\"}]]}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/16joj-w8x5b8c.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n18:[\"$\",\"$L21\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@22\"}]}]\n"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"h3\",null,{\"className\":\"text-base font-semibold text-ink group-hover:text-ink-secondary transition-colors\",\"children\":\"Ironman World Championship 2013\"}]\n1f:[\"$\",\"div\",null,{\"className\":\"mt-2 flex items-center gap-3 text-xs text-ink-muted\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Kailua-Kona, Hawaii\"}],[\"$\",\"span\",null,{\"children\":\"·\"}],[\"$\",\"span\",null,{\"className\":\"text-racing-green font-medium\",\"children\":\"9:40 PR\"}]]}]\n20:[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm text-ink-muted line-clamp-2\",\"children\":\"My first Kona. I left no stone unturned in the preparation: CTL at an all-time high of 163, wind tunnel sessions, metabolic testing, heat prep in ski gear. Then my glute seized in the first minute of the bike.\"}]\n"])</script><script>self.__next_f.push([1,"1a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"23:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"1d:[[\"$\",\"title\",\"0\",{\"children\":\"Rob Gray | Ultraman World Champion \u0026 Endurance Coach\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion and head coach at enza.team.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://robgray.org\"}],[\"$\",\"link\",\"3\",{\"rel\":\"alternate\",\"type\":\"application/rss+xml\",\"href\":\"https://robgray.org/feed\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"Rob Gray | Ultraman World Champion \u0026 Endurance Coach\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://robgray.org\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:site_name\",\"content\":\"Rob Gray\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://robgray.org/opengraph-image?fff2d4f9db7ac0f5\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:alt\",\"content\":\"Rob Gray — Ultraman World Champion \u0026 Endurance Coach\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Rob Gray | Ultraman World Champion \u0026 Endurance Coach\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"Race reports, training insights, and coaching from Rob Gray, 2017 Ultraman World Champion.\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image\",\"content\":\"https://robgray.org/opengraph-image?fff2d4f9db7ac0f5\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image:alt\",\"content\":\"Rob Gray — Ultraman World Champion \u0026 Endurance Coach\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"23\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L23\",\"24\",{}]]\n"])</script><script>self.__next_f.push([1,"22:null\n"])</script>
    </body>
</html>
