@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}:root{color-scheme:dark;--bg: oklch(.175 .006 260);--surface: oklch(.205 .007 260);--surface-raised: oklch(.245 .008 260);--ink: oklch(.945 .012 85);--muted: oklch(.725 .011 80);--subtle: oklch(.6 .01 80);--accent: oklch(.75 .153 46);--accent-ink: oklch(.19 .035 40);--line: oklch(.36 .009 260);--line-soft: oklch(.28 .008 260);--display: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Manrope", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--shadow: 0 24px 64px oklch(.06 .006 260 / .42);--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;font-family:var(--body);background:var(--bg);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}fieldset{min-width:0;border:0;padding:0;margin:0}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;min-width:0;line-height:1.8;-webkit-font-smoothing:antialiased}::selection{color:var(--accent-ink);background:var(--accent)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.02;letter-spacing:.005em}h1{font-size:clamp(3.5rem,8vw,7rem);text-transform:uppercase}h2{font-size:clamp(2.75rem,4.8vw,4.75rem);text-transform:uppercase}h3{font-size:1.9rem}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[tabindex="-1"]:focus{outline:none}.accent{color:var(--accent)}.muted-heading{color:var(--subtle)}.page-width{width:min(calc(100% - 96px),1296px);margin-inline:auto}.site-shell{min-height:100vh;display:flex;flex-direction:column}#main-content{flex:1}.section{padding-block:clamp(80px,9vw,136px)}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.16em;line-height:1.6;text-transform:uppercase;color:var(--accent)}.lead{font-size:clamp(1.25rem,2vw,1.55rem);color:var(--ink);line-height:1.6}.button-row,.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 24px;font-size:.76rem;font-weight:700;transition:transform .22s var(--ease)}.button svg{font-size:1.2rem;flex-shrink:0}.button--accent,.button-primary{color:var(--accent-ink);background:var(--accent);box-shadow:0 8px 20px #01000033}.button--outline,.button-secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}.button--small{min-height:44px;font-size:.7rem;padding:8px 14px}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding-block:8px;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:.78rem;font-weight:700;line-height:1.5}.text-link svg,.button svg,.nav-contact svg{transition:transform .22s var(--ease)}.text-link:hover svg,.button:hover svg,.nav-contact:hover svg{transform:translate(3px,-3px)}.text-link:hover{color:var(--accent);border-color:var(--accent)}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(0) scale(.98)}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:1.2rem;flex-shrink:0}.icon-button:hover:not(:disabled){color:var(--accent);background:var(--surface-raised)}.skip-link{position:fixed;z-index:50;top:12px;left:12px;padding:10px 16px;transform:translateY(-180%);color:var(--accent-ink);background:var(--accent)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line-soft)}.header-inner{min-height:88px;width:min(calc(100% - 96px),1296px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{display:inline-flex;min-width:44px;min-height:44px;gap:12px;align-items:center;flex-shrink:0}.monogram{display:block;width:56px;height:38px;flex-shrink:0}.wordmark-name{display:flex;flex-direction:column;font-size:.83rem;font-weight:600;letter-spacing:.03em;line-height:1.7}.wordmark-name>span{color:var(--muted);font-size:.54rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.site-nav{display:flex;gap:30px;align-items:center}.site-nav>a{position:relative;display:inline-flex;gap:12px;align-items:center;padding-block:12px;color:var(--muted);font-size:.71rem;font-weight:600}.site-nav>a:after{content:"";height:2px;background:var(--accent);position:absolute;bottom:4px;right:0;left:0;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.site-nav>a.active,.site-nav>a:hover{color:var(--ink)}.site-nav>a.active:after,.site-nav>a:hover:after{transform:scaleX(1)}.site-nav>.nav-contact{padding:10px 16px;border:1px solid var(--line);color:var(--ink);margin-left:8px}.site-nav>.nav-contact:after{display:none}.site-nav>.nav-contact:hover{border-color:var(--accent)}.menu-button{display:none;width:44px;flex-shrink:0;height:44px;border:1px solid var(--line);background:transparent;font-size:1.5rem}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--bg)}.hero-landscape{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-landscape>img{width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.52;filter:saturate(.55);animation:landscape-enter 1.4s var(--ease) both}.hero-landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,oklch(.175 .006 260 / .4) 65%,oklch(.175 .006 260 / .1)),linear-gradient(0deg,var(--bg),transparent 40%)}.hero-grain{position:absolute;inset:0;background-image:linear-gradient(oklch(.95 .01 85 / .025) 1px,transparent 1px);background-size:100% 6px}.hero-inner{padding-top:clamp(44px,5.5vw,80px);padding-bottom:48px;min-height:min(850px,calc(100svh - 88px));display:flex;flex-direction:column;justify-content:center;gap:clamp(32px,4vw,56px)}.hero-title{font-size:clamp(4.7rem,10vw,9.4rem);line-height:.96;letter-spacing:-.008em;font-weight:700;text-shadow:0 12px 32px oklch(.05 .006 260 / .35)}.hero-line{display:block;overflow:hidden;padding-bottom:.055em}.hero-line>span{display:block;animation:hero-line-enter .8s var(--ease) both}.hero-line:nth-child(2)>span{animation-delay:.11s;color:var(--ink)}.hero-line:nth-child(3)>span{animation-delay:.22s}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;animation:content-enter .7s .35s var(--ease) both}.hero-description{display:grid;gap:24px}.hero-description>p{max-width:61ch;color:var(--muted);font-size:.87rem}.scroll-cue{display:flex;align-items:center;gap:24px;flex-shrink:0;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.scroll-cue svg{display:block;width:48px;height:48px;border:1px solid var(--line);padding:14px;color:var(--accent);transition:transform .25s var(--ease)}.scroll-cue:hover svg{transform:translateY(5px)}.expertise-strip{padding-block:22px;border-block:1px solid var(--line-soft);background:var(--surface)}.expertise-strip>div{display:flex;justify-content:space-between;align-items:center;gap:24px}.expertise-strip span{color:var(--subtle);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}.expertise-strip p{display:flex;gap:28px;align-items:center;font-size:.75rem;color:var(--muted)}.expertise-strip b{font-weight:400;color:var(--accent)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px}.section-heading>div{display:grid;gap:20px}.section-aside{color:var(--muted);font-size:.84rem;max-width:34ch}.project-card{min-width:0;border:1px solid var(--line-soft);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.project-image-wrap{position:relative;isolation:isolate;min-height:264px;background:var(--surface-raised);overflow:hidden;display:grid;place-items:center;padding:70px 32px 36px}.project-image{object-fit:contain;width:min(66%,230px);max-height:150px;transition:transform .6s var(--ease)}#truesight .project-image{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.project-index{position:absolute;top:22px;left:24px;color:var(--muted);font-size:.61rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.project-copy{padding:32px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.project-copy h2{font-size:clamp(2.4rem,4vw,4rem)}.project-description{max-width:58ch;color:var(--muted);font-size:.86rem}.tag-list{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.tag-list li{border:1px solid var(--line);color:var(--muted);font-size:.62rem;padding:4px 10px}.project-actions{margin-top:auto;padding-top:8px}.source-status{color:var(--subtle);font-size:.62rem}.project-card--featured{display:grid;grid-template-columns:1.16fr 1fr}.project-card--featured .project-copy{padding:clamp(28px,4vw,56px)}.project-card--featured .project-copy h2{font-size:clamp(4rem,6vw,6rem)}.project-card--game .project-image-wrap{padding:0;background:#05070b;min-height:450px}.project-card--game .project-image{width:100%;height:100%;max-height:none;object-fit:cover;position:absolute;inset:0}.project-card--game .project-index{color:var(--ink);z-index:1;text-shadow:0 2px 8px oklch(.07 .01 260)}.project-card--game .project-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(.12 .01 260 / .5),transparent 30%,transparent 70%,oklch(.12 .01 260 / .75));pointer-events:none}.game-caption{position:absolute;bottom:24px;left:28px;z-index:1;color:var(--ink);font-family:var(--display);text-transform:uppercase;font-size:1.3rem;letter-spacing:.14em}.home-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.home-project-grid>.reveal{display:flex}.home-project-grid .project-card{display:flex;flex-direction:column;width:100%}.home-project-grid .project-copy{flex:1}.about-teaser{border-block:1px solid var(--line-soft);background:var(--surface)}.about-teaser-grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(48px,9vw,128px);align-items:center}.teaser-portrait{position:relative;max-width:460px}.teaser-portrait img{width:100%;height:460px;object-fit:cover;object-position:center 30%;filter:grayscale(1);box-shadow:var(--shadow)}.teaser-portrait--athlete{max-width:520px}.teaser-portrait--athlete img{object-position:62% center;filter:grayscale(1) contrast(1.04)}.about-teaser-grid>.reveal:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.about-teaser-grid p:not(.eyebrow):not(.lead){color:var(--muted);max-width:56ch;font-size:.9rem}.featured-quote{position:relative;padding:clamp(32px,5vw,64px);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.quote-mark{display:block;font-family:var(--display);color:var(--accent);font-size:7rem;height:54px;line-height:1}.featured-quote blockquote{max-width:54ch;margin-top:24px;font-family:var(--display);font-size:clamp(1.65rem,2.8vw,2.65rem);font-weight:600;line-height:1.3}.quote-emphasis{color:var(--accent);font-weight:700}.featured-quote figcaption{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-top:32px;font-size:.77rem}.quote-role{display:block;color:var(--muted);font-size:.66rem}.featured-quote figcaption a{display:inline-flex;align-items:center;gap:16px;color:var(--muted);font-size:.66rem}.featured-quote figcaption a:hover{color:var(--accent)}.quote-carousel{min-width:0}.quote-carousel-viewport{overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);touch-action:pan-y pinch-zoom;cursor:grab}.quote-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;align-items:stretch;transition:transform .35s var(--ease)}.is-dragging .quote-carousel-viewport,.quote-carousel-viewport.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.is-dragging .quote-carousel-track{transition:none}.quote-slide{display:flex;min-width:0;flex-direction:column;border:0;box-shadow:none}.quote-slide figcaption{margin-top:0}.quote-slide-body{display:flex;align-items:center;flex:1;padding-block:24px 32px}.quote-slide-body blockquote{margin-top:0}.quote-carousel-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:20px}.quote-carousel-hint{color:var(--subtle);font-size:.67rem;line-height:1.6}.quote-carousel-navigation{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.quote-carousel-count{min-width:60px;color:var(--muted);font-size:.68rem;font-variant-numeric:tabular-nums;letter-spacing:.1em;text-align:center}.quote-carousel-arrow{display:inline-grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:1.2rem;transition:color .16s var(--ease),background-color .16s var(--ease),border-color .16s var(--ease)}.quote-carousel-arrow:hover:not([aria-disabled=true]){border-color:var(--accent);background:var(--surface-raised);color:var(--accent)}.quote-carousel-arrow[aria-disabled=true]{border-color:var(--line-soft);opacity:.4;cursor:not-allowed}.reference-organizations{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-top:40px;color:var(--subtle);font-family:var(--display);font-size:1.4rem;font-weight:600;text-transform:uppercase}.reference-organization{display:inline-flex;align-items:center;min-width:44px;min-height:48px;max-width:100%;padding:10px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--subtle);line-height:1.2;text-align:left;transition:color .16s var(--ease),border-color .16s var(--ease)}.reference-organization:hover{border-bottom-color:var(--line);color:var(--ink)}.reference-organization[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}.page-intro{padding-block:80px 64px;display:grid;gap:24px}.page-intro>p:not(.eyebrow),.intro-bottom>p{color:var(--muted);max-width:65ch;font-size:.95rem}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.intro-bottom .text-link{flex-shrink:0}.projects-page{padding-bottom:112px}.project-list{display:grid;gap:40px}.project-list .project-card:not(.project-card--featured){display:grid;grid-template-columns:.72fr 1fr}.project-list .project-card:not(.project-card--featured) .project-image-wrap{min-height:330px}.project-list .project-card:not(.project-card--featured) .project-copy{padding:40px 48px}.project-list .project-card{scroll-margin-top:120px}.about-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,7vw,96px);align-items:center;padding-block:88px 104px}.about-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.about-copy h1{font-size:clamp(3.5rem,6.5vw,6.6rem)}.about-copy>p:not(.eyebrow):not(.lead){color:var(--muted);max-width:62ch;font-size:.88rem}.about-copy .button-row{margin-top:12px}.about-portrait{position:relative}.about-portrait:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--line);z-index:-1}.about-portrait img{aspect-ratio:3 / 4;object-fit:cover;width:100%;height:auto;box-shadow:var(--shadow)}.about-portrait figcaption{display:flex;justify-content:space-between;gap:16px;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:var(--surface);padding:16px}.professional-focus{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,96px);border-top:1px solid var(--line)}.professional-focus h2{margin-top:24px}.focus-details{display:grid;gap:48px}.focus-details article{display:grid;gap:18px}.focus-details h3{font-size:1.85rem;line-height:1.2;max-width:27ch}.focus-details article>p:not(.eyebrow){color:var(--muted);font-size:.87rem;max-width:64ch}.midnight-section{padding-block:96px;background:#06070a;border-block:1px solid var(--line);scroll-margin-top:110px}.midnight-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,8vw,120px);align-items:center}.midnight-brand{display:grid;gap:32px}.midnight-brand img{width:100%;height:auto}.midnight-brand p{text-align:center;color:var(--subtle);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}.midnight-copy{display:grid;gap:24px;justify-items:start}.midnight-copy>p:not(.eyebrow){color:var(--muted);font-size:.9rem;max-width:62ch}.athlete-photo{justify-self:end;width:min(100%,190px)}.athlete-photo img{width:100%;height:auto;box-shadow:var(--shadow)}.athlete-photo figcaption{margin-top:12px;color:var(--muted);font-size:.65rem}.interests-section{background:var(--surface);border-block:1px solid var(--line-soft)}.interest-list{border-top:1px solid var(--line)}.interest-list article{display:grid;grid-template-columns:40px .6fr 1.2fr .6fr;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding-block:32px}.interest-number{font-family:var(--display);color:var(--accent);font-size:1rem}.interest-list h3{text-transform:uppercase;font-size:2.3rem}.interest-list p{color:var(--muted);font-size:.83rem}.interest-list .text-link,.interest-note{justify-self:end;font-size:.7rem}.interest-note{color:var(--subtle)}.experience-list{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);padding-block:28px}.experience-item summary{display:grid;grid-template-columns:.65fr 1fr 32px;align-items:center;gap:24px;cursor:pointer;list-style:none}.experience-item summary::-webkit-details-marker{display:none}.experience-date{color:var(--muted);font-size:.75rem}.experience-item strong{display:block;font-family:var(--display);font-size:2.25rem;font-weight:600;line-height:1.2}.experience-item small{color:var(--muted);font-size:.73rem}.details-plus{font-size:1.7rem;color:var(--accent);transition:transform .22s var(--ease)}.experience-item[open] .details-plus{transform:rotate(45deg)}.experience-description{display:grid;gap:16px;max-width:76ch;margin:24px 56px 4px 39.4%;color:var(--muted);font-size:.85rem}.education-row{display:grid;grid-template-columns:.65fr 1fr;gap:24px;margin-top:48px}.education-row>div{display:grid;gap:16px;color:var(--muted);font-size:.8rem}.review-band{padding-block:88px;border-block:1px solid var(--line);background:var(--surface)}.review-band .reveal{display:flex;flex-direction:column;gap:24px;align-items:flex-start}.review-quote blockquote{max-width:60ch;font-family:var(--display);font-size:clamp(1.5rem,2.3vw,2.2rem);font-weight:500;line-height:1.4}.review-quote figcaption{margin-top:20px;color:var(--muted);font-size:.75rem}.personal-quote{padding-block:96px}.personal-quote blockquote{font-family:var(--display);font-size:clamp(1.9rem,3vw,3rem);line-height:1.25;color:var(--muted)}.personal-quote p{font-size:.64rem;margin-top:16px;text-transform:uppercase;letter-spacing:.1em;color:var(--subtle)}.recommendations-page{padding-bottom:104px}.document-library{overflow-anchor:none;display:grid;grid-template-columns:256px minmax(0,1fr);gap:32px;align-items:start}.document-library-nav{position:sticky;top:112px}.library-count{display:flex;justify-content:space-between;color:var(--muted);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;padding:0 0 20px}.library-count span{color:var(--accent)}.document-options{display:grid;gap:8px}.document-option{display:flex;align-items:center;gap:12px;padding:18px 14px;width:100%;text-align:left;background:transparent;border:1px solid var(--line-soft);font-size:.75rem;transition:transform .2s var(--ease)}.document-option>svg{flex-shrink:0;font-size:1.15rem;color:var(--muted)}.document-option>span{flex:1}.document-option small{display:block;margin-top:4px;color:var(--muted);font-size:.6rem}.document-option.is-selected{background:var(--surface-raised);border-color:var(--accent)}.document-option.is-selected>svg{color:var(--accent)}.document-option:hover{transform:translate(3px);background:var(--surface)}.document-mobile-select{display:none}.document-reader{min-width:0;padding:28px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.reader-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.reader-header>div:first-child{display:grid;gap:14px}.reader-header h2{font-size:clamp(1.65rem,2.7vw,2.4rem)}.reader-byline{font-size:.64rem;color:var(--muted)}.reader-downloads{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;flex-shrink:0;max-width:180px}.reader-summary{margin-top:24px;font-size:.78rem;max-width:72ch;color:var(--muted)}.reader-mode{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-block:24px 0}.reader-mode button{min-height:44px;background:transparent;color:var(--muted);border:0;padding:12px 14px;font-size:.72rem;position:relative}.reader-mode button[aria-pressed=true]{color:var(--ink)}.reader-mode button[aria-pressed=true]:after{content:"";height:2px;background:var(--accent);position:absolute;bottom:-1px;left:0;right:0}.reader-note{color:var(--muted);font-size:.68rem;margin-top:24px;padding-block:16px;border-block:1px solid var(--line)}.pdf-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;padding-block:16px}.pdf-pagination,.pdf-zoom{display:flex;align-items:center;gap:8px;font-size:.67rem}.pdf-pagination>span{min-width:75px;text-align:center;font-variant-numeric:tabular-nums}.pdf-toolbar .icon-button{border-color:var(--line-soft)}.zoom-reset{min-width:70px;min-height:44px;border:0;background:transparent;color:var(--muted);font-size:.66rem}.pdf-canvas-wrap{overflow:auto;max-height:1000px;width:100%;padding:16px;background:#06070a}.react-pdf__Document{width:max-content;min-width:min(100%,200px);margin-inline:auto}.react-pdf__Page{box-shadow:0 4px 18px #0006;color-scheme:light}.react-pdf__Page__canvas{max-width:none}.viewer-message{padding:32px 16px;color:var(--muted);font-size:.8rem;white-space:normal;max-width:58ch}.document-reader{container-type:inline-size}.viewer-pending{display:block;min-height:calc(min(1000px,(100cqw - 32px) * 1.29411765 + 32px) + 68px)}.document-prose{padding:32px 8px 0;display:grid;gap:32px;animation:content-enter .25s var(--ease) both}.document-prose h3{font-family:var(--body);font-size:.95rem;font-weight:700;line-height:1.6}.document-prose section{display:grid;gap:14px}.document-prose p{font-size:.82rem;color:var(--muted);max-width:75ch;line-height:1.85}.document-prose blockquote{color:var(--ink);font-family:var(--display);font-size:2rem;line-height:1.25;padding-bottom:24px;border-bottom:1px solid var(--line)}.recommendations-jump-links{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);margin-top:var(--space-xl)}.recommendations-jump-links span{color:var(--accent);font-variant-numeric:tabular-nums}.recommendations-jump-links .text-link:hover svg{transform:translateY(3px)}.linkedin-recommendations{padding-top:clamp(80px,10vw,136px)}.linkedin-recommendations-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:clamp(40px,8vw,112px);align-items:end;padding-bottom:48px;border-bottom:1px solid var(--line)}.linkedin-recommendations-heading h2{margin-top:24px}.linkedin-recommendations-intro{display:grid;gap:var(--space-md);justify-items:start}.linkedin-recommendations-intro p{max-width:56ch;color:var(--muted);font-size:.9375rem}.linkedin-quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.linkedin-quote-item{position:relative;min-width:0;border-bottom:1px solid var(--line)}.linkedin-quote-item:nth-child(2n):not(:last-child){border-right:1px solid var(--line)}.linkedin-quote-item--featured,.linkedin-quote-item:last-child:nth-child(2n){grid-column:1 / -1;background:var(--surface)}.linkedin-quote{display:flex;height:100%;flex-direction:column;gap:var(--space-xl);padding:clamp(24px,4vw,48px)}.linkedin-quote-number{color:var(--accent);font-family:var(--display);font-size:.875rem;font-weight:600;letter-spacing:.14em}.linkedin-quote blockquote{max-width:46ch;font-family:var(--display);font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;line-height:1.4;text-wrap:pretty}.linkedin-quote-item--featured blockquote{max-width:52ch;font-size:clamp(1.875rem,3.4vw,3rem);line-height:1.3}.linkedin-quote-item:last-child:nth-child(2n) blockquote{max-width:72ch}.linkedin-quote figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:auto;padding-top:var(--space-sm);line-height:1.6}.linkedin-quote figcaption strong{font-size:.9375rem}.linkedin-quote figcaption span,.linkedin-quote figcaption small{color:var(--muted);font-size:.875rem}.linkedin-quote figcaption small{margin-top:var(--space-sm)}.site-footer{border-top:1px solid var(--line);background:#08090c}.footer-main{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-block:64px}.footer-main .eyebrow{margin-bottom:16px}.footer-cta{display:inline-flex;align-items:center;gap:24px;font-family:var(--display);font-weight:600;font-size:clamp(2.25rem,4vw,4rem);text-transform:uppercase;line-height:1.1}.footer-cta svg{color:var(--accent);font-size:.85em;transition:transform .25s var(--ease)}.footer-cta:hover svg{transform:translate(5px,-5px)}.footer-links{display:grid;gap:24px;justify-items:end}.footer-links>a{display:flex;align-items:center;gap:24px;font-size:.73rem}.social-links{display:flex;gap:8px}.social-links a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-soft);color:var(--muted);transition:transform .2s var(--ease)}.social-links a:hover{color:var(--accent);transform:translateY(-3px)}.footer-bottom{border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:22px;color:var(--subtle);font-size:.62rem}.footer-motto{text-transform:uppercase;letter-spacing:.1em}.motion-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line-soft);background:transparent;font-size:.62rem;color:var(--muted)}.motion-toggle svg{color:var(--accent)}.route-loading{display:block;min-height:65vh;padding-top:80px}.not-found{min-height:65vh;align-content:center}.not-found>p:not(.eyebrow){max-width:60ch}.reveal[data-reveal=pending]{opacity:0;transform:translateY(32px)}.reveal[data-reveal=visible]{animation:content-enter .65s var(--ease) both;animation-delay:var(--reveal-delay, 0ms)}@keyframes hero-line-enter{0%{opacity:0;transform:translateY(108%) rotate(1.5deg)}to{opacity:1;transform:none}}@keyframes content-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes landscape-enter{0%{transform:scale(1.08);opacity:0}to{transform:scale(1);opacity:.52}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.project-card:hover .project-image{transform:scale(1.045)}}@media(min-width:1500px){.hero-inner{min-height:850px}}@media(max-width:1100px){.page-width,.header-inner{width:calc(100% - 64px)}.site-nav{gap:20px}.wordmark-name{display:none}.hero-title{font-size:10.5vw}.hero-inner{min-height:720px}.project-card--featured{grid-template-columns:1fr 1fr}.project-card--game .project-image-wrap{min-height:430px}.project-card--featured .project-copy{padding:32px}.project-actions{gap:12px}.document-library{grid-template-columns:220px minmax(0,1fr);gap:24px}.reader-header{flex-direction:column;gap:16px}.reader-downloads{max-width:none;justify-content:flex-start}.interest-list article{grid-template-columns:32px .6fr 1.4fr}.interest-list .text-link,.interest-note,.athlete-photo{grid-column:3;justify-self:start}}@media(max-width:800px){.linkedin-recommendations-heading{grid-template-columns:1fr;gap:24px;align-items:start}.professional-focus{grid-template-columns:1fr}.midnight-grid{grid-template-columns:1fr;gap:56px}.midnight-brand{max-width:350px}.midnight-brand p{text-align:left}.header-inner{min-height:76px;gap:16px}.menu-button{display:grid;place-items:center}.wordmark-name{display:flex}.site-nav{position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:stretch;gap:4px;padding:20px 32px 28px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}.site-nav.is-open{visibility:visible;opacity:1;transform:none}.site-nav>a{min-height:48px;font-size:.88rem}.site-nav>a:after{transform-origin:left;width:24px}.site-nav>.nav-contact{margin:12px 0 0;justify-content:space-between}.hero-inner{min-height:660px;gap:32px}.hero-title{font-size:10.75vw}.hero-bottom{align-items:flex-start}.scroll-cue{display:none}.expertise-strip>div{flex-direction:column;align-items:flex-start;gap:8px}.expertise-strip p{gap:16px}.project-card--featured{grid-template-columns:1fr}.project-card--game .project-image-wrap{min-height:410px}.project-card--game .project-image{object-position:center 36%}.home-project-grid{gap:20px}.project-copy{padding:24px}.about-teaser-grid{gap:40px}.teaser-portrait img{height:440px}.featured-quote figcaption{flex-direction:column;align-items:flex-start}.project-list .project-card:not(.project-card--featured){grid-template-columns:1fr 1.1fr}.project-list .project-card:not(.project-card--featured) .project-copy{padding:28px}.about-intro{grid-template-columns:1fr .65fr;align-items:start;gap:40px}.about-copy h1{font-size:8vw}.document-library{grid-template-columns:1fr}.document-library-nav{position:static}.document-options{display:none}.document-mobile-select{display:grid;gap:8px}.document-mobile-select label{font-size:.68rem;color:var(--muted)}.document-mobile-select select{width:100%;min-height:52px;padding:12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);font-size:.85rem}.library-count{padding-bottom:8px}.reader-header{flex-direction:row}.reader-downloads{max-width:160px;justify-content:flex-end}.footer-cta{font-size:2.5rem}.footer-motto{display:none}}@media(max-width:580px){.linkedin-recommendations{padding-top:72px}.linkedin-recommendations-heading{padding-bottom:32px}.linkedin-quote-grid{grid-template-columns:1fr}.linkedin-quote-item:nth-child(n){grid-column:auto;border-right:0}.linkedin-quote{gap:var(--space-lg);padding:var(--space-xl) var(--space-md)}.linkedin-quote blockquote,.linkedin-quote-item--featured blockquote{max-width:none;font-size:1.625rem}.page-width,.header-inner{width:calc(100% - 40px)}html{scroll-padding-top:96px}.hero-inner{min-height:auto;padding-top:40px;padding-bottom:40px;gap:32px}.hero-title{font-size:11.1vw;line-height:1.02}.hero-description>p{font-size:.82rem}.hero-bottom{margin-top:4px}.button-row{gap:12px;align-items:stretch}.hero .button-row{flex-direction:column;align-items:flex-start}.button{min-height:50px;padding-inline:18px}.hero .button--outline{border:0;border-bottom:1px solid var(--line);padding-inline:0}.hero-landscape>img{object-position:65% center}.expertise-strip p{gap:9px;flex-wrap:wrap;font-size:.65rem}.expertise-strip span{font-size:.58rem}.section{padding-block:72px}.section-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:32px}h2{font-size:clamp(2.6rem,10vw,3.5rem)}.project-card--game .project-image-wrap{min-height:300px}.project-card--featured .project-copy{padding:28px 24px}.project-card--featured .project-copy h2{font-size:4rem}.game-caption{font-size:1.05rem;left:20px}.project-index{left:20px;top:18px;font-size:.55rem}.project-copy .eyebrow{font-size:.56rem}.project-actions{gap:16px}.home-project-grid{grid-template-columns:1fr}.project-image-wrap{min-height:230px}.project-description{font-size:.83rem}.about-teaser-grid{grid-template-columns:1fr;gap:40px}.teaser-portrait{max-width:none}.teaser-portrait img{height:370px;object-position:center 30%}.featured-quote{padding:28px}.featured-quote blockquote{font-size:1.65rem}.quote-carousel-controls{gap:12px;margin-top:16px}.quote-carousel-hint{max-width:14ch;font-size:.65rem}.quote-carousel-navigation{gap:8px}.quote-carousel-count{min-width:52px;font-size:.64rem}.quote-carousel-arrow{width:44px;height:44px}.reference-organizations{justify-content:flex-start;gap:12px 24px;padding-top:24px;font-size:1.2rem}.page-intro{padding-block:52px 40px;gap:20px}.page-intro h1{font-size:clamp(3rem,12vw,4.5rem)}.intro-bottom{align-items:flex-start;flex-direction:column;gap:20px}.intro-bottom>p,.page-intro>p:not(.eyebrow){font-size:.84rem}.projects-page{padding-bottom:64px}.project-list{gap:28px}.project-list .project-card:not(.project-card--featured){grid-template-columns:1fr}.project-list .project-card:not(.project-card--featured) .project-image-wrap{min-height:240px}.about-intro{padding-block:52px 72px;grid-template-columns:1fr;gap:40px}.about-copy h1{font-size:15vw}.about-copy>p:not(.eyebrow):not(.lead){font-size:.84rem}.about-portrait{margin-right:12px}.about-portrait img{aspect-ratio:4 / 4.5;object-position:center 30%}.about-portrait:before{inset:12px -12px -12px 12px}.interest-list article{grid-template-columns:24px 1fr;gap:12px 16px}.interest-list h3{font-size:2.1rem}.interest-list p,.interest-list .text-link,.interest-note,.athlete-photo{grid-column:2}.interest-list p{font-size:.82rem}.midnight-section{padding-block:64px}.midnight-brand{max-width:290px}.professional-focus{gap:40px}.focus-details{gap:36px}.experience-item summary{grid-template-columns:1fr 24px;gap:12px}.experience-date{grid-column:1;font-size:.65rem}.experience-item summary>span:nth-child(2){grid-column:1}.details-plus{grid-column:2;grid-row:1 / span 2}.experience-description{margin:20px 0 4px;font-size:.8rem}.education-row{grid-template-columns:1fr}.review-band,.personal-quote{padding-block:64px}.personal-quote br{display:none}.document-reader{padding:20px 16px}.reader-header{flex-direction:column;gap:20px}.reader-downloads{max-width:none;justify-content:flex-start}.reader-mode button{padding-inline:12px;font-size:.68rem}.pdf-toolbar{justify-content:center;gap:8px 16px}.pdf-canvas-wrap{padding:16px}.reader-summary{font-size:.75rem}.document-prose{padding-inline:0}.document-prose p{font-size:.78rem}.document-prose h3{font-size:.88rem}.footer-main{flex-direction:column;align-items:flex-start;padding-block:48px;gap:32px}.footer-links{justify-items:start;gap:16px}.footer-cta{font-size:2.15rem;gap:16px}.footer-bottom{gap:16px;font-size:.58rem}.motion-toggle{font-size:.58rem}}@media(max-width:360px){.wordmark{gap:8px}.monogram{width:48px;height:32px}.hero-title{font-size:10.6vw}}.skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px}.skill-group{padding-top:24px;border-top:1px solid var(--line)}.skill-group h3{margin:0 0 20px;font:600 1.7rem / 1.1 var(--display)}@media(max-width:580px){.skill-groups{grid-template-columns:1fr;gap:28px}}html[data-motion=off],html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=off] .reveal{opacity:1;transform:none}html[data-motion=off] .button:hover,html[data-motion=off] .button:active,html[data-motion=off] .document-option:hover,html[data-motion=off] .project-card:hover .project-image,html[data-motion=off] .text-link:hover svg,html[data-motion=off] .recommendations-jump-links .text-link:hover svg,html[data-motion=off] .button:hover svg,html[data-motion=off] .nav-contact:hover svg,html[data-motion=off] .scroll-cue:hover svg,html[data-motion=off] .footer-cta:hover svg,html[data-motion=off] .social-links a:hover{transform:none}.motion-toggle:disabled{opacity:1;cursor:default}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal[data-reveal]{opacity:1;transform:none}.button:hover,.button:active,.document-option:hover,.project-card:hover .project-image,.text-link:hover svg,.recommendations-jump-links .text-link:hover svg,.button:hover svg,.nav-contact:hover svg,.scroll-cue:hover svg,.footer-cta:hover svg,.social-links a:hover{transform:none}}
