:root{--bg:#0a0a0a;--ink:#f2f0eb;--muted:#7a7770;--soft:#b8b5ae;--line:#232323;--accent:#d9a35b;--bg-rgb:10, 10, 10;--ink-rgb:242, 240, 235;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--max:1440px;--gutter:clamp(20px, 5vw, 80px);--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--section:clamp(96px, 16vh, 180px);--nav-h:80px}@media (prefers-color-scheme:light){:root{--bg:#f2f0eb;--ink:#141414;--muted:#6e6a62;--soft:#45423d;--line:#d9d5cc;--accent:#a26a24;--bg-rgb:242, 240, 235;--ink-rgb:20, 20, 20}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;transition:background-color 1.2s,color 1.2s;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}img{display:block}ul{list-style:none}iframe{border:0}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.label,.back,.nav-links,.caption,.hero-credit,.roster-list .meta,.roster-list .num,.contact-grid h3,.footer,.dop-links a,.poster .play{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:400;line-height:1.4}.label{color:var(--muted)}.back{color:var(--muted);transition:color .25s;display:inline-block}.back:hover{color:var(--accent)}.wordmark{--c:.5em;--o:.45em;--w:max(1.5px, .045em);--track:.2em;font-family:var(--mono);letter-spacing:var(--track);text-transform:uppercase;font-weight:400;line-height:1;display:inline-block;position:relative}.wordmark .wm-text{width:calc(var(--len,8) * (1ch + var(--track)));margin-right:calc(var(--track) * -1);white-space:nowrap;display:inline-block}.wordmark .corner{width:var(--c);height:var(--c);border:0 solid;position:absolute}.wordmark .tl{top:calc(var(--o) * -1);left:calc(var(--o) * -1);border-top-width:var(--w);border-left-width:var(--w)}.wordmark .br{bottom:calc(var(--o) * -1);right:calc(var(--o) * -1);border-bottom-width:var(--w);border-right-width:var(--w)}.intro{z-index:500;background:var(--bg);place-items:center;animation:.7s cubic-bezier(.7,0,.3,1) 2.2s forwards intro-out;display:grid;position:fixed;inset:0}.intro-seen .intro{display:none}.intro-mark{font-size:clamp(22px,3.6vw,52px)}.intro-mark .wm-text{animation:.8s .75s both intro-text}.intro-mark .tl{animation:1.3s both intro-tl}.intro-mark .br{animation:1.3s both intro-br}@keyframes intro-tl{0%{top:calc(50% - var(--c));left:calc(50% - var(--c));opacity:0}15%,35%{top:calc(50% - var(--c));left:calc(50% - var(--c));opacity:1;animation-timing-function:cubic-bezier(.7,0,.2,1)}to{top:calc(var(--o) * -1);left:calc(var(--o) * -1);opacity:1}}@keyframes intro-br{0%{bottom:calc(50% - var(--c));right:calc(50% - var(--c));opacity:0}15%,35%{bottom:calc(50% - var(--c));right:calc(50% - var(--c));opacity:1;animation-timing-function:cubic-bezier(.7,0,.2,1)}to{bottom:calc(var(--o) * -1);right:calc(var(--o) * -1);opacity:1}}@keyframes intro-text{0%{opacity:0;filter:blur(6px);transform:scale(1.12)}}@keyframes intro-out{to{opacity:0;visibility:hidden;clip-path:inset(50% 0)}}@media (prefers-reduced-motion:reduce){.intro{animation-duration:.3s;animation-delay:.6s}.intro-mark .wm-text,.intro-mark .corner{animation:none}}.nav{z-index:200;mix-blend-mode:difference;position:fixed;top:0;left:0;right:0}.nav-inner{height:var(--nav-h);padding:0 var(--gutter);justify-content:space-between;align-items:center;display:flex}.logo{color:#fff;font-size:13px}.logo .wordmark{transition:padding .5s cubic-bezier(.6,0,.2,1)}.logo .wm-text{vertical-align:bottom;white-space:nowrap;max-width:12em;transition:max-width .5s cubic-bezier(.6,0,.2,1),margin .5s,opacity .35s .1s;display:inline-block;overflow:hidden}.logo.collapsed:not(:hover):not(:focus-visible) .wordmark{padding:0 .5em}.logo.collapsed:not(:hover):not(:focus-visible) .wm-text{opacity:0;max-width:0;margin-right:0;transition:max-width .5s cubic-bezier(.6,0,.2,1),opacity .2s}.nav-links{gap:var(--s4);color:#fff;display:flex}.nav-links a{opacity:.75;transition:opacity .25s}.nav-links a:hover{opacity:1}.hero{align-items:flex-end;height:100svh;display:flex;position:relative;overflow:hidden}.hero-video{pointer-events:none;position:absolute;inset:0}.hero-posters{background:var(--bg);position:absolute;inset:0}.hero-posters .hp{opacity:0;transition:opacity 1.6s;position:absolute;inset:0}.hero-posters .hp.active{opacity:.7}.hero-posters img{object-fit:cover;width:100%;height:100%;transition:scale 7s linear;scale:1.06}.hero-posters .hp.active img{scale:1}.hero-credit{right:var(--gutter);z-index:3;writing-mode:vertical-rl;color:var(--soft);opacity:.7;position:absolute;top:50%;transform:translateY(-50%)rotate(180deg)}.hero-video iframe,.roster-bg iframe{width:177.78vh;min-width:100vw;height:56.25vw;min-height:100vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-video iframe{opacity:.55}.hero:after{content:"";background:linear-gradient(to top, rgba(var(--bg-rgb), .95) 0%, rgba(var(--bg-rgb), .15) 45%, rgba(var(--bg-rgb), .35) 100%);position:absolute;inset:0}@media (prefers-color-scheme:light){.hero-posters .hp.active{opacity:.95}.hero-video iframe{opacity:.85}.hero:after{background:linear-gradient(to top, rgba(var(--bg-rgb), .95) 0%, rgba(var(--bg-rgb), 0) 40%)}}.hero-content{z-index:2;padding:0 var(--gutter) var(--s5);width:100%;position:relative}.hero h1{font-size:clamp(24px,6vw,96px);font-weight:400;line-height:1}.roster{min-height:100svh;padding:var(--section) 0;flex-direction:column;justify-content:center;display:flex;position:relative}.roster-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.roster-bg .rv{opacity:0;transition:opacity .5s;position:absolute;inset:0}.roster-bg .rv.active{opacity:.45}.roster-bg .rp{object-fit:cover;opacity:0;width:100%;height:100%;animation:.6s forwards rp-in;position:absolute;inset:0}.roster-bg .rp:not(.active){opacity:0;transition:opacity .5s;animation:none}@keyframes rp-in{0%{opacity:0;scale:1.03}to{opacity:.5;scale:1}}.roster:after{content:"";background:radial-gradient(ellipse at center, transparent 30%, rgba(var(--bg-rgb), .85) 100%);pointer-events:none;position:absolute;inset:0}.roster-label{z-index:3;padding:0 var(--gutter);margin-bottom:var(--s4);position:relative}.roster-list{z-index:3;position:relative}.roster-list a:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.roster-list a{align-items:baseline;gap:var(--s4);padding:var(--s3) var(--gutter);border-top:1px solid var(--line);display:flex}.roster-list li:last-child a{border-bottom:1px solid var(--line)}.roster-list .num{color:var(--muted);min-width:2ch;transition:color .25s}.roster-list a.active .num{color:var(--accent)}.roster-list .name{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;font-size:clamp(20px,4vw,64px);font-weight:400;line-height:1;transition:opacity .25s,transform .25s}.roster-list .meta{color:var(--muted);text-align:right;margin-left:auto}.roster-list.dimmed .name{opacity:.25}.roster-list.dimmed a.active .name{opacity:1;transform:translateX(var(--s2))}.about{padding:var(--section) 0;border-top:1px solid var(--line)}.about .label,.not-found .label{margin-bottom:var(--s4)}.statement{letter-spacing:-.01em;max-width:36ch;font-size:clamp(20px,2.6vw,38px);font-weight:400;line-height:1.3}.contact-grid{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);gap:var(--s4);scroll-margin-top:var(--nav-h);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.contact-grid h3{color:var(--muted);margin-bottom:var(--s1)}.contact-grid a{border-bottom:1px solid var(--line);font-size:15px;transition:color .25s,border-color .25s}.contact-grid a:hover{border-color:var(--accent);color:var(--accent)}.dop{padding-top:calc(var(--nav-h) + var(--s5))}.dop-head{padding:0 var(--gutter) var(--s5)}.dop-head h1{margin-top:var(--s4);font-family:var(--mono);letter-spacing:.01em;text-transform:uppercase;font-size:clamp(36px,8vw,136px);font-weight:400;line-height:1}.dop-head h1 .post{letter-spacing:.08em;vertical-align:top;margin-left:.2em;font-size:.22em;font-weight:400}.dop-head .bio{max-width:64ch;margin-top:var(--s4);color:var(--soft);white-space:pre-line;font-size:15px;line-height:1.7}.dop-links{gap:var(--s1);margin-top:var(--s4);flex-wrap:wrap;display:flex}.dop-links a{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid rgba(var(--ink-rgb), .35);transition:background .25s,border-color .25s,color .25s;display:inline-flex}.dop-links a:after{content:"↗";font-family:var(--mono);letter-spacing:0;transition:transform .25s}.dop-links a:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.dop-links a:hover:after{transform:translate(2px,-2px)}.works{padding:var(--s5) var(--gutter);border-top:1px solid var(--line)}.works .label{margin-bottom:var(--s3);color:var(--accent)}.videos{gap:var(--s5);grid-template-columns:1fr;display:grid}.video{background:#000;width:100%;padding-top:56.25%;position:relative}.video iframe{width:100%;height:100%;position:absolute;inset:0}.video-link{display:block}.poster{cursor:pointer;color:var(--ink);font:inherit;border:0;padding:56.25% 0 0;display:block;overflow:hidden}.poster img{object-fit:cover;width:100%;height:100%;transition:scale .8s,opacity .4s;position:absolute;inset:0}.poster:hover img{opacity:.8;scale:1.02}.poster .play:before{content:"";filter:drop-shadow(0 1px 8px #0006);border:9px solid #0000;border-left:15px solid #fff;border-right-width:0;width:0;height:0}.poster:hover .play{gap:var(--s3)}.poster .play{align-items:center;gap:var(--s2);color:#fff;text-shadow:0 1px 12px #0006;transition:gap .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.caption{margin-top:var(--s2);color:var(--muted)}.not-found{min-height:80svh;padding-top:calc(var(--nav-h) + var(--section))}.not-found .back{margin-top:var(--s4)}.footer{padding:var(--s4) 0;color:var(--muted);border-top:1px solid var(--line)}.footer-inner{justify-content:space-between;gap:var(--s2);flex-wrap:wrap;display:flex}@media (max-width:760px){:root{--s5:48px;--nav-h:64px}.hero h1{font-size:8.5vw}.roster{min-height:0}.nav-links{gap:var(--s3)}.roster-list a{gap:var(--s2);padding:var(--s2) var(--gutter)}.hero-credit,.roster-list .meta{display:none}.roster-list.dimmed .name{opacity:1;transform:none}}
