@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Bodoni Moda;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bodoni-moda-latin-400-normal-CIWtV3SY.woff2) format("woff2"),url(/assets/bodoni-moda-latin-400-normal-9rKXKbpF.woff) format("woff")}@font-face{font-family:Bodoni Moda;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/bodoni-moda-latin-400-italic-DB-bun8K.woff2) format("woff2"),url(/assets/bodoni-moda-latin-400-italic-O_MaDy27.woff) format("woff")}:root{--paper: #ffffff;--ink: #000000;--ink-60: rgba(0, 0, 0, .6);--ink-40: rgba(0, 0, 0, .4);--ink-12: rgba(0, 0, 0, .12);--scrim: rgba(255, 255, 255, .9);--gut: max(8px, .5556vw);--pad: var(--gut);--col: calc((100vw - 2 * var(--pad) - 11 * var(--gut)) / 12);--col2: calc(var(--col) * 2 + var(--gut));--col3: calc(var(--col) * 3 + var(--gut) * 2);--col4: calc(var(--col) * 4 + var(--gut) * 3);--font-ui: "Geist Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Bodoni Moda", "Didot", "Bodoni 72", Garamond, serif;--fz: 11px;--lh: 1.1;--ease: cubic-bezier(.22, 1, .36, 1);--ease-io: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{background:var(--paper);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--fz);line-height:var(--lh);font-weight:500;text-transform:uppercase;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body[data-route=shell]{overflow:hidden;height:100svh}.smooth{display:contents}html[data-smooth="1"] .smooth{display:block}html[data-smooth="1"] .smooth__content{position:fixed;top:0;left:0;right:0;will-change:transform}a{color:inherit;text-decoration:none}button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:none;cursor:pointer}img,canvas,svg{display:block;max-width:100%}ul,ol{list-style:none}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chrome{position:fixed;left:0;width:100%;z-index:50;padding:var(--pad);display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);align-items:center;pointer-events:none}.chrome>*{pointer-events:auto}.chrome--top{top:0}.chrome--bottom{bottom:0}.mark{grid-column:1 / span 2}.viewtoggle{grid-column:3 / span 2;display:flex;gap:var(--gut);opacity:0;transition:opacity .3s var(--ease)}.chrome--top:hover .viewtoggle,.viewtoggle:focus-within,.viewtoggle[data-forced="1"]{opacity:1}.viewtoggle button{font-weight:400;opacity:.4;transition:opacity .25s var(--ease)}.viewtoggle button[aria-pressed=true],.viewtoggle button:hover{opacity:1}.chrome__about{grid-column:10 / span 1;justify-self:start}.chrome__resume,.chrome__contact{grid-column:12 / span 1;justify-self:end}.stage{position:relative;height:100svh;width:100%;overflow:hidden}.stage[data-view=grid]{height:auto;overflow:visible}.stage__gl{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.stage__gl canvas{width:100%;height:100%}.stage__ui{position:relative;z-index:2;height:100%}.plate{position:relative;display:block;overflow:hidden;background:#f2f2f2;aspect-ratio:var(--ratio, 1);padding:0;border:0}.plate img{position:absolute;left:0;top:-13%;width:100%;height:126%;object-fit:cover;transform:translateY(calc(var(--p, 0) * 5%));will-change:transform}.strip{position:relative;height:100%;width:100%;cursor:grab;touch-action:none}.strip:active{cursor:grabbing}.strip__track{position:absolute;left:50%;top:50%;width:0;height:0;z-index:1}.strip .plate{position:absolute;left:0;top:0;width:calc(15vw * (1 + .52 * var(--near, 0)));cursor:pointer}.index{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:calc(12vh - 1.1em)}.index[data-side=left]{left:calc(var(--pad) + var(--col) + var(--gut))}.index[data-side=right]{right:calc(var(--pad) + var(--col) + var(--gut))}.index__row{opacity:.35;transition:opacity .5s var(--ease)}.index__row[data-on="1"]{opacity:1}.index__row button{display:grid;grid-template-columns:var(--col) var(--col2);gap:var(--gut);align-items:baseline;text-align:left}.index[data-side=right] .index__row button{text-align:right}.index__idx{font-weight:400;opacity:.55}.grid{position:relative;z-index:2;padding:0 var(--pad)}.grid__field{display:grid;grid-template-columns:repeat(3,1fr);gap:14vh var(--gut);align-items:center;margin-inline:calc(var(--col) + var(--gut));padding:26vh 0 14vh}.grid__cell{display:block;cursor:pointer;opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease) var(--d, 0ms),transform .8s var(--ease) var(--d, 0ms)}.grid__cell[data-in="1"]{opacity:1;transform:none}.grid .plate{width:calc(80% + 20% * var(--near, 0));margin-inline:auto}.grid[data-hovering="1"] .grid__cell[data-in="1"]{opacity:.3}.grid[data-hovering="1"] .grid__cell[data-in="1"][data-on="1"]{opacity:1}.grid__caption{display:flex;gap:var(--gut);margin-top:var(--gut)}.grid__idx{font-weight:400;opacity:.4}.grid__end{display:flex;justify-content:space-between;border-top:1px solid var(--ink-12);margin-inline:calc(var(--col) + var(--gut));padding:var(--gut) 0 14vh;font-weight:400;opacity:.4}.stage[data-phase=out] .index__row{opacity:0;transform:translateY(-14px);transition:opacity .3s var(--ease) var(--d, 0ms),transform .3s var(--ease) var(--d, 0ms)}.stage[data-phase=out] .strip__track,.stage[data-phase=out] .grid{opacity:0;transition:opacity .3s var(--ease)}.stage[data-phase=in] .index__row{animation:viewIn .72s var(--ease) both;animation-delay:var(--d, 0ms)}.stage[data-phase=in] .strip__track{animation:plateIn .9s var(--ease) both}@keyframes viewIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes plateIn{0%{opacity:0}to{opacity:1}}.ab{padding:0 var(--pad) 18vh}.ab__hero{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);align-items:end;padding:15vh 0 12vh}.ab__intro{grid-column:7 / span 6;grid-row:1;padding-bottom:4vh}.ab__greet{margin-bottom:var(--gut);opacity:.45;font-weight:400}.ab__lede{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,3.4rem);line-height:1.12;letter-spacing:-.015em;font-weight:400;text-transform:none;text-wrap:balance}.ab__portrait{grid-column:1 / span 5;grid-row:1;margin:0;transform:translate3d(0,var(--py, 0px),0)}.ab__frame{display:block;width:fit-content;overflow:hidden;background:#f2f2f2;clip-path:inset(0 0 100% 0);transform:translateY(30px);opacity:0;transition:clip-path 1.1s var(--ease),transform 1.1s var(--ease),opacity .75s var(--ease)}.ab__portrait[data-in="1"] .ab__frame{clip-path:inset(0 0 0 0);transform:none;opacity:1}.ab__frame img{display:block;width:auto;height:auto;max-width:100%;max-height:73vh}.ab__row{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);padding-top:12vh}.ab__label{grid-column:1 / span 2;font-size:var(--fz);font-weight:500;opacity:.45}.ab__col{grid-column:6 / span 6}.ab__p{font-size:14px;line-height:1.65;text-transform:none;font-weight:400;max-width:46em}.ab__p+.ab__p{margin-top:1.4em}.ab__jobs{display:flex;flex-direction:column}.ab__job{padding:3.4vh 0}.ab__job+.ab__job{border-top:1px solid var(--ink-12)}.ab__jobhead{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gut);margin-bottom:1.1em}.ab__co{font-size:15px;font-weight:500;text-transform:none;letter-spacing:-.01em}.ab__role{margin-top:.25em;opacity:.45;font-weight:400}.ab__period{flex:none;padding:.45em .85em;border:1px solid var(--ink-12);border-radius:999px;font-weight:400;opacity:.55;white-space:nowrap}.ab__links{display:flex;flex-direction:column}.ab__links li{display:grid;grid-template-columns:var(--col2) 1fr;gap:var(--gut);padding:1.6vh 0}.ab__links li+li{border-top:1px solid var(--ink-12)}.ab__linklabel{opacity:.45;font-weight:400}.ab__links a{text-transform:none;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink-12);transition:text-decoration-color .3s var(--ease)}.ab__links a:hover{text-decoration-color:currentColor}[data-draft="1"]{position:relative;padding:1em 1.1em;border:1px dashed rgba(0,0,0,.28);color:var(--ink-40)}[data-draft="1"]:after{content:"Draft — needs your copy";position:absolute;top:-.62em;left:.9em;padding:0 .5em;background:var(--paper);font-size:9px;letter-spacing:.04em;opacity:.6}.ab [data-reveal]:not(.ab__portrait){opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease) var(--d, 0ms),transform .85s var(--ease) var(--d, 0ms)}.ab [data-reveal]:not(.ab__portrait)[data-in="1"]{opacity:1;transform:none}.cursor{position:fixed;top:0;left:0;z-index:60;display:flex;align-items:center;gap:6px;pointer-events:none;mix-blend-mode:difference;color:#fff;opacity:0;transition:opacity .25s var(--ease)}.cursor[data-on="1"]{opacity:1}.cursor__dot{width:6px;height:6px;background:currentColor}@media (pointer: coarse){.cursor{display:none}}.cs{min-height:100svh;padding:0 var(--pad) 16vh}.cs__nav{position:fixed;top:0;left:0;width:100%;z-index:50;padding:var(--pad);display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);mix-blend-mode:difference;color:#fff;pointer-events:none}.cs__nav>*{pointer-events:auto}.cs__nav .back{grid-column:1 / span 2}.cs__nav .who{grid-column:12;justify-self:end}.cs__head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);padding:22vh 0 8vh}.cs__eyebrow{grid-column:1 / span 2;padding-top:.9em}.cs__titleblock{grid-column:3 / span 8}.cs__title{font-family:var(--font-display);font-optical-sizing:auto;font-weight:400;font-size:clamp(4rem,13vw,13rem);line-height:.86;letter-spacing:-.02em;text-transform:none}.cs__deck{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:clamp(1.1rem,2.1vw,1.9rem);line-height:1.28;letter-spacing:-.01em;text-transform:none;max-width:22ch;margin-top:.7em}.cs__credits{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);border-top:1px solid var(--ink);padding-top:var(--gut)}.cs__credit{grid-column:span 2;display:flex;flex-direction:column;gap:.55em}.cs__credit dt{opacity:.4;font-weight:400}.cs__credit dd{text-transform:none;font-weight:500;line-height:1.3}.cs__stats{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);padding:10vh 0}.cs__stat{grid-column:span 4;border-top:1px solid var(--ink);padding-top:var(--gut)}.cs__stat b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,5.5vw,5rem);line-height:1;letter-spacing:-.02em;text-transform:none}.cs__stat span{display:block;margin-top:.9em;opacity:.4;font-weight:400}.cs__notes{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);padding:10vh 0}.cs__note{grid-column:span 4;display:flex;flex-direction:column;gap:1.1em}.cs__note h2{font-size:var(--fz);font-weight:400;opacity:.4}.cs__note p,.cs__note li{text-transform:none;font-weight:400;line-height:1.45}.cs__note ul{display:flex;flex-direction:column;gap:.5em}.cs__note--pull{grid-column:span 8}.cs__note--pull p{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,2.6rem);line-height:1.16;letter-spacing:-.015em;font-weight:400}.cs__spread{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);margin-top:10vh}.cs__plate{margin:0;transform:translate3d(0,var(--py, 0px),0)}.cs__spread[data-count="1"] .cs__plate[data-shape=wide]{grid-column:1 / -1}.cs__spread[data-count="1"] .cs__plate[data-shape=square]{grid-column:3 / span 8}.cs__spread[data-count="1"] .cs__plate[data-shape=tall][data-edge=left]{grid-column:2 / span 5}.cs__spread[data-count="1"] .cs__plate[data-shape=tall][data-edge=right]{grid-column:7 / span 5}.cs__spread[data-count="1"] .cs__plate[data-hero="1"]{grid-column:1 / -1}.cs__spread[data-count="1"] .cs__plate[data-hero="1"][data-shape=tall]{grid-column:3 / span 8}.cs__spread[data-count="2"] .cs__plate{grid-column:span 6}.cs__spread[data-count="2"] .cs__plate:nth-child(2){margin-top:12vh}.cs__spread[data-count="2"] .cs__plate[data-shape=tall] .cs__frame{width:76%}.cs__spread[data-count="2"] .cs__plate[data-shape=square] .cs__frame{width:90%}.cs__spread[data-count="2"] .cs__plate[data-edge=right] .cs__frame{margin-left:auto}.cs__frame{display:block;width:100%;overflow:hidden;background:#f2f2f2;clip-path:inset(0 0 100% 0);transform:translateY(32px) scale(1.02);opacity:0;transition:clip-path 1.1s var(--ease) var(--d, 0ms),transform 1.1s var(--ease) var(--d, 0ms),opacity .75s var(--ease) var(--d, 0ms)}.cs__plate[data-in="1"] .cs__frame{clip-path:inset(0 0 0 0);transform:none;opacity:1}.cs__frame img{width:100%;height:auto;max-height:92svh;object-fit:cover}.cs__plate figcaption{margin-top:var(--gut);font-weight:400;opacity:.4}.cs [data-reveal]:not(.cs__plate){opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease) var(--d, 0ms),transform .85s var(--ease) var(--d, 0ms)}.cs [data-reveal]:not(.cs__plate)[data-in="1"]{opacity:1;transform:none}.cs__next{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);border-top:1px solid var(--ink);margin-top:12vh;padding-top:var(--gut)}.cs__next span{grid-column:1 / span 2;opacity:.4;font-weight:400}.cs__next a{grid-column:3 / span 8;font-family:var(--font-display);font-size:clamp(2.4rem,8vw,7rem);line-height:.9;letter-spacing:-.02em;text-transform:none}@media (max-width: 900px){:root{--gut: 8px}.strip .plate{width:calc(46vw * (1 + .42 * var(--near, 0)))}.index{top:auto;bottom:8vh;transform:none;gap:calc(6vh - 1.1em)}.index[data-side=left]{left:var(--pad)}.index[data-side=right]{right:auto;left:var(--pad);bottom:-4vh}.index[data-side=right] .index__row button{text-align:left}.index__row button{grid-template-columns:3.2em auto}.grid__field{grid-template-columns:repeat(2,1fr);margin-inline:0;gap:8vh var(--gut);padding-top:22vh}.grid__end{margin-inline:0}.chrome__about{grid-column:8 / span 3}.chrome__resume,.chrome__contact{grid-column:11 / span 2}.ab__intro,.ab__portrait,.ab__label,.ab__col{grid-column:1 / -1}.ab__intro,.ab__portrait{grid-row:auto}.ab__hero{padding-top:22vh;gap:6vh}.ab__label{margin-bottom:2vh}.ab__links li{grid-template-columns:1fr;gap:.35em}.cs__eyebrow,.cs__titleblock,.cs__credit,.cs__stat,.cs__note,.cs__note--pull,.cs__next span,.cs__next a,.cs__spread .cs__plate,.cs__spread[data-count="1"] .cs__plate,.cs__spread[data-count="2"] .cs__plate{grid-column:1 / -1}.cs__spread[data-count="2"] .cs__plate:nth-child(2){margin-top:6vh}.cs__spread .cs__plate .cs__frame{width:100%}.cs__head{padding-top:26vh}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.grid__cell,.cs__frame,.cs [data-reveal]:not(.cs__plate){clip-path:none;transform:none;opacity:1}.cs__plate,.plate img{transform:none}.strip .plate{width:22.8vw}.grid .plate{width:100%}}
