248 ANTHEMS · GRAYHAWK, TALON COURSE · SCOTTSDALE, AZ
The Naturalist’s Plate
01The design direction
Talon does something most courses don’t: it names its holes. Swinging Bridge, Heaven or Hell, Devil’s Drink, the Three Sisters, and a first hole that honours a person. Naming a thing is what a field guide does — so the site is one. The school is the 19th-century natural-history plate crossed with the Swiss editorial discipline of Brand System v2: numbered sections, mono data labels, hairline rules, condensed display type on a paper-white ground. Where the brand system says “every graphic must explain,” a naturalist’s plate has been saying it for two hundred years.
The centrepiece is five plates in one line grammar — thin contour, stipple, hairline annotation — each captioned as an entry with its plate number, its hole number and its name. Nothing on them is a photograph; nothing on them is invented. No. 11 Swinging Bridge gets the largest plate, drawn as a section through the box canyon, because the suspension bridge is the most drawable object on the property. No. 13 Heaven or Hell is drawn as the choice its name describes: a lime committed line and a graphite line that lays back, with the canyon between. No. 1 Heather Farr is deliberately the emptiest plate on the page — restraint is the correct amount of design for a tribute.
Desert paper
#F6F3EC · 70% GROUND
Sonoran dusk
#A2563A · LEADERS, PLATE NOS.
Palo verde
#6C7A44 · STIPPLE, GREENS
Signal lime
#CCFF00 · THE SYSTEM SIGNAL
The neutrals are tuned one notch warmer than the brand default — the page should read as paper left in Arizona light, not as a screen. The two course-derived support colours stay thin by rule: terracotta only for annotation leaders, plate numbers and the index; palo verde only for ground-cover stipple and green washes. Neither is ever a field, and together they hold well under the 8%/2% budget. Signal lime remains the system signal: the pin targets, the committed line, the conversion 8 in the ratio stripe, the beat dot. Accent orange appears exactly once on the whole site — on the correction that sends Grayhawk’s tournament record back to the Raptor course where it belongs. One correction, one orange rule.
Type is the brand trio: Barlow Condensed for display (standing in for DIN Condensed), Inter Variable for text, IBM Plex Mono for every data label and every annotation inside the plates. Motion is drawn, not animated: box-canyon contour lines behind the plate grid draw themselves on as you scroll, each plate inks itself in when it enters view, and while audio plays the contours carry a slow pulse on a four-beat cycle (2.143 s at 112 BPM). The frames ribbon and pulse ring run on the true 24/8 cycle. With prefers-reduced-motion, every contour and every plate is delivered fully drawn and nothing moves at all.
02How it was built
- Hand-written static HTML/CSS/JS. No framework, no authoring build step, ES modules only.
- Every internal path is relative (
css/style.css,js/main.js,manifest-fallback.json;../fromguide/), so the site serves identically from its own domain and from a/grayhawk-talon/subpath. - The five plates are inline SVG, hand-set coordinate by coordinate. Their textures — bunker sand, ground-cover stipple, the rock ticks down the canyon walls, the bridge hangers under the cable — are generated at runtime by a seeded PRNG (
mulberry32), so they are deterministic: the same drawing on every visit. A field guide is not a slot machine. - The contour field behind the plate grid is generated too — three box-canyon systems, six nested rings each, built from a radial profile that is elongated in body and pinched at the mouth, plus four long rim contours deflected around them. Seed 1994, the year Grayhawk opened with Talon.
- Draw-on uses
pathLength="1", so one CSS transition on a normalized dash offset works for paths of any real length; the contour field maps its dash offset directly to scroll position. - No raster or video assets anywhere. The only binaries are six woff2 font files, restored from npm at deploy time through the
deployAssetsmap inpackage.jsonso deploy uploads stay text-only. - Deployed as its own Vercel project,
248-anthems-grayhawk-talon, from the series monorepo.
03The audio pipeline
The player is the shared 248 core (player.js), skinned into the dark panel of section 01 through its CSS custom properties and mounted with an explicit two-track playlist: Tempo or Tumble first, then Stomp. Masters stream from the shared CORS-enabled audio host (248-anthems-audio.vercel.app); its manifest.json is the single source of truth, with a committed fallback copy for resilience. The playlist ids are passed explicitly because the deployed host’s manifest predates the later course playlists.
Behind the player, a canvas draws the live waveform as a canyon section — mirrored above and below the centre line, so the audio literally cuts a rim. It draws only from the Web Audio analyser and only while audio is playing; when nothing plays, the canvas is empty rather than faked. The pulse ring breathes on the brand tempo in silence and is driven by the real RMS level once audio starts, and the 32-unit ratio stripe under the player encodes actual playback progress across the 24/8 bar. Tracks not yet synced to the host are badged “sync pending”, never invented.
04The facts rule
Every course claim on this site comes from docs/facts/grayhawk-talon.md; every tempo claim from docs/facts/tempo-science.md; all track data from the audio manifest. Verified and used: David Graham (1981 U.S. Open and 1979 PGA champion) with Gary Panks as designers; opened 1994, Grayhawk opening with the Talon Course; par 72 and 6,973 yards from the tips; north Scottsdale in the Sonoran Desert with views of the McDowell Mountains and Pinnacle Peak; the No. 11 tee cited as the best McDowells vantage; the back nine routed around deep box canyons; mesquite, palo verde and ironwood; target-style desert golf with forced carries; and the five names — No. 1 Heather Farr, No. 3 the Three Sisters, No. 11 Swinging Bridge (par 3, ~175 yds, suspension bridge over a box canyon to a back tee set in the canyon), No. 13 Heaven or Hell (risk/reward drive around the box canyons), No. 17 Devil’s Drink (~126-yd par 3, island green, frequently compared to Sawgrass’s 17th).
The attribution trap. Grayhawk’s famous tournament record is not Talon’s. The NCAA Division I Men’s and Women’s Golf Championships of 2021–2023, and the PGA Tour’s Frys.com Open of 2007–2009 (Weir, Beckman, Matteson), were played at Grayhawk on the Raptor course — a Tom Fazio design — not on Talon. Rather than quietly omit it, the site states it: section 04 carries a “correction” block, given the page’s only use of accent orange, that names Raptor explicitly. A field guide that misidentifies its specimen is worse than one that stays silent.
Omitted on purpose: any elevation figure, and the name-origin story for Talon and Raptor — both flagged omit in the facts file. Also omitted: yardages, pars and hole counts for the named holes beyond the two that are documented (Nos. 11 and 17); which tees the 6,973 yards is measured from beyond “the tips”; anything about Heather Farr beyond the fact that the hole honours her; rating, slope, membership and green-fee figures; and any claim that 112 BPM is a research finding — it is presented as arithmetic on a published 24/8 tempo, and labelled as such on the page.
05Iteration passes
Reading the plates at full size found the same failure five times: mono annotation set in a 520-wide viewBox runs off the edge. “THE THREE SISTERS”, “McDOWELL MOUNTAINS”, “COMMIT — THE TIGHT LINE” and “LAY BACK — THE WIDE LINE” were all clipped by the plate frame. Fixed by dropping the label size to 10px with tighter tracking, splitting or shortening every long label, and right-anchoring the ones that live near an edge. Other fixes: on No. 1 the tribute annotation and the “GREEN” label both sat on top of a fairway line — both moved into clear air, and a low contour was added to seat a drawing that was floating; on No. 11 the back tee had been drawn straddling the canyon wall rather than on a shelf inside it, so the tee, its ledge and the stair down from the bridge were rebuilt, and the McDowell ridge line was extended left to fill a dead third of the plate; on No. 13 the committed line clipped the outer contour of the canyon it is supposed to run around, and the canyon itself read as plain concentric ellipses — the rings were redrawn as a pinched-mouth gorge and the drive line pushed outside them; on No. 17 the Sawgrass cross-reference sat directly on the shot line, and moved to a ruled note at the foot of the plate. A “key to the plates” strip was added above the grid so the line grammar is declared once instead of guessed at, and scroll-margin-top was added to the plates so the hero index doesn’t drop a heading under the sticky masthead.
A width probe caught a real bug that neither screenshot showed, because overflow-x: hidden was hiding it: at 390 and 430px the document was 817px wide. The single-column plate grid used a bare 1fr track, which resolves to the plate’s min-content width — and the wide plates keep a minimum SVG width so their annotation stays legible. The track became minmax(0, 1fr) (plus min-width: 0 on the art frame), so the plates now pan inside their own frames instead of pushing the page sideways. Panning then needed to be findable and worth doing: each plate carries a hint line under the art on small screens, and on load every panning plate scrolls itself to its subject — otherwise a phone opened the Swinging Bridge plate on an empty third of sky. The hero index also needed scroll-margin-top honoured after the sticky masthead, and the accessible name of the H1 needed the space the flex layout had swallowed (“GrayhawkTalon”). Also verified in this pass: the reduced-motion render arrives fully drawn — every contour, plate, stipple field and annotation composed and static, with no reveals to wait for — and the playing state (lime beat dot, lime top edge on the player panel, the contour field pulsing on a four-beat cycle, live waveform on the canvas) behaves at every width. Console is clean apart from the expected ERR_TUNNEL_CONNECTION_FAILED for the audio host, which this container cannot reach; the committed fallback manifest takes over exactly as designed.