:root{--gut: 46px;--ground: #F4F3EF;--panel: #FFFFFF;--ink: #14130F;--ink-2: #55524A;--ink-3: #6E6A5E;--rule: #DCD9D0;--field: #EAE8E2;--c: #0093D5;--m: #E0006C;--y: #F5B800;--k: #14130F;--face: "Jost", "Futura", "Century Gothic", "Avant Garde", sans-serif;--t-title: clamp(3.4rem, 11.5vw, 8.75rem);--t-super: clamp(1.55rem, 3.1vw, 2.5rem);--t-body: 1.0625rem;--t-cap: .6875rem;--gap: clamp(1rem, 2vw, 1.75rem);--edge: clamp(1.5rem, 4vw, 3.5rem)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;background:var(--ground);color:var(--ink);font-family:var(--face);font-size:var(--t-body);font-weight:400;line-height:1.42;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.mark{align-self:flex-start;display:block;margin:0 0 clamp(1.5rem,4vh,2.5rem);height:clamp(3rem,4.4vw,4.75rem);width:auto}.shell{--rail-gap: clamp(2.5rem, 5vw, 6rem);display:grid;grid-template-columns:minmax(0,clamp(20rem,30%,27rem)) minmax(0,1fr);gap:0 var(--rail-gap);max-width:1520px;padding:0 var(--edge)}.ident{align-self:start;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:clamp(2.5rem,7vh,4.5rem) 0 clamp(1.75rem,5vh,3rem)}.ident:before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--edge) * -1);right:calc(var(--rail-gap) / -2);background:var(--panel);box-shadow:10px 0 26px -10px #14130f29}.ident>*{position:relative}.ident .lockup{margin-top:auto}.flow{min-width:0;padding-bottom:clamp(5rem,12vh,9rem)}.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0 var(--gap)}.level{padding-top:clamp(4rem,11vh,8.5rem);scroll-margin-top:4.5rem}.flow>.level:first-child{padding-top:clamp(2.5rem,7vh,4.5rem)}h1{margin:0;font-size:clamp(2.6rem,3.6vw,4.5rem);font-weight:700;line-height:.82;letter-spacing:-.022em;max-width:12ch;text-wrap:balance}.super{margin:clamp(1.25rem,3vh,2rem) 0 0;font-size:clamp(1.35rem,1.65vw,1.9rem);font-weight:300;line-height:1.05;max-width:20ch}.intro{margin:clamp(1.25rem,3vh,2rem) 0 0;max-width:44ch}.intro p{margin:0 0 .8rem;color:var(--ink-2)}.intro p:last-child{margin:0}h2{grid-column:1 / -1;margin:0 0 clamp(1.75rem,4vh,2.75rem);font-size:var(--t-super);font-weight:700;line-height:1;letter-spacing:-.012em}.plate-form{display:inline-block;vertical-align:baseline;height:.92em;width:auto}.cap{font-size:var(--t-cap);line-height:1.4;color:var(--ink-2);font-variant-numeric:tabular-nums}.lockup{padding-top:.9rem;border-top:1px solid var(--rule);display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;line-height:1.3}.lockup .cap{margin:0}.lockup .plate-form{height:1.5rem;margin:0 0 .2rem}.link{color:var(--ink);text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:2px;text-decoration-color:var(--ink);text-underline-offset:5px}.link:hover,.link:focus-visible{text-decoration-style:solid}.f-c{fill:var(--c)}.f-m{fill:var(--m)}.f-y{fill:var(--y)}.f-k{fill:var(--ink)}.work-lead{grid-column:1 / -1;margin:0 0 clamp(1.75rem,4vh,2.5rem);font-size:var(--t-cap);color:var(--ink-2)}.work-lead strong{color:var(--ink);font-weight:700}.timeline{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);align-items:start}.seg{position:relative;padding:1.15rem var(--gap) clamp(2rem,4.5vh,3rem) 0}.seg:after{position:absolute;top:0;left:0;height:1px;background:var(--rule)}.seg:nth-child(odd):after{content:"";width:200%}.seg:before{content:"";position:absolute;top:0;left:0;width:38px;height:3px;background:var(--ink)}.seg.is-now:before{background:var(--m);height:5px}.seg .year{margin:0 0 .4rem;font-weight:500;color:var(--ink)}.seg h3{margin:0;font-size:1.2rem;font-weight:700;line-height:1.15}.seg .role{margin:.1rem 0 0;font-weight:300;color:var(--ink-2)}.seg .sum{margin:.6rem 0 0;font-size:.9375rem;color:var(--ink-2)}.seg .tech{margin:.8rem 0 0;padding:0;list-style:none;font-size:var(--t-cap);color:var(--ink-2);line-height:1.7}.stack{grid-column:1 / span 4}.stack-lead{margin:0;font-size:1.25rem;font-weight:500;color:var(--ink)}.stack-list{margin:clamp(1.5rem,3vh,2.25rem) 0 0;padding:0}.stack-list>div{display:grid;grid-template-columns:clamp(5.5rem,11vw,8rem) 1fr;gap:0 clamp(1rem,2vw,1.5rem);padding:.7rem 0;border-top:1px solid var(--rule)}.stack-list dt{font-weight:700}.stack-list dd{margin:0;color:var(--ink-2)}.stack-close{margin:clamp(1.5rem,3vh,2.25rem) 0 0;padding-top:.9rem;border-top:1px solid var(--rule);color:var(--ink-2)}.projects{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.6vw,2.25rem);margin:0;padding:0;list-style:none}.project{display:block;text-decoration:none}.project .shot{display:block;aspect-ratio:3 / 2;background:var(--field);overflow:hidden}.project .shot svg,.project .shot img{display:block;width:100%;height:100%;object-fit:cover}.project .shot svg .mul{mix-blend-mode:multiply}.project h3{margin:.85rem 0 0;font-size:1.0625rem;font-weight:700;line-height:1.2;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:4px}.project:hover h3,.project:focus-visible h3{text-decoration-style:solid}.project .p-sum{display:block;margin:.45rem 0 0;font-size:.9375rem;color:var(--ink-2)}.project .p-tech{display:block;margin-top:.55rem;font-size:var(--t-cap);color:var(--ink-2)}.play-note{grid-column:1 / -1;margin:clamp(1.5rem,3vh,2.25rem) 0 0;font-size:var(--t-cap);color:var(--ink-2)}.elsewhere{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none}@media (max-width: 1000px){.projects{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1100px){.shell{display:block;max-width:none}.ident{position:static;height:auto;display:block;padding:clamp(2.5rem,8vh,4rem) 0 0}.ident:before{content:none}.ident .lockup{margin-top:clamp(1.75rem,4vh,2.5rem)}.flow>.level:first-child{padding-top:clamp(4rem,11vh,8.5rem)}h1{font-size:clamp(3rem,8vw,6rem);line-height:.8}.super{font-size:clamp(1.45rem,3.2vw,2.2rem)}.mark{height:clamp(3.5rem,8vw,6rem)}}@media (max-width: 900px){.stack{grid-column:1 / -1}.timeline{display:block}.seg{position:relative;display:grid;grid-template-columns:28px 1fr;gap:0 1.15rem;padding:0 0 2rem}.seg:nth-child(odd):after{content:none}.seg:before{top:0;bottom:0;left:13px;width:2px;height:auto;background:var(--rule)}.seg.is-now:before{left:12px;width:4px;height:auto;background:var(--m)}.seg .year,.seg h3,.seg .role,.seg .sum,.seg .tech{grid-column:2}.seg .year{margin-bottom:.35rem}}@media (max-width: 560px){.mark{height:3.25rem}h1{font-size:clamp(2.9rem,15vw,3.75rem);max-width:100%}.super{font-size:1.4rem;max-width:100%}.projects{grid-template-columns:1fr}}@media print{@page{margin:18mm}:root{--ground: #FFF;--ink: #000;--ink-2: #333;--rule: #BBB;--field: #EEE}body{font-size:10.5pt;line-height:1.35}.shell{display:block;max-width:none;padding:0}.ident{position:static;height:auto;display:block;padding:0}.ident:before{content:none}.ident .lockup{margin-top:1rem}.level{padding-top:1.5rem}.flow>.level:first-child{padding-top:1.5rem}h1{font-size:34pt}.super,h2{font-size:15pt}.seg h3,.project h3{font-size:12pt}.mark{height:2.4rem}.timeline{display:block}.seg{padding:.5rem 0 1rem}.seg:nth-child(odd):after{content:none}.link{text-decoration:none}.link[href^=http]:after,.link[href^=mailto]:after{content:" (" attr(href) ")";font-size:8pt;color:#444;word-break:break-all}.link[href^="#"]:after{content:""}.seg,.project{break-inside:avoid;page-break-inside:avoid}h2{break-after:avoid;page-break-after:avoid}}@media (prefers-reduced-motion: reduce){*{transition-duration:.001ms!important;scroll-behavior:auto!important}}
