@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,200..800&family=Manrope:wght@350;400;700&display=swap";:root{--color-paper-deep: oklch(13% .025 245);--color-paper: oklch(18% .032 245);--color-paper-2: oklch(23% .038 245);--color-paper-3: oklch(29% .044 245);--color-logo-paper: oklch(96% .012 92);--color-ink: oklch(95% .012 215);--color-ink-2: oklch(83% .019 220);--color-muted: oklch(72% .022 225);--color-neutral: oklch(58% .025 230);--color-rule: oklch(45% .045 235);--color-rule-2: oklch(34% .038 240);--color-accent: oklch(78% .14 178);--color-accent-ink: oklch(17% .028 240);--color-violet: oklch(72% .13 292);--color-focus: oklch(86% .16 98);--color-error: oklch(70% .17 27);--color-success: oklch(76% .13 155);--font-display: "Bricolage Grotesque", "Arial Narrow", sans-serif;--font-body: "Manrope", "Avenir Next", sans-serif;--text-xs: .8rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.953rem;--text-2xl: 2.441rem;--text-3xl: 3.052rem;--text-display-s: clamp(2.5rem, 7vw, 4.5rem);--text-display: clamp(3rem, 8vw, 5.5rem);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--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;--rule-hair: .0625rem;--rule-strong: .125rem;--radius-control: .375rem;--radius-surface: 1rem;--content-width: 76rem;--text-width: 68ch;--page-gutter: clamp(var(--space-md), 4vw, var(--space-2xl));--header-height: 4.75rem;--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}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}html{color-scheme:dark;background:var(--color-paper);scroll-behavior:smooth}body{position:relative;min-width:20rem;min-height:100svh;margin:0;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:var(--text-base);font-weight:350;line-height:1.65;text-rendering:optimizeLegibility}body:before{position:fixed;z-index:var(--z-base);inset:0;background-image:url(/_astro/astronaut-paper-texture.BLtoaQ1E.jpg);background-size:32rem;content:"";opacity:.14;pointer-events:none}body>*{position:relative;z-index:var(--z-raised)}button,a{font:inherit}a{color:var(--color-accent);text-decoration-color:currentColor;text-decoration-thickness:var(--rule-hair);text-underline-offset:.24em}button{color:inherit}button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.5}:focus-visible{border-radius:var(--radius-control);outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}::selection{color:var(--color-accent-ink);background:var(--color-accent)}h1,h2,h3{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-display);font-style:normal;font-weight:750;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}h1{font-size:var(--text-display)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);letter-spacing:-.02em}p{max-width:var(--text-width);margin:0}ul{padding:0}[hidden]{display:none!important}.visually-hidden{position:absolute;width:.0625rem;height:.0625rem;padding:0;margin:-.0625rem;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:var(--z-tooltip);inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--color-accent-ink);background:var(--color-focus);font-weight:700;transform:translateY(calc(-100% - var(--space-xl)));transition:transform var(--dur-short) var(--ease-out)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:var(--z-sticky-nav);inset-block-start:0;isolation:isolate;min-height:var(--header-height);border-block-end:var(--rule-hair) solid var(--color-rule-2);color:var(--color-ink);background:var(--color-paper-deep)}.site-header__inner{position:relative;display:flex;align-items:center;justify-content:space-between;width:min(100% - (2 * var(--page-gutter)),var(--content-width));min-height:var(--header-height);margin-inline:auto}.site-brand,.site-footer__wordmark{color:var(--color-ink);font-family:var(--font-display);font-weight:750;letter-spacing:-.025em;text-decoration:none;white-space:nowrap}.menu-toggle{display:none;align-items:center;gap:var(--space-sm);min-width:6.5rem;min-height:2.75rem;padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-paper);cursor:pointer;font-weight:700;white-space:nowrap;transition:color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-in-out)}[data-nav-ready] .menu-toggle{display:inline-flex}.menu-toggle__mark{position:relative;width:var(--space-md);height:var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:50%}.menu-toggle__mark:after{position:absolute;inset:50% auto auto 50%;width:var(--space-2xs);height:var(--space-2xs);border-radius:50%;background:var(--color-accent);content:"";transform:translate(-50%,-50%)}.site-menu{display:flex;align-items:center}[data-nav-ready] .site-menu{position:absolute;inset-block-start:calc(100% + var(--space-sm));inset-inline-end:0;display:grid;width:min(24rem,calc(100vw - (2 * var(--page-gutter))));padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);color:var(--color-ink);background:var(--color-paper-2);isolation:isolate}.site-menu__heading{padding-block-end:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm)}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-lg);margin:0;list-style:none}[data-nav-ready] .site-nav{display:grid;gap:0}.site-nav a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--color-ink-2);font-family:var(--font-display);font-size:var(--text-md);font-weight:700;text-decoration:none;white-space:nowrap}[data-nav-ready] .site-nav a{justify-content:space-between;border-block-end:var(--rule-hair) solid var(--color-rule-2)}[data-nav-ready] .site-nav a:after{color:var(--color-neutral);content:"↗";font-family:var(--font-body);font-size:var(--text-base)}.site-nav a[aria-current=page]{color:var(--color-accent)}main{width:min(100% - (2 * var(--page-gutter)),var(--content-width));min-height:65svh;margin-inline:auto}.foundation{position:relative;display:grid;gap:var(--space-2xl);min-height:clamp(36rem,78svh,52rem);padding-block:var(--space-2xl) var(--space-3xl);overflow:clip;isolation:isolate}.foundation__copy{position:relative;z-index:var(--z-raised);display:grid;align-content:center;gap:var(--space-lg);max-width:52rem}.foundation__lede{color:var(--color-ink-2);font-size:var(--text-md);line-height:1.5}.system-note{color:var(--color-accent);font-size:var(--text-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.foundation__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-block-start:var(--space-sm)}.work-map{position:relative;z-index:var(--z-raised);display:grid;min-height:20rem;padding:var(--space-lg);overflow:clip;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background-color:var(--color-paper-deep);isolation:isolate}.work-map:before{position:absolute;z-index:var(--z-base);inset:0;background-image:url(/_astro/astronaut-paper-texture.BLtoaQ1E.jpg);background-size:38rem;content:"";opacity:.42;pointer-events:none}.work-map:after{position:absolute;z-index:var(--z-base);inset:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:calc(var(--radius-surface) - var(--space-xs));content:"";pointer-events:none}.work-map>*{position:relative;z-index:var(--z-raised)}.work-map__title{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.work-map__title{align-self:start;padding-block-end:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.work-map__diagram{align-self:center;width:100%;max-height:24rem;overflow:visible}.work-map__route{fill:none;stroke:var(--color-rule);stroke-linecap:square;stroke-width:1;vector-effect:non-scaling-stroke}.work-map__node circle{fill:var(--color-paper-deep);stroke:var(--color-rule);stroke-width:1;vector-effect:non-scaling-stroke}.work-map__node text{fill:var(--color-muted);font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.04em}.work-map__node--final circle{stroke:var(--color-accent)}.work-map__node--final text{fill:var(--color-ink-2)}.work-map__signal{fill:var(--color-accent);transform:translate(60px,410px);animation:route-signal 3.4s var(--ease-in-out) .5s both}@keyframes route-signal{0%{opacity:0;transform:translate(60px,410px)}10%{opacity:1}26%{transform:translate(60px,320px)}50%{transform:translate(210px,320px)}68%{transform:translate(210px,230px)}84%{transform:translate(360px,230px)}to{opacity:1;transform:translate(360px,130px)}}.button-link,.ticker-control{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:var(--space-sm) var(--space-lg);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-control);font-weight:700;text-decoration:none;white-space:nowrap;transition:color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-in-out)}.button-link--primary{color:var(--color-accent-ink);background:var(--color-accent)}.button-link--secondary,.ticker-control{color:var(--color-ink);background:transparent}.button-link:active,.ticker-control:active,.menu-toggle:active,.button-link[data-state=loading],.ticker-control[data-state=loading]{transform:translateY(var(--space-3xs))}.button-link[aria-disabled=true],.button-link[data-state=loading],.ticker-control[data-state=loading]{cursor:wait;opacity:.65;pointer-events:none}.button-link[data-state=error],.ticker-control[data-state=error]{border-color:var(--color-error)}.button-link[data-state=success],.ticker-control[data-state=success]{border-color:var(--color-success)}.system-stack{display:grid;gap:var(--space-2xl);padding-block:var(--space-3xl) var(--space-4xl);border-block-start:var(--rule-hair) solid var(--color-rule-2);isolation:isolate}.system-stack__intro{display:grid;align-content:start;gap:var(--space-lg)}.system-stack__intro p:last-child{color:var(--color-muted)}.system-stack__proof{display:grid;gap:var(--space-lg)}.proof-panel{position:relative;display:grid;min-height:18rem;align-content:end;gap:var(--space-md);padding:var(--space-xl);overflow:clip;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);color:var(--color-ink);background:var(--color-paper-2);isolation:isolate}.proof-panel:before{position:absolute;z-index:var(--z-base);inset:0;background-image:url(/_astro/astronaut-paper-texture.BLtoaQ1E.jpg);background-size:34rem;content:"";opacity:.18;pointer-events:none}.proof-panel:after{position:absolute;z-index:var(--z-base);inset:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:calc(var(--radius-surface) - var(--space-xs));content:"";pointer-events:none}.proof-panel>*{position:relative;z-index:var(--z-raised)}.proof-panel:nth-child(2){color:var(--color-ink);background:var(--color-paper-3)}.proof-panel:nth-child(3){background:var(--color-paper-deep)}.proof-panel p{color:var(--color-muted)}.proof-panel__marker{position:absolute;inset-block-start:var(--space-lg);inset-inline-end:var(--space-lg);width:var(--space-sm);aspect-ratio:1;border-radius:50%;background:var(--color-accent)}.proof-panel--violet .proof-panel__marker{background:var(--color-violet)}.ticker-region{display:grid;gap:var(--space-xl);padding-block:var(--space-3xl) var(--space-2xl);border-block-start:var(--rule-hair) solid var(--color-rule-2);min-width:0}.ticker-region__heading{display:grid;gap:var(--space-lg)}.ticker-region__heading>div{display:grid;gap:var(--space-md)}.ticker-region__heading p{color:var(--color-muted)}.ticker-control{display:none;width:fit-content;cursor:pointer}.ticker-controls,.ticker-step-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.ticker-step-controls{display:none}[data-ticker][data-paused=true] .ticker-step-controls{display:flex}.ticker-step{display:inline-grid;width:2.75rem;min-height:2.75rem;place-items:center;padding:0;border:var(--rule-hair) solid var(--color-rule);border-radius:50%;color:var(--color-ink);background:var(--color-paper-2);cursor:pointer;font-weight:700;transition:color var(--dur-micro) var(--ease-in-out),border-color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-out)}.ticker-step:active{transform:translateY(var(--space-3xs))}.ticker-step:disabled{cursor:not-allowed;opacity:.5}[data-ticker][data-ready=true] .ticker-control{display:inline-flex}.ticker-viewport{width:100%;overflow:visible;border-block:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-deep)}.ticker-track{width:100%}.ticker-run{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);width:100%;margin:0;padding:var(--space-lg) 0;list-style:none}.ticker-run+.ticker-run{display:none}.ticker-item{min-width:0}.ticker-link{display:grid;grid-template-rows:5.5rem auto auto;gap:var(--space-xs);min-width:0;min-height:11.5rem;padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-paper-2);text-decoration:none;transition:border-color var(--dur-short) var(--ease-in-out),background-color var(--dur-short) var(--ease-in-out),transform var(--dur-short) var(--ease-out)}.ticker-link:active{transform:translateY(var(--space-3xs))}.ticker-mark{display:flex;align-items:center;justify-content:center;min-width:0;padding:var(--space-sm) var(--space-md);border-radius:calc(var(--radius-control) / 2);background:var(--color-logo-paper)}.ticker-mark img{display:block;width:auto;max-width:100%;height:auto;object-fit:contain}.ticker-mark--wide img{max-height:3.25rem}.ticker-mark--square img{max-height:4.5rem}.ticker-label{overflow:hidden;font-family:var(--font-display);font-size:var(--text-md);font-weight:750;letter-spacing:-.02em;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.ticker-relationship{overflow:hidden;color:var(--color-muted);font-size:var(--text-sm);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}[data-ticker][data-ready=true] .ticker-viewport{overflow:clip;contain:inline-size paint}[data-ticker][data-ready=true] .ticker-track,[data-ticker][data-ready=true] .ticker-run{display:flex;width:max-content}[data-ticker][data-ready=true] .ticker-run{align-items:stretch;gap:var(--space-sm);padding:var(--space-lg) var(--space-sm) var(--space-lg) 0}[data-ticker][data-ready=true] .ticker-item{width:18rem}.ticker-item:nth-child(3) .ticker-link{border-color:var(--color-rule);background:var(--color-paper-3)}.page-intro{display:grid;gap:var(--space-lg);min-height:70svh;align-content:center;padding-block:var(--space-3xl)}.page-intro>p:not(.system-note){color:var(--color-muted);font-size:var(--text-md)}.contact-layout{display:grid;gap:var(--space-3xl);min-height:75svh;padding-block:var(--space-3xl) var(--space-4xl);isolation:isolate}.contact-intro{display:grid;align-content:start;gap:var(--space-lg)}.contact-intro>p:not(.system-note){color:var(--color-muted);font-size:var(--text-md)}.contact-intro h1{font-size:var(--text-display-s);overflow-wrap:normal}.contact-intro__fallback{display:grid;gap:var(--space-xs);padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule-2)}.contact-intro__fallback a{width:fit-content;overflow-wrap:anywhere;color:var(--color-ink);font-weight:700}.contact-panel{align-self:start;padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}.contact-form{display:grid;gap:var(--space-lg)}.contact-form__header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-md);padding-block-end:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.contact-form__header h2{font-size:var(--text-xl)}.contact-form__header p{flex:none;color:var(--color-muted);font-size:var(--text-sm)}.contact-form__header p span,.form-field label>span:not(.form-field__optional){color:var(--color-accent)}.contact-honeypot{position:absolute;inset-inline-start:-10000px;width:1px;height:1px;overflow:hidden}.form-field{display:grid;gap:var(--space-xs)}.form-field label{width:fit-content;color:var(--color-ink-2);font-family:var(--font-display);font-weight:700}.form-field__optional,.form-field__hint,.contact-form__privacy{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:350}.form-field input,.form-field textarea{width:100%;min-height:3rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-paper-deep);caret-color:var(--color-accent);font:inherit;transition:border-color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out)}.form-field textarea{min-height:11rem;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-focus);background:var(--color-paper)}.form-field[data-invalid] input,.form-field[data-invalid] textarea{border-color:var(--color-error);border-inline-start-width:var(--rule-strong)}.form-field__error{min-height:0;color:var(--color-error);font-size:var(--text-sm);font-weight:700}.form-field__error:empty{display:none}.contact-form__actions{display:grid;gap:var(--space-sm);padding-block-start:var(--space-sm)}.contact-submit{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:2.75rem;padding:var(--space-sm) var(--space-lg);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-control);color:var(--color-accent-ink);background:var(--color-accent);cursor:pointer;font-weight:700;transition:color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-in-out)}.contact-submit:active{transform:translateY(var(--space-3xs))}.contact-submit:disabled{cursor:wait}.form-status{padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-inline-start-width:var(--rule-strong);border-radius:var(--radius-control);color:var(--color-ink-2);background:var(--color-paper-deep)}.form-status[data-state=success]{border-inline-start-color:var(--color-success)}.form-status[data-state=error]{border-inline-start-color:var(--color-error)}.form-status--note{margin-block-start:var(--space-lg)}.easter-intro,.easter-gallery{width:min(100% - (2 * var(--page-gutter)),var(--content-width));margin-inline:auto}.easter-intro{display:grid;justify-items:start;gap:var(--space-lg);min-height:72svh;align-content:center;padding-block:var(--space-3xl)}.easter-intro__lede{max-width:52ch;color:var(--color-ink-2);font-size:var(--text-md)}.easter-intro__note{max-width:62ch;color:var(--color-muted);font-size:var(--text-sm)}.easter-gallery{padding-block:var(--space-3xl) var(--space-4xl);border-block-start:var(--rule-hair) solid var(--color-rule-2)}.easter-gallery__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);margin-block-start:var(--space-2xl)}.easter-poster{display:grid;gap:var(--space-sm);min-width:0;margin:0}.easter-poster img{display:block;width:100%;height:auto;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2)}.easter-poster figcaption{color:var(--color-muted);font-size:var(--text-sm)}.portfolio-hero{padding-block:var(--space-xl) var(--space-2xl)}.portfolio-hero .foundation__copy{gap:var(--space-md)}.hero-context,.project-feature__meta,.experience-entry__date{color:var(--color-accent);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em}.hero-summary{color:var(--color-muted)}.hero-facts{display:grid;gap:var(--space-md);padding-block-start:var(--space-lg);margin:0;border-block-start:var(--rule-hair) solid var(--color-rule-2)}.hero-facts div{display:grid;grid-template-columns:minmax(5.5rem,.3fr) minmax(0,1fr);gap:var(--space-md)}.hero-facts dt,.hero-facts dd{margin:0}.hero-facts dt{color:var(--color-neutral);font-size:var(--text-sm);font-weight:700}.hero-facts dd{color:var(--color-ink-2)}.hero-evidence{position:relative;display:grid;min-width:0;isolation:isolate}.hero-evidence .work-map{min-height:28rem}.hero-portrait{position:relative;z-index:calc(var(--z-raised) + 1);display:grid;grid-template-columns:minmax(0,1fr);width:min(70%,17rem);margin:calc(-1 * var(--space-2xl)) var(--space-lg) 0 auto;overflow:clip;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2);isolation:isolate}.hero-portrait:after{position:absolute;z-index:var(--z-raised);inset:var(--space-xs);border:var(--rule-hair) solid var(--color-rule-2);border-radius:calc(var(--radius-surface) - var(--space-xs));content:"";pointer-events:none}.hero-portrait picture,.hero-portrait img{display:block;width:100%}.hero-portrait img{height:auto;aspect-ratio:1;object-fit:cover}.hero-portrait figcaption{display:flex;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--color-muted);font-size:var(--text-xs)}.hero-portrait figcaption span:first-child{color:var(--color-ink);font-weight:700}.hero-scroll-cue{position:absolute;z-index:calc(var(--z-raised) + 2);inset-block-end:var(--space-sm);inset-inline-start:50%;display:inline-flex;min-height:2.75rem;align-items:center;gap:var(--space-sm);padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-muted);background:var(--color-paper-deep);font-size:var(--text-sm);font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;opacity:.78;transform:translate(-50%);transition:color var(--dur-short) var(--ease-in-out),border-color var(--dur-short) var(--ease-in-out),opacity var(--dur-short) var(--ease-in-out),transform var(--dur-short) var(--ease-out)}.hero-scroll-cue__arrow{color:var(--color-accent);font-size:var(--text-md)}.hero-scroll-cue:active{opacity:1;transform:translate(-50%) translateY(var(--space-3xs))}.systems-portrait{position:relative;display:grid;min-height:clamp(42rem,calc(100svh - var(--header-height)),50rem);padding-block:var(--space-xl) var(--space-3xl);overflow:clip;isolation:isolate}.systems-portrait__scene{position:absolute;z-index:var(--z-base);inset:0;min-width:0;pointer-events:none}.systems-portrait__scene figure{--hero-shift-x: 0rem;--hero-shift-y: 0rem;--hero-tilt: 0deg;position:absolute;margin:0;transform:translate3d(var(--hero-shift-x),var(--hero-shift-y),0) rotate(calc(var(--hero-base-tilt) + var(--hero-tilt)));transform-origin:center}.systems-portrait__portrait{--hero-base-tilt: -.35deg;inset-block:42% 5%;inset-inline:15% -10%;overflow:clip;border-radius:var(--radius-surface);background:var(--color-paper-2)}.systems-portrait__portrait picture,.systems-portrait__portrait img,.systems-portrait__fragment picture,.systems-portrait__fragment img{display:block;width:100%;height:100%}.systems-portrait__portrait img{object-fit:cover;object-position:center 37%}.systems-portrait__fragment{z-index:var(--z-raised);overflow:clip;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-deep)}.systems-portrait__fragment-link{position:absolute;z-index:calc(var(--z-raised) + 1);inset:0;border-radius:inherit;color:inherit;pointer-events:auto;text-decoration:none}.systems-portrait__fragment-link:after{position:absolute;inset:0;border:var(--rule-strong) solid transparent;border-radius:inherit;content:"";pointer-events:none;transition:border-color var(--dur-micro) var(--ease-in-out)}.systems-portrait__fragment-link:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-3xs)}.systems-portrait__fragment-link:active:after{border-color:var(--color-ink-2)}@media(hover:hover)and (pointer:fine){.systems-portrait__fragment-link:hover:after{border-color:var(--color-accent)}}.systems-portrait__fragment img{object-fit:cover}.systems-portrait__fragment figcaption{position:absolute;inset-inline:0;inset-block-end:0;padding:var(--space-xs) var(--space-sm);color:var(--color-ink-2);background:var(--color-paper-deep);font-size:var(--text-xs);font-weight:700;line-height:1.35}.systems-portrait__fragment--technical{--hero-base-tilt: -1.2deg;inset-block-end:2%;inset-inline-start:-3%;width:84%;height:9rem}.systems-portrait__fragment--technical img{object-position:center top}.systems-portrait__fragment--creative{--hero-base-tilt: 2deg;display:grid;grid-template-rows:minmax(0,1fr) auto;inset-block-start:63%;inset-inline-end:var(--space-sm);width:56%;height:10rem}.systems-portrait__fragment--creative picture{min-height:0;height:auto}.systems-portrait__fragment--creative img{object-position:center 72%}.systems-portrait__fragment--creative figcaption{position:static;display:grid;gap:var(--space-3xs)}.systems-portrait__fragment--creative figcaption span:last-child{color:var(--color-ink-2);font-size:.9em;font-weight:600}.systems-portrait__signal{position:absolute;z-index:calc(var(--z-base) + 1);inset:12% -4% 0 3%;width:101%;height:88%;overflow:visible;pointer-events:none}.systems-portrait__signal path,.systems-portrait__signal circle{fill:var(--color-paper-deep);stroke:var(--color-accent);stroke-width:1.25;vector-effect:non-scaling-stroke}.systems-portrait__signal path{fill:none;opacity:.48}.systems-portrait__copy{position:relative;z-index:calc(var(--z-raised) + 2);display:grid;align-content:start;align-self:stretch;gap:var(--space-md);width:min(100%,30rem)}.systems-portrait__context{max-width:32ch;color:var(--color-accent);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em}.systems-portrait h1{display:grid;font-size:clamp(3.25rem,16vw,5.25rem);line-height:.88;letter-spacing:-.055em}.systems-portrait h1 span:last-child{color:var(--color-ink-2)}.systems-portrait__lede{max-width:25ch;color:var(--color-ink);font-size:var(--text-md);font-weight:350;line-height:1.4}.systems-portrait__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-lg);margin-block-start:var(--space-xs)}.systems-portrait__resume{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--color-ink-2);font-weight:700;text-decoration:none;white-space:nowrap}.systems-portrait__resume{gap:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule);transition:color var(--dur-micro) var(--ease-in-out),border-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-out)}.systems-portrait__resume:active{transform:translateY(var(--space-3xs))}.impact-ledger{display:grid;gap:var(--space-xl);padding-block:var(--space-xl);border-block:var(--rule-hair) solid var(--color-rule);scroll-margin-block-start:calc(var(--header-height) + var(--space-md))}.impact-ledger dl{display:grid;gap:var(--space-lg);margin:0}.impact-ledger dl div{display:grid;gap:var(--space-xs);padding-inline-start:var(--space-md);border-inline-start:var(--rule-strong) solid var(--color-accent)}.impact-ledger dt,.impact-ledger dd,.project-metrics dt,.project-metrics dd{margin:0}.impact-ledger dt,.project-metrics dt{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1}.impact-ledger dd,.project-metrics dd{color:var(--color-muted);font-size:var(--text-sm)}.selected-work,.experience-story,.about-thread,.project-case-list{padding-block:var(--space-3xl)}.selected-work{padding-block-end:var(--space-2xl)}.section-heading{display:grid;gap:var(--space-xl);margin-block-end:var(--space-2xl)}.section-heading--compact{grid-template-columns:minmax(0,1fr)}.section-heading>div,.experience-story__intro,.project-case__header{display:grid;gap:var(--space-lg)}.section-heading>p,.experience-story__intro>p:last-child{color:var(--color-muted);font-size:var(--text-md)}.project-ledger{display:grid;gap:var(--space-2xl)}.project-feature{display:grid;gap:var(--space-2xl);min-width:0;padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule-2);scroll-margin-block-start:calc(var(--header-height) + var(--space-xl))}.project-feature:last-child{padding-block-end:0}.project-feature__visual,.project-case__visual{position:relative;min-width:0;margin:0;overflow:clip;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2);isolation:isolate}.project-feature__visual:after,.project-case__visual:after{position:absolute;z-index:var(--z-raised);inset:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:calc(var(--radius-surface) - var(--space-xs));content:"";pointer-events:none}.selected-work[data-project-motion-ready] [data-project-visual]{--project-slide-distance: calc(-1 * var(--space-xl));opacity:.24;transform:translate3d(var(--project-slide-distance),0,0);transition:opacity var(--dur-short) var(--ease-in),transform var(--dur-short) var(--ease-in);will-change:opacity,transform}.selected-work[data-project-motion-ready] [data-project-visual][data-project-motion=from-right]{--project-slide-distance: var(--space-xl)}.selected-work[data-project-motion-ready] [data-project-visual][data-project-visible]{opacity:1;transform:translateZ(0);transition-timing-function:var(--ease-out)}.project-feature__visual picture,.project-feature__visual>picture>img,.project-feature__visual>img,.project-case__visual picture,.project-case__visual>picture>img,.project-case__visual>img{display:block;width:100%}.project-feature__visual>picture>img,.project-feature__visual>img,.project-case__visual>picture>img,.project-case__visual>img{height:100%;object-fit:cover}.project-feature--attendance .project-feature__visual{display:grid;min-height:16rem;place-items:center;padding:var(--space-xl);background:var(--color-paper-3)}.project-feature--attendance .project-feature__visual>picture>img,.project-feature--attendance .project-feature__visual>img{height:auto;border:var(--rule-hair) solid var(--color-rule);object-fit:contain}.project-feature--chester .project-feature__visual{width:min(100%,28rem);min-height:0;aspect-ratio:1;align-self:center;justify-self:end}.project-feature--chester .project-feature__visual>picture>img,.project-feature--chester .project-feature__visual>img{object-position:center 62%}.project-feature--imdb .project-feature__visual{display:grid;min-height:20rem;place-items:center;padding:var(--space-lg);background:var(--color-ink)}.project-feature--imdb .project-feature__visual>picture>img,.project-feature--imdb .project-feature__visual>img{height:auto;object-fit:contain}.project-feature__mark{position:absolute;z-index:calc(var(--z-raised) + 1);inset:var(--space-lg) var(--space-lg) auto auto;width:min(38%,12rem);height:auto;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-ink)}.project-feature__copy{display:grid;align-content:center;gap:var(--space-lg);min-width:0}.project-feature__role{width:fit-content;padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.project-feature__copy>p:not(.project-feature__meta,.project-feature__role){color:var(--color-muted)}.project-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin:0;padding-block:var(--space-lg);border-block:var(--rule-hair) solid var(--color-rule-2)}.project-metrics div{display:grid;align-content:start;gap:var(--space-xs);min-width:0}.project-metrics dt{font-size:var(--text-lg);overflow-wrap:anywhere}.project-link{display:inline-flex;align-items:center;gap:var(--space-sm);width:fit-content;min-height:2.75rem;color:var(--color-ink);font-family:var(--font-display);font-weight:750;text-decoration-color:var(--color-accent);white-space:nowrap;transition:color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-in-out)}.experience-story{display:grid;gap:var(--space-3xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.experience-story__rail{display:grid;gap:var(--space-2xl)}.experience-entry{display:grid;gap:var(--space-xl);padding-block-start:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule-2)}.experience-entry>div:last-child{display:grid;gap:var(--space-md)}.experience-entry p:last-child{color:var(--color-muted)}.experience-entry__logo{display:grid;width:min(100%,18rem);min-height:7rem;place-items:center;padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-ink)}.experience-entry__logo picture,.experience-entry__logo img{display:block;width:100%;height:auto}.experience-entry__sequence{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);color:var(--color-ink-2);font-family:var(--font-display);font-weight:750}.experience-entry__sequence a{display:inline-flex;align-items:center;min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:inherit;background:var(--color-paper-2);text-decoration:none;transition:color var(--dur-micro) var(--ease-in-out),border-color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-out)}.experience-entry__sequence a:after{margin-inline-start:var(--space-md);color:var(--color-accent);content:"→"}.experience-entry__sequence a:active{transform:translateY(var(--space-3xs))}.about-thread{display:grid;gap:var(--space-2xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.about-thread>div{display:grid;align-content:start;gap:var(--space-lg)}.about-thread>div:last-child p{color:var(--color-muted)}.project-index-intro{min-height:56svh;border-block-end:var(--rule-hair) solid var(--color-rule)}.project-index-intro h1{font-size:var(--text-display-s)}.project-index-intro__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,38rem);margin:var(--space-md) 0 0;border-block:var(--rule-hair) solid var(--color-rule)}.project-index-intro__facts div{display:grid;gap:var(--space-2xs);padding:var(--space-md) var(--space-md) var(--space-md) 0}.project-index-intro__facts div+div{padding-inline-start:var(--space-md);border-inline-start:var(--rule-hair) solid var(--color-rule-2)}.project-index-intro__facts dt{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-index-intro__facts dd{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:700}.selected-work__all{display:flex;justify-content:flex-end}.project-directory{display:grid;gap:var(--space-2xl);padding-block:var(--space-2xl) var(--space-4xl)}.project-directory__header{display:grid;gap:var(--space-lg)}.project-directory__header p{color:var(--color-muted);font-size:var(--text-base)}.project-index{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);margin:0;list-style:none}.project-index>li{min-width:0}.project-card{position:relative;display:grid;height:100%;overflow:clip;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-surface);background:var(--color-paper-2);isolation:isolate}.project-card h3 a{color:var(--color-ink);text-decoration:none}.project-card h3 a:after{position:absolute;z-index:var(--z-raised);inset:0;border-radius:var(--radius-surface);content:""}.project-card:focus-within{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}.project-card h3 a:focus-visible{outline:0}.project-card__visual{position:relative;min-width:0;aspect-ratio:4 / 3;overflow:clip;border-block-end:var(--rule-hair) solid var(--color-rule-2);background:var(--color-paper-3)}.project-card__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.02);transform:scale(1.001);transition:transform var(--dur-short) var(--ease-out)}.project-card__visual-code{position:absolute;z-index:var(--z-raised);inset:auto auto var(--space-md) var(--space-md);max-width:none;padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-paper-deep);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.08em}.project-card__poster{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;padding:var(--space-lg);background:var(--color-paper-3)}.project-card__poster span{color:var(--color-accent);font-family:var(--font-display);font-size:clamp(var(--text-xl),7vw,var(--text-3xl));font-weight:750;letter-spacing:-.035em;line-height:.95}.project-card__poster strong{align-self:start;color:var(--color-rule);font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.project-card__poster small{grid-column:1 / -1;color:var(--color-ink-2);font-size:var(--text-sm)}.project-card__body{display:grid;grid-template-rows:auto auto auto 1fr auto auto;gap:var(--space-md);padding:var(--space-lg)}.project-card__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.04em}.project-card__meta p{max-width:72%}.project-card__meta p:last-child{white-space:nowrap}.project-card__summary{color:var(--color-muted)}.project-card__outcome{align-self:end;display:grid;gap:var(--space-xs);padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule-2)}.project-card__outcome p{color:var(--color-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-card__outcome strong{color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.5}.project-card__tools{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0;list-style:none}.project-card__tools li{padding:var(--space-2xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);color:var(--color-ink-2);font-size:var(--text-xs);white-space:nowrap}.project-card__action{display:flex;align-items:center;justify-content:space-between;min-height:2.75rem;color:var(--color-ink);font-weight:700;white-space:nowrap}.project-card__action span{color:var(--color-accent)}.project-detail__evidence dt{color:var(--color-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-detail__evidence dd{margin:0;color:var(--color-ink-2)}@media(hover:hover)and (pointer:fine){.project-card:hover .project-card__visual img{transform:scale(1.025)}}.project-detail{display:grid;gap:var(--space-3xl);min-height:72svh;padding-block:var(--space-3xl) var(--space-4xl)}.project-detail__intro,.project-detail__evidence{display:grid;align-content:start;gap:var(--space-lg)}.project-detail__intro>p:last-child,.project-detail__evidence>p{color:var(--color-muted);font-size:var(--text-md)}.project-detail__evidence{padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}.project-detail__evidence dl{display:grid;gap:var(--space-lg);margin:0}.project-detail__evidence dl div{display:grid;gap:var(--space-xs)}.project-detail--full{display:block}.project-detail--full>*+*{margin-block-start:var(--space-2xl)}.project-detail--full .project-detail__intro{max-width:58rem;min-height:min(42svh,30rem);align-content:center}.project-detail--full h1{max-width:18ch;font-size:var(--text-display-s)}.project-detail__visual{display:grid;min-height:20rem;max-height:46rem;place-items:center;padding:var(--space-xl);overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}.project-detail__visual img{display:block;width:100%;height:auto;max-height:42rem;object-fit:contain;border-radius:calc(var(--radius-surface) / 2)}.project-detail__video{gap:var(--space-sm);padding:var(--space-md)}.project-detail__video video{width:100%;max-height:42rem;background:var(--color-paper-deep)}.project-detail__video figcaption{color:var(--color-muted);font-size:var(--text-sm)}.project-detail--full .project-detail__visual{gap:var(--space-md)}.project-detail__context-line{color:var(--color-accent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:700}.project-detail--chester .project-detail__visual figcaption,.chester-documentary figcaption{width:100%;color:var(--color-muted);font-size:var(--text-sm);line-height:1.55}.chester-documentary{display:grid;gap:var(--space-4xl);isolation:isolate}.chester-documentary__split,.chester-reel{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xl);align-items:center}.chester-documentary__copy{display:grid;gap:var(--space-lg);min-width:0}.chester-documentary__copy h2,.chester-race-day h2{max-width:18ch;overflow-wrap:anywhere}.chester-documentary__copy p,.chester-race-day header p{max-width:62ch;color:var(--color-muted);font-size:var(--text-md)}.chester-documentary__figure,.chester-race-day__figure{display:grid;gap:var(--space-sm);min-width:0;margin:0}.chester-documentary__figure img,.chester-race-day__figure img{display:block;width:100%;height:auto;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-surface);background:var(--color-paper-2)}.chester-documentary__figure--poster{width:min(100%,32rem);justify-self:center}.chester-documentary__figure--portrait img{aspect-ratio:3 / 4;object-fit:cover}.chester-race-day{display:grid;gap:var(--space-2xl)}.chester-race-day>header{display:grid;gap:var(--space-lg)}.chester-race-day>header p{max-width:none}.chester-race-day__gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}.chester-race-day__figure img{aspect-ratio:4 / 3;object-fit:cover}.chester-race-day__figure--tall img{aspect-ratio:3 / 4}.chester-reel{padding-block:var(--space-xl);border-block:var(--rule-hair) solid var(--color-rule)}.chester-reel__embed{width:min(100%,32rem);justify-self:center;aspect-ratio:9 / 16;overflow:clip;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-logo-paper)}.chester-reel__embed iframe{display:block;width:100%;height:100%;border:0}.chester-reel a{display:inline-flex;align-items:center;justify-self:start;gap:var(--space-xs);min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-control);color:var(--color-ink);font-weight:700;text-decoration:none;white-space:nowrap;transition:color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-out)}.chester-reel a:active{transform:translateY(var(--space-3xs))}@media(hover:hover)and (pointer:fine){.chester-reel a:hover{color:var(--color-accent-ink);background:var(--color-accent);transform:translateY(calc(-1 * var(--space-3xs)))}}.project-detail--chester .project-detail__visual--team{max-height:none;padding:var(--space-md)}.project-detail--chester .project-detail__visual--team img{width:100%;max-height:none;aspect-ratio:4 / 3;object-fit:cover;object-position:center 68%}.project-detail--chester .project-detail__visual--team figcaption{padding:var(--space-xs) var(--space-xs) 0;color:var(--color-ink-2);font-size:var(--text-md)}.project-detail--chester .project-detail__visual--team figcaption strong{color:var(--color-ink)}.chester-documentary{gap:var(--space-3xl)}.chester-documentary__figure--poster{width:min(100%,25rem)}.chester-documentary__figure--portrait img{aspect-ratio:4 / 3;object-position:center 72%}.chester-race-day{gap:var(--space-xl)}.chester-race-day__gallery{gap:var(--space-lg)}.chester-race-day__figure--tall img{aspect-ratio:4 / 3}.chester-race-day__figure--pack img{object-position:center 76%}.chester-reel__embed{width:min(100%,28rem)}@media(min-width:40rem){.project-detail--chester .project-detail__visual--team img{aspect-ratio:16 / 7}.chester-race-day__figure--wide{grid-column:auto}}@media(min-width:48rem){.chester-documentary__split,.chester-reel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl)}.chester-documentary__split--reverse{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}}@media(min-width:60rem){.chester-race-day__figure--wide,.chester-race-day__figure--runner{grid-column:1 / 7}.chester-race-day__figure--tall,.chester-race-day__figure--pack{grid-column:7 / 13}.chester-race-day__figure--wide,.chester-race-day__figure--tall{grid-row:1}.chester-race-day__figure--runner,.chester-race-day__figure--pack{grid-row:2}}.legacy-archive{display:grid;gap:var(--space-2xl);padding-block:var(--space-xl) var(--space-2xl);border-block:var(--rule-hair) solid var(--color-rule-2);isolation:isolate}.legacy-archive__intro{display:grid;gap:var(--space-lg)}.legacy-archive__intro>div{display:grid;gap:var(--space-sm)}.legacy-archive__intro>p{color:var(--color-muted)}.legacy-archive__display{display:grid;justify-items:center;min-width:0}.legacy-archive__screen{width:100%;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);color:var(--color-ink);background:var(--color-paper-3);overflow:clip;isolation:isolate}.legacy-archive__screen iframe{display:block;width:100%;height:clamp(30rem,72svh,52rem);border:0;border-radius:calc(var(--radius-surface) - var(--space-xs));background:var(--color-logo-paper)}.legacy-archive__stand{position:relative;width:min(32%,15rem);height:var(--space-xl);border-inline:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2)}.legacy-archive__stand:after{position:absolute;inset:auto 50% 0;width:min(170%,20rem);height:var(--space-xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-3);content:"";transform:translate(-50%)}.legacy-archive__footer{display:grid;gap:var(--space-lg);align-items:start}.legacy-archive__footer p{color:var(--color-muted)}.legacy-archive__footer a{display:inline-flex;align-items:center;justify-self:start;gap:var(--space-xs);min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-control);color:var(--color-ink);background:transparent;font-weight:700;text-decoration:none;white-space:nowrap;transition:color var(--dur-micro) var(--ease-in-out),background-color var(--dur-micro) var(--ease-in-out),transform var(--dur-micro) var(--ease-out)}.legacy-archive__footer a:active{transform:translateY(var(--space-3xs))}@media(hover:hover)and (pointer:fine){.legacy-archive__footer a:hover{color:var(--color-accent-ink);background:var(--color-accent)}}.project-detail--attendance .project-detail__intro{max-width:64rem}.attendance-intro__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-block-start:var(--space-xs)}.attendance-intro__continuity{width:fit-content;max-width:58ch;padding-inline-start:var(--space-md);border-inline-start:var(--rule-strong) solid var(--color-accent);color:var(--color-ink-2)!important;font-size:var(--text-sm)!important;text-wrap:balance}.attendance-lead{display:grid;gap:var(--space-lg);min-width:0;padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}.attendance-lead__figure{display:grid;min-width:0;gap:var(--space-sm);margin:0}.attendance-lead__figure img{display:block;width:100%;height:auto;border-radius:calc(var(--radius-surface) / 2)}.attendance-lead figcaption,.attendance-split figcaption{color:var(--color-muted);font-size:var(--text-sm)}.attendance-lead__notes{display:grid;align-content:start;gap:var(--space-lg);min-width:0;padding:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule)}.attendance-lead__notes>p{color:var(--color-ink-2);font-size:var(--text-md);font-weight:700}.attendance-lead__notes dl{display:grid;gap:var(--space-lg);margin:0}.attendance-lead__notes dl div{display:grid;gap:var(--space-2xs)}.attendance-lead__notes dt{color:var(--color-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.attendance-lead__notes dd{margin:0;color:var(--color-muted)}.attendance-case{display:grid;gap:var(--space-4xl)}.attendance-section,.attendance-split,.attendance-evidence{min-width:0}.attendance-section{display:grid;gap:var(--space-2xl)}.attendance-section__header{display:grid;gap:var(--space-lg);align-items:start}.attendance-section__header>div{display:grid;gap:var(--space-sm)}.attendance-section__header>p,.attendance-split__copy>p,.attendance-plain-list,.attendance-findings p,.attendance-artifact p{color:var(--color-muted);font-size:var(--text-md)}.attendance-flow{position:relative;isolation:isolate;display:grid;gap:var(--space-xl);padding:0;margin:0;list-style:none}.attendance-flow:before{position:absolute;z-index:0;inset-block:var(--space-sm) auto;inset-inline:0;width:var(--rule-hair);height:calc(100% - var(--space-lg));background:var(--color-rule);content:"";transform:scaleY(0);transform-origin:top;transition:transform var(--dur-long) var(--ease-out)}[data-attendance-visible] .attendance-flow:before{transform:scaleY(1)}.attendance-flow li{position:relative;z-index:1;display:grid;gap:var(--space-xs);padding-inline-start:var(--space-xl)}.attendance-flow li:before{position:absolute;inset-block-start:var(--space-xs);inset-inline-start:calc(-1 * var(--space-xs));width:var(--space-md);height:var(--space-md);border:var(--rule-strong) solid var(--color-accent);border-radius:50%;background:var(--color-paper);content:""}.attendance-flow li>span,.attendance-artifact small,.attendance-dialog small,.attendance-demo summary small{color:var(--color-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.attendance-flow li>strong{color:var(--color-ink);font-size:var(--text-md)}.attendance-flow li p{color:var(--color-muted)}.attendance-split{display:grid;gap:var(--space-2xl);align-items:center}.attendance-split__copy{display:grid;gap:var(--space-lg);min-width:0}.attendance-plain-list{display:grid;gap:var(--space-sm);padding-inline-start:var(--space-xl);margin:0}.attendance-plain-list li::marker{color:var(--color-accent)}.attendance-split__proof{display:grid;gap:var(--space-sm);min-width:0;padding:var(--space-md);margin:0;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}.attendance-split__proof img{display:block;width:100%;height:auto;border-radius:calc(var(--radius-surface) / 2)}.attendance-chart-grid{display:grid;gap:var(--space-2xl)}.attendance-chart{display:grid;gap:var(--space-lg);min-width:0;padding-block-start:var(--space-lg);margin:0;border-block-start:var(--rule-strong) solid var(--color-rule)}.attendance-chart figcaption{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:750;letter-spacing:-.02em}.attendance-chart ul{display:grid;gap:var(--space-sm);margin:0;list-style:none}.attendance-chart li{display:grid;grid-template-columns:minmax(4.75rem,auto) minmax(0,1fr) 2rem;gap:var(--space-sm);align-items:center;min-width:0;color:var(--color-muted);font-size:var(--text-sm)}.attendance-chart li>span{overflow-wrap:anywhere}.attendance-chart li>i{display:block;height:var(--space-sm);overflow:hidden;border-radius:var(--radius-control);background:var(--color-paper-3)}.attendance-chart li>i>b{display:block;width:100%;height:100%;border-radius:inherit;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-long) var(--ease-out)}[data-attendance-visible] .attendance-chart li>i>b{transform:scaleX(var(--bar-scale))}.attendance-chart li>strong{color:var(--color-ink-2);font-variant-numeric:tabular-nums;text-align:end}.attendance-findings{display:grid;gap:var(--space-2xl)}.attendance-findings article{display:grid;align-content:start;gap:var(--space-sm);padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule-2)}.attendance-findings article>strong{color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-display-s);font-variant-numeric:tabular-nums;letter-spacing:-.05em;line-height:.9}.attendance-findings h3{font-size:var(--text-md)}.attendance-continuity__proof{display:grid;gap:var(--space-sm);align-content:center;min-height:20rem;padding:var(--space-xl);border-block:var(--rule-strong) solid var(--color-accent)}.attendance-continuity__proof strong{color:var(--color-accent);font-family:var(--font-display);font-size:clamp(var(--text-display-s),14vw,8rem);font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:.85}.attendance-continuity__proof span{color:var(--color-ink-2);font-size:var(--text-md)}.attendance-privacy-note{padding:var(--space-lg);border-inline-start:var(--rule-strong) solid var(--color-accent);color:var(--color-ink-2)!important;font-size:var(--text-base)!important}.attendance-privacy-note strong{color:var(--color-ink)}.attendance-demo{scroll-margin-block-start:calc(var(--header-height) + var(--space-lg))}.attendance-demo details{border-block:var(--rule-strong) solid var(--color-rule)}.attendance-demo summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-xl);cursor:pointer;list-style:none}.attendance-demo summary::-webkit-details-marker{display:none}.attendance-demo summary>span:first-child{display:grid;gap:var(--space-xs)}.attendance-demo summary strong{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em}.attendance-demo__state{flex:0 0 auto;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-accent);font-size:var(--text-sm);font-weight:700;white-space:nowrap;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.attendance-demo summary:active .attendance-demo__state{transform:translateY(var(--space-3xs))}.attendance-demo__body{display:grid;gap:var(--space-lg);padding-block:0 var(--space-xl);animation:attendance-demo-enter var(--dur-long) var(--ease-out) both}.attendance-demo__body header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-md)}.attendance-demo__body header p{color:var(--color-muted)}.attendance-demo__body iframe{width:100%;min-height:58rem;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}@keyframes attendance-demo-enter{0%{opacity:0;transform:translateY(var(--space-sm))}to{opacity:1;transform:translateY(0)}}.attendance-evidence{display:grid;gap:var(--space-2xl)}.attendance-evidence__grid{display:grid;gap:var(--space-lg)}.attendance-artifact{isolation:isolate;display:grid;min-width:0;overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}.attendance-artifact>div:last-child{display:grid;align-content:start;justify-items:start;gap:var(--space-md);padding:var(--space-xl)}.attendance-artifact img{display:block;width:100%;height:100%;max-height:24rem;object-fit:cover;object-position:center top}.attendance-code-mark{display:grid;align-content:center;gap:var(--space-md);min-height:18rem;padding:var(--space-xl);border-block-end:var(--rule-hair) solid var(--color-rule-2);color:var(--color-accent);background:var(--color-paper-deep);font-family:var(--font-body);font-size:var(--text-md);font-weight:700}.attendance-code-mark span:nth-child(2){color:var(--color-violet);transform:translate(var(--space-lg))}.attendance-code-mark span:nth-child(3){color:var(--color-muted);transform:translate(var(--space-2xl))}.attendance-artifact button,.attendance-dialog button{padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-accent);background:transparent;font-weight:700;white-space:nowrap;cursor:pointer;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.attendance-artifact button:active,.attendance-dialog button:active{transform:translateY(var(--space-3xs))}.attendance-artifact-links ul{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.attendance-dialog{z-index:var(--z-modal);isolation:isolate;grid-template-rows:auto minmax(0,1fr) auto;width:min(70rem,calc(100vw - (2 * var(--space-xl))));height:min(52rem,calc(100dvh - (2 * var(--space-xl))));padding:0;margin:auto;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);color:var(--color-ink);background:var(--color-paper)}.attendance-dialog:not([open]){display:none}.attendance-dialog[open]{display:grid}.attendance-dialog::backdrop{background:color-mix(in oklch,var(--color-paper-deep) 88%,transparent)}.attendance-dialog>header,.attendance-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.attendance-dialog>header{border-block-end:var(--rule-hair) solid var(--color-rule-2)}.attendance-dialog>header>div{display:grid;gap:var(--space-2xs);min-width:0}.attendance-dialog h2{font-size:var(--text-lg)}.attendance-dialog>footer{justify-content:flex-end;border-block-start:var(--rule-hair) solid var(--color-rule-2)}.attendance-dialog iframe{width:100%;height:100%;border:0;background:var(--color-paper-2)}.attendance-dialog pre{min-width:0;padding:var(--space-lg);margin:0;overflow:auto;color:var(--color-ink-2);background:var(--color-paper-deep);font-family:var(--font-body);font-size:var(--text-sm);font-variant-ligatures:none;line-height:1.65;tab-size:2;white-space:pre}.attendance-token--comment{color:var(--color-muted)}.attendance-token--keyword{color:var(--color-violet);font-weight:700}.attendance-token--string{color:var(--color-accent)}.attendance-token--number{color:var(--color-focus)}.attendance-token--global{color:var(--color-ink);font-weight:700}.attendance-token--function{color:var(--color-ink-2);font-weight:700}html[data-attendance-motion-ready] [data-attendance-motion]{opacity:0;transform:translateY(var(--space-lg));transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out)}html[data-attendance-motion-ready] [data-attendance-visible]{opacity:1;transform:translateY(0)}@media(hover:hover)and (pointer:fine){.attendance-demo summary:hover .attendance-demo__state,.attendance-artifact button:hover,.attendance-dialog button:hover{border-color:var(--color-accent);color:var(--color-ink);background:var(--color-paper-3)}}@media(min-width:40rem){.attendance-chart-grid,.attendance-findings,.attendance-evidence__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-artifact--deck,.attendance-artifact--code{grid-template-rows:minmax(16rem,1fr) auto}}@media(min-width:60rem){.attendance-lead{grid-template-columns:minmax(0,3fr) minmax(16rem,1fr);align-items:stretch}.attendance-lead__notes{border-block-start:0;border-inline-start:var(--rule-hair) solid var(--color-rule)}.attendance-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-flow:before{inset-block:var(--space-sm) auto;inset-inline:var(--space-sm) auto;width:calc(100% - (2 * var(--space-sm)));height:var(--rule-hair);transform:scaleX(0);transform-origin:left}[data-attendance-visible] .attendance-flow:before{transform:scaleX(1)}.attendance-flow li{padding-block-start:var(--space-xl);padding-inline-start:0}.attendance-flow li:before{inset-block-start:0;inset-inline-start:0}.attendance-split{grid-template-columns:repeat(12,minmax(0,1fr))}.attendance-split--controls .attendance-split__copy{grid-column:1 / 6}.attendance-split--controls .attendance-split__proof{grid-column:6 / -1}.attendance-split--continuity .attendance-continuity__proof{grid-column:1 / 7}.attendance-split--continuity .attendance-split__copy{grid-column:8 / -1}.attendance-artifact--deck{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:minmax(26rem,auto)}.attendance-artifact--code{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:minmax(26rem,auto)}.attendance-code-mark{border-block-end:0;border-inline-end:var(--rule-hair) solid var(--color-rule-2)}}@media(max-width:39.999rem){.attendance-case{gap:var(--space-3xl)}.attendance-demo summary{align-items:flex-start;gap:var(--space-md)}.attendance-demo summary strong{font-size:var(--text-lg)}.attendance-demo__state{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.attendance-demo__body iframe{min-height:50rem}.attendance-dialog{width:calc(100vw - (2 * var(--space-md)));height:calc(100dvh - (2 * var(--space-md)))}.attendance-dialog>header,.attendance-dialog>footer{padding:var(--space-sm) var(--space-md)}}@media(prefers-reduced-motion:reduce){.attendance-flow:before,.attendance-chart li>i>b,.attendance-demo__state,.attendance-artifact button,.attendance-dialog button,html[data-attendance-motion-ready] [data-attendance-motion]{transition:none}.attendance-demo__body{animation:none}html[data-attendance-motion-ready] [data-attendance-motion]{opacity:1;transform:none}}.project-detail__title-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(12rem,1fr) auto;gap:var(--space-lg);min-height:24rem;padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-3)}.project-detail__title-card>span{color:var(--color-accent);font-family:var(--font-display);font-size:clamp(var(--text-2xl),9vw,var(--text-display-s));font-weight:750;letter-spacing:-.035em;line-height:.95}.project-detail__title-card strong{align-self:start;color:var(--color-rule);font-family:var(--font-display);font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.project-detail__title-card small{grid-column:1 / -1;color:var(--color-ink-2);font-size:var(--text-sm)}.project-detail__title-card--action{text-decoration:none;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.project-detail__title-card--action small{color:var(--color-accent);font-weight:600}.project-detail__title-card--action:hover,.project-detail__title-card--action:focus-visible{border-color:var(--color-accent);background:var(--color-paper-2)}.project-detail__ledger{display:grid;gap:var(--space-xl);padding-block:var(--space-xl);border-block:var(--rule-hair) solid var(--color-rule)}.project-detail__facts{display:grid;gap:var(--space-lg);margin:0}.project-detail__facts div{display:grid;gap:var(--space-xs)}.project-detail__facts dd{margin:0;color:var(--color-ink-2)}.case-study{display:grid;gap:var(--space-3xl) var(--space-2xl);max-width:none;margin-inline:auto}.case-study__section{display:grid;min-width:0;align-content:start;gap:var(--space-lg)}.case-study>section>p:not(.system-note,.project-case__privacy),.case-study li{color:var(--color-muted);font-size:var(--text-md)}.case-study ul,.case-study ol{display:grid;gap:var(--space-md);padding-inline-start:var(--space-xl);margin:0}.case-study li::marker{color:var(--color-accent);font-family:var(--font-display);font-weight:700}.project-detail__attribution{padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule-2)}.project-detail__attribution strong{color:var(--color-ink-2)}.project-artifacts ul{display:grid;gap:var(--space-sm);padding:0;list-style:none}.project-artifacts a{display:grid;gap:var(--space-xs);padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-paper-2);text-decoration:none;transition:border-color var(--dur-short) var(--ease-in-out),background-color var(--dur-short) var(--ease-in-out),transform var(--dur-short) var(--ease-out)}.project-artifacts a span:not(.visually-hidden){color:var(--color-muted);font-size:var(--text-sm)}.project-artifacts a:active{transform:translateY(var(--space-3xs))}.project-detail__navigation{display:grid;border-block:var(--rule-hair) solid var(--color-rule)}.project-detail__navigation a{display:grid;gap:var(--space-xs);min-width:0;min-height:5.5rem;align-content:center;padding:var(--space-md);color:var(--color-ink);text-decoration:none}.project-detail__navigation a+a{border-block-start:var(--rule-hair) solid var(--color-rule-2)}.project-detail__navigation span{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-detail__navigation strong{overflow-wrap:anywhere}.project-case-list{display:grid;gap:var(--space-4xl)}.project-case{display:grid;gap:var(--space-2xl);scroll-margin-block-start:calc(var(--header-height) + var(--space-xl))}.project-case+.project-case{padding-block-start:var(--space-4xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.project-case__visual{display:grid;min-height:16rem;max-height:42rem;place-items:center}.project-case--attendance .project-case__visual,.project-case--imdb .project-case__visual{padding:var(--space-xl)}.project-case__visual>picture>img,.project-case__visual>img{object-position:center}.project-case__body{display:grid;gap:var(--space-2xl)}.project-case__narrative,.project-case__evidence{display:grid;align-content:start;gap:var(--space-lg)}.project-case__narrative{color:var(--color-muted);font-size:var(--text-md)}.project-case__privacy{padding:var(--space-md);border-inline-start:var(--rule-strong) solid var(--color-accent);color:var(--color-ink-2);font-size:var(--text-sm)}.tool-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0;list-style:none}.tool-list li{padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.site-footer{border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);background-color:var(--color-paper-deep);background-image:url(/_astro/astronaut-paper-texture.BLtoaQ1E.jpg);background-size:42rem}.site-footer__inner{display:grid;gap:var(--space-2xl);width:min(100% - (2 * var(--page-gutter)),var(--content-width));padding-block:var(--space-3xl) var(--space-xl);margin-inline:auto}.site-footer__statement{max-width:28ch;font-family:var(--font-display);font-size:clamp(var(--text-xl),5vw,var(--text-3xl));font-weight:750;letter-spacing:-.035em;line-height:1.04}.site-footer__meta{display:flex;flex-direction:column;gap:var(--space-md);padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule)}.site-footer ul{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin:0;list-style:none}.site-footer li,.site-footer a{white-space:nowrap}[data-reveal]{opacity:1;transform:none}[data-motion-ready] [data-reveal]:not([data-revealed]){opacity:0;transform:translateY(var(--space-md))}[data-motion-ready] [data-reveal][data-revealed]{opacity:1;transform:none;transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out)}@media(max-width:30rem){.project-metrics{grid-template-columns:minmax(0,1fr)}.project-metrics div+div{padding-block-start:var(--space-sm);border-block-start:var(--rule-hair) solid var(--color-rule-2)}}@media(hover:hover)and (pointer:fine){a:hover{text-decoration-thickness:var(--rule-strong)}.button-link:hover,.ticker-control:hover,.menu-toggle:hover{color:var(--color-accent-ink);background:var(--color-accent);transform:translateY(calc(-1 * var(--space-3xs)))}.ticker-link:hover{border-color:var(--color-accent)}.ticker-step:hover,.experience-entry__sequence a:hover{border-color:var(--color-accent);color:var(--color-accent-ink);background:var(--color-accent);transform:translateY(calc(-1 * var(--space-3xs)))}.project-artifacts a:hover{border-color:var(--color-accent);background:var(--color-paper-3);transform:translateY(calc(-1 * var(--space-3xs)))}.contact-submit:hover{color:var(--color-accent);background:transparent;transform:translateY(calc(-1 * var(--space-3xs)))}.project-link:hover{color:var(--color-accent);transform:translate(var(--space-2xs))}.hero-scroll-cue:hover{border-color:var(--color-accent);color:var(--color-ink);opacity:1;transform:translate(-50%) translateY(calc(-1 * var(--space-3xs)))}.systems-portrait__resume:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(calc(-1 * var(--space-3xs)))}}@media(min-width:40rem){.systems-portrait__fragment--technical{inset-inline-start:0;width:80%}.systems-portrait__fragment--creative{inset-inline-end:var(--space-md);width:38%}.selected-work,.experience-story,.about-thread,.project-case-list{padding-block:var(--space-4xl)}.selected-work{padding-block:var(--space-3xl) var(--space-2xl)}.impact-ledger{grid-template-columns:minmax(0,1fr);align-items:start}.impact-ledger dl{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading{grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr);align-items:end}.section-heading--compact{grid-template-columns:minmax(0,1fr)}.ticker-region__heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.ticker-run,.easter-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-directory__header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.project-directory__header p{white-space:nowrap}.project-index{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail__ledger{grid-template-columns:minmax(0,1fr)}.project-detail__facts,.chester-race-day__gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.chester-race-day__figure--wide{grid-column:1 / -1}.legacy-archive__intro,.legacy-archive__footer{grid-template-columns:minmax(0,1.05fr) minmax(16rem,.95fr)}.legacy-archive__footer a{justify-self:end}.project-detail__navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.project-detail__navigation a{padding:var(--space-lg)}.project-detail__navigation a+a{border-block-start:0;border-inline-start:var(--rule-hair) solid var(--color-rule-2)}.project-detail__navigation a:nth-child(2){text-align:center}.project-detail__navigation a:last-child{text-align:end}.site-footer__meta{flex-direction:row;align-items:baseline;justify-content:space-between}}@media(min-width:60rem){.foundation{grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);align-items:stretch}.systems-portrait{min-height:clamp(44rem,calc(100svh - var(--header-height)),56rem);padding-block:var(--space-2xl) var(--space-4xl)}.systems-portrait__copy{align-content:center;width:min(68%,52rem);padding-block-end:var(--space-xl)}.systems-portrait__context{max-width:none}.systems-portrait h1{width:max-content;max-width:100%;font-size:clamp(5.5rem,7.8vw,7rem);line-height:.86}.systems-portrait__lede{margin-block-start:var(--space-sm);font-size:var(--text-lg)}.systems-portrait__actions{margin-block-start:var(--space-md)}.systems-portrait__scene{inset-inline-start:39%}.systems-portrait__portrait{inset-block:3% 3%;inset-inline:15% 1%}.systems-portrait__portrait img{object-position:center 40%}.systems-portrait__fragment--technical{inset-block-end:3%;inset-inline-start:-5%;width:72%;height:10.5rem}.systems-portrait__fragment--creative{inset-block-start:5%;inset-inline-end:var(--space-lg);width:36%}.systems-portrait__signal{inset:2% -2% 0 0;width:102%;height:96%}.hero-evidence .work-map{min-height:30rem}.project-feature{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:stretch;gap:var(--space-3xl)}.project-feature--attendance .project-feature__visual{min-height:22rem}.project-feature--imdb .project-feature__visual{min-height:25rem}.project-case__visual{min-height:22rem}.project-feature--reverse{grid-template-columns:minmax(20rem,.85fr) minmax(0,1.15fr)}.project-feature--reverse .project-feature__visual{order:2}.project-feature--reverse .project-feature__copy{order:1}.experience-story{grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr)}.experience-story__intro{position:sticky;inset-block-start:calc(var(--header-height) + var(--space-xl));align-self:start}.experience-entry{grid-template-columns:minmax(12rem,.62fr) minmax(0,1.38fr);align-items:start}.about-thread{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl)}.project-case__body{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:var(--space-3xl)}.project-detail{grid-template-columns:minmax(0,1.1fr) minmax(24rem,.9fr);align-items:start}.project-detail--full{display:block}.case-study{grid-template-columns:repeat(12,minmax(0,1fr))}.case-study__section--challenge,.case-study__section--approach{grid-column:1 / 8}.case-study__section--contribution,.case-study__section--outcome{grid-column:8 / -1}.case-study__section--artifacts{grid-column:1 / -1}.project-detail--chester .case-study__section--contribution{grid-column:1 / 6}.project-detail--chester .case-study__section--approach{grid-column:6 / -1}.project-detail--chester .case-study__section--outcome{grid-column:3 / 11;text-align:center}.project-detail--chester .case-study__section--outcome>p{justify-self:center}.project-artifacts ul{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.chester-documentary__split,.chester-reel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl)}.chester-documentary__split--reverse{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.chester-race-day__gallery{grid-template-columns:repeat(12,minmax(0,1fr))}.chester-race-day__figure--wide{grid-column:1 / 9}.chester-race-day__figure--tall{grid-column:9 / 13;grid-row:1 / 3}.chester-race-day__figure--runner{grid-column:1 / 9}.system-stack{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:var(--space-3xl)}.system-stack__intro{position:sticky;inset-block-start:calc(var(--header-height) + var(--space-xl));align-self:start}.proof-panel:nth-child(2){margin-inline-start:var(--space-xl)}.proof-panel:nth-child(3){margin-inline-end:var(--space-xl)}.ticker-run{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-layout{grid-template-columns:minmax(0,.76fr) minmax(28rem,1.24fr);align-items:start;gap:var(--space-4xl)}.contact-intro{position:sticky;inset-block-start:calc(var(--header-height) + var(--space-xl))}}@media(min-width:90rem){.project-index{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:var(--dur-micro)!important}[data-motion-ready] [data-reveal],[data-motion-ready] [data-reveal][data-revealed],.selected-work[data-project-motion-ready] [data-project-visual]{opacity:1;transform:none}.work-map__signal{animation:none;opacity:1;transform:translate(360px,130px)}.ticker-control{display:none!important}.project-link,.project-card__visual img,.button-link,.menu-toggle,.contact-submit{transform:none!important}.hero-scroll-cue{transform:translate(-50%)!important}.systems-portrait__scene figure{transform:rotate(var(--hero-base-tilt))!important}.systems-portrait__resume{transform:none!important}.ticker-viewport{overflow:visible}[data-ticker][data-ready=true] .ticker-track{display:block;width:100%;transform:none!important}[data-ticker][data-ready=true] .ticker-run{display:grid;width:100%}[data-ticker][data-ready=true] .ticker-run+.ticker-run{display:none}}.page-intro--compact{min-height:0;padding-block-end:var(--space-xl)}.resume-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.resume-section,.credential-group{display:grid;gap:var(--space-lg);padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.resume-section h2,.credential-group h2{font-size:var(--text-xl)}.resume-section h2{scroll-margin-block-start:calc(var(--header-height) + var(--space-lg))}.resume-section>[data-reveal]{min-width:0}.resume-entries{display:grid;gap:var(--space-lg)}.resume-entry{display:grid;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);gap:var(--space-md) var(--space-xl);padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule-2);scroll-margin-block-start:calc(var(--header-height) + var(--space-lg))}.resume-entry:first-child{padding-block-start:0;border-block-start:0}.resume-entry__when p{margin:0;color:var(--color-neutral);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.resume-entry__body{display:grid;gap:var(--space-xs)}.resume-entry__body h3{font-size:var(--text-md)}.resume-entry__org{margin:0;color:var(--color-muted);font-size:var(--text-sm)}.resume-entry__body ul{margin:0;padding-inline-start:1.1rem;display:grid;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.resume-entry__body ul.resume-entry__clients{list-style:none;padding-inline-start:0;color:var(--color-neutral)}.resume-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-xl)}.resume-skills__group{display:grid;gap:var(--space-sm);align-content:start}.resume-skills__group h3{font-size:var(--text-md)}.resume-skills__group ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-sm);color:var(--color-muted);font-size:var(--text-sm)}.resume-skills__group li{padding:var(--space-3xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control)}.credential-filters{display:grid;gap:var(--space-sm);padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule)}.credential-filters__label{margin:0;color:var(--color-neutral);font-size:var(--text-sm);font-weight:700}.credential-filter-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.credential-filter{padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2);color:var(--color-muted);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background-color var(--dur-micro),border-color var(--dur-micro),color var(--dur-micro),transform var(--dur-micro)}.credential-filter:hover{border-color:var(--color-accent);color:var(--color-ink)}.credential-filter:active{transform:translateY(1px)}.credential-filter:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:2px}.credential-filter[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-paper)}.credential-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-md)}.credential-card{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper-2)}.credential-card:has(.credential-card__badge){grid-template-columns:auto minmax(0,1fr);align-items:start}.credential-card__badge{width:8rem;height:auto;border-radius:var(--radius-control)}.credential-card__body{display:grid;gap:var(--space-xs)}.credential-card__body h3{font-size:var(--text-md)}.credential-card__issuer{margin:0;color:var(--color-neutral);font-size:var(--text-sm)}.credential-card__body>p:not(.credential-card__issuer){margin:0;color:var(--color-muted);font-size:var(--text-sm)}@media(max-width:40rem){.resume-entry{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.credential-card:has(.credential-card__badge){grid-template-columns:minmax(0,1fr)}.credential-card__badge{width:6.5rem}}.timeline-index{isolation:isolate;width:100%;min-width:0;max-width:100%;overflow:hidden;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-surface);background:var(--color-paper-deep)}.timeline-index__intro{display:grid;grid-template-columns:minmax(8rem,.4fr) minmax(0,1fr);gap:var(--space-xl);align-items:end;padding:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.timeline-index__intro p{margin:0}.timeline-index__intro p:first-child{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;letter-spacing:-.03em}.timeline-index__intro p:last-child{max-width:54ch;color:var(--color-muted);font-size:var(--text-sm)}.timeline-index__scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:var(--space-lg);scrollbar-color:var(--color-rule) transparent}.timeline-index__scroll:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:calc(var(--rule-strong) * -1)}.timeline-index__chart{position:relative;min-width:64rem;padding-block-start:var(--space-xl)}.timeline-index__axis{position:absolute;inset:0 0 auto 9rem;height:var(--space-xl);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.timeline-index__axis span{position:absolute;inset-inline-start:var(--timeline-left);color:var(--color-neutral);font-size:var(--text-xs);font-variant-numeric:tabular-nums;transform:translate(-50%)}.timeline-index__today{position:absolute;z-index:1;inset:var(--space-xl) 0 0 9rem;color:var(--color-accent-ink);pointer-events:none}.timeline-index__today:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--timeline-left);width:var(--rule-strong);background:var(--color-accent)}.timeline-index__today span{position:absolute;inset-block-start:calc(var(--space-md) * -1);inset-inline-start:var(--timeline-left);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);font-size:var(--text-xs);font-weight:800;line-height:1;transform:translate(-50%,-100%)}.timeline-track{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.timeline-track:last-child{border-block-end:0}.timeline-track h3{align-self:start;margin:var(--space-xs) 0 0;color:var(--color-neutral);font-family:var(--font-body);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.timeline-track__lanes{position:relative;height:calc(var(--timeline-lanes) * 3rem)}.timeline-entry{position:absolute;inset-block-start:calc(var(--timeline-lane) * 3rem);inset-inline-start:var(--timeline-left);width:var(--timeline-width);min-width:2.75rem;min-height:2.75rem;overflow:hidden;padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2);color:var(--color-ink-2);cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:800;text-align:start;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.timeline-entry span{display:block;overflow:hidden;text-overflow:ellipsis}.timeline-entry--clamped{border-start-start-radius:0;border-end-start-radius:0}.timeline-entry[aria-pressed=true],.timeline-entry[data-state=success]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.timeline-entry:focus-visible{z-index:2;outline:var(--rule-strong) solid var(--color-focus);outline-offset:2px}.timeline-entry:active,.timeline-entry[data-state=loading]{transform:translateY(1px)}.timeline-entry:disabled,.timeline-entry[aria-disabled=true]{opacity:.5;cursor:not-allowed}.timeline-entry[data-state=error]{border-color:var(--color-error)}.timeline-index__detail{display:grid;grid-template-columns:minmax(8rem,.4fr) minmax(14rem,1fr) auto auto;gap:var(--space-xl);align-items:center;min-height:7rem;padding:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink)}.timeline-index__detail p{margin:0}.timeline-index__detail-label{color:var(--color-accent);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.timeline-index__detail-role{font-family:var(--font-display);font-size:var(--text-md);font-weight:800;line-height:1.2}.timeline-index__detail-organization,.timeline-index__detail-dates{color:var(--color-muted);font-size:var(--text-sm)}.timeline-index__detail-dates{font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-index__jump{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-control);color:var(--color-accent);font-size:var(--text-sm);font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.timeline-index__jump:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:2px}.timeline-index__jump:active{transform:translateY(1px)}@media(hover:hover){.timeline-entry:hover{border-color:var(--color-accent);color:var(--color-ink);transform:translateY(-1px)}.timeline-index__jump:hover{background:var(--color-accent);color:var(--color-accent-ink)}}@media(max-width:60rem){.timeline-index__detail{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md)}.timeline-index__detail-label{grid-column:1}}@media(max-width:40rem){.timeline-index__intro,.timeline-index__detail{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.timeline-index__detail-dates{white-space:normal}.timeline-index__jump{justify-self:start}}@media(prefers-reduced-motion:reduce){.timeline-entry,.timeline-index__jump{transition:none}}.cert-modal{margin:auto;padding:0;width:min(900px,calc(100vw - 2 * var(--space-xl)));height:min(800px,calc(100dvh - 2 * var(--space-xl)));border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper);grid-template-rows:auto 1fr;z-index:var(--z-modal)}.cert-modal:not([open]){display:none}.cert-modal[open]{display:grid}.cert-modal::backdrop{background:#010408d9;backdrop-filter:blur(4px)}.cert-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.cert-modal__title{flex:1;min-width:0;font-size:var(--text-sm);color:var(--color-ink-2);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-modal__open{flex-shrink:0;color:var(--color-accent);font-size:var(--text-sm);font-weight:700;text-underline-offset:.2em}.cert-modal__open:hover{color:var(--color-ink)}.cert-modal__open:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:2px}.cert-modal__close{flex-shrink:0;background:none;border:none;font-size:var(--text-lg);color:var(--color-muted);cursor:pointer;padding:0 var(--space-xs);line-height:1;border-radius:var(--radius-control);transition:color var(--dur-micro)}.cert-modal__close:hover{color:var(--color-ink)}.cert-modal__close:focus-visible{outline:var(--rule-strong) solid var(--color-focus)}.cert-modal__frame{width:100%;height:100%;border:none;border-radius:0 0 var(--radius-surface) var(--radius-surface)}@media(max-width:40rem){.cert-modal{width:calc(100vw - 2 * var(--space-md));height:calc(100dvh - 2 * var(--space-md));max-height:none}.cert-modal__open{font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.credential-filter{transition:none}}.project-detail--chester .project-detail__visual--team figcaption{font-size:var(--text-sm)}.project-detail--chester .project-artifacts ul{grid-template-columns:minmax(0,1fr)}@media(min-width:40rem){.project-detail__ledger{grid-template-columns:minmax(0,1fr)}.project-detail__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail--chester .project-detail__visual--team figcaption{font-size:var(--text-md)}.project-detail--chester .chester-race-day__figure--wide{grid-column:auto}}@media(min-width:60rem){.project-detail--chester .chester-race-day__figure--wide,.project-detail--chester .chester-race-day__figure--runner{grid-column:1 / 7}.project-detail--chester .chester-race-day__figure--tall,.project-detail--chester .chester-race-day__figure--pack{grid-column:7 / 13}.project-detail--chester .chester-race-day__figure--wide,.project-detail--chester .chester-race-day__figure--tall{grid-row:1}.project-detail--chester .chester-race-day__figure--runner,.project-detail--chester .chester-race-day__figure--pack{grid-row:2}}
