/*! Hallmark · shape: site system and homepage hero · genre: modern-minimal · theme: Vantage (by request) · job: hire · draw: n/a
 * hero: stage, head and lead left, the mark right · nav: edge-aligned wordmark and links · footer: none yet · imagery: the Spinifex mark, full colour · signature: the mark on the ground
 * vantage: terrain/steel · axes: dark/grotesk-sans/chromatic-lime · posture: restrained · contrast: pass · fold: pass · v2.0.0 */
@font-face{font-family:Geologica;font-style:normal;font-weight:200 500;font-display:swap;src:url(/fonts/geologica-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geologica;font-style:normal;font-weight:200 500;font-display:swap;src:url(/fonts/geologica-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:dark;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-display-s:clamp(2.25rem, 4vw + .5rem, 3.75rem);--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--text-section:clamp(2rem, 2.5vw + 1rem, 3.5rem);--text-title:clamp(1.25rem, .75vw + .875rem, 1.625rem);--text-lead:clamp(1.125rem, .35vw + 1rem, 1.375rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-error:oklch(72% .15 27);--color-success:oklch(76% .13 150);--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(13.5% .012 235);--color-paper-2:oklch(17% .014 235);--color-paper-3:oklch(21% .016 235);--color-ink:oklch(95% .006 230);--color-ink-2:oklch(82% .012 230);--color-muted:oklch(66% .016 230);--color-rule:oklch(27% .014 235);--color-rule-2:oklch(34% .016 235);--color-accent:oklch(89% .19 126);--color-accent-hi:oklch(93% .17 126);--color-accent-ink:oklch(19% .04 126);--color-focus:oklch(89% .19 126);--point-lo:oklch(42% .04 245);--point-mid:oklch(70% .04 232);--point-hi:oklch(96% .02 215);--color-slot:oklch(21% .016 235);--font-display:"Geologica", ui-sans-serif, system-ui, sans-serif;--font-body:"Geologica", ui-sans-serif, system-ui, sans-serif;--radius-card:4px;--radius-pill:999px;--rule-hair:1px;--tick:10px;--shadow-card:none;--tracking-display:-.035em;--display-weight:300}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg, var(--color-paper-2,var(--color-paper)), var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (width<=60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (width<=40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]>img{filter:saturate(.8)contrast(1.06)}body{color:var(--color-ink-2);font-variation-settings:"SHRP" 0;font-size:1.0625rem;font-weight:300;line-height:1.6}h1,h2{font-variation-settings:"SHRP" 100;line-height:1}h3{font-variation-settings:"SHRP" 100;font-weight:400}strong,b{color:var(--color-ink);font-weight:400}.site-header{border-block-end:var(--rule-hair) solid var(--color-rule)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-lg);min-block-size:4.5rem;display:flex}.wordmark{align-items:center;gap:var(--space-sm);color:var(--color-ink);font-weight:400;font-size:var(--text-md);letter-spacing:-.01em;text-decoration:none;display:inline-flex}.wordmark__mark{mix-blend-mode:screen;flex:none;block-size:2rem;inline-size:2rem}.site-nav ul{gap:var(--space-lg);margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--color-ink-2);font-size:var(--text-sm);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-ink)}main{padding-block:var(--space-2xl) var(--space-4xl)}.hero{gap:var(--space-xl);background:var(--color-paper);isolation:isolate;align-content:center;min-block-size:min(100svh - 8.5rem,44rem);display:grid}.hero__text{gap:var(--space-md);align-content:center;display:grid}.hero__mark{mix-blend-mode:screen;justify-self:center;inline-size:100%;max-inline-size:22rem}@media (width>=60rem){.hero{gap:var(--space-2xl);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.hero__mark{justify-self:end;max-inline-size:32rem}}figure{margin:0}figure img,figure video,.card img{border-radius:var(--radius-card);filter:saturate(.8)contrast(1.06)}figcaption{color:var(--color-muted);font-size:var(--text-sm);margin-block-start:var(--space-sm)}.project-list{gap:var(--space-2xl) var(--gap-columns);margin:var(--space-2xl) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));padding:0;list-style:none;display:grid}.card{gap:var(--space-xs);align-content:start;display:grid}.card img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-card);inline-size:100%}.card h2{font-size:var(--text-title);margin-block-start:var(--space-xs)}.card h2 a{text-decoration:none}.card h2 a:hover{text-decoration:underline;text-decoration-color:var(--color-rule-2)}.card p{color:var(--color-ink-2)}.card .card__meta{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.project-header{gap:var(--space-sm);max-inline-size:48rem;display:grid}.project-meta{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.project-hero{max-inline-size:64rem;margin-block-start:var(--space-xl)}.skills{gap:var(--space-xs);margin:var(--space-md) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.skills li{padding:var(--space-2xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-pill);color:var(--color-ink-2);font-size:var(--text-sm)}.prose{max-inline-size:46rem;margin-block-start:var(--space-2xl)}.prose p,.prose ul,.prose ol,.prose blockquote{max-inline-size:30em}.prose>:where(p,ul,ol,figure,h2,h3,blockquote)+*{margin-block-start:var(--space-md)}.prose :where(h2){margin-block-start:var(--space-3xl)}.prose :where(h3){margin-block-start:var(--space-2xl)}.prose :where(figure){max-inline-size:64rem;margin-block-start:var(--space-xl)}.prose :where(ul,ol){padding-inline-start:1.25rem}.prose :where(li)+:where(li){margin-block-start:var(--space-2xs)}.gallery{gap:var(--space-xl);margin:var(--space-3xl) 0 0;padding:0;list-style:none;display:grid}
