:root{--paper:#fff;--ink:#101010;--muted:#62625d;--rule:#d9d9d4;--page-pad:clamp(1.25rem, 5.4vw, 5rem);--radius:999px;--ui-font-size:clamp(1.15rem, 1.65vw, 1.75rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.25}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--ink);color:var(--paper)}.page-pad{padding-inline:var(--page-pad)}.muted{color:var(--muted)}.hero{flex-direction:column;min-height:100svh;padding-top:clamp(1.25rem,2.75vw,3rem);display:flex}.hero-copy{max-width:100%}.hero h1{letter-spacing:-.055em;max-width:19ch;margin:0;font-size:clamp(3.25rem,min(5.9vw,15svh - 3rem),7.5rem);font-weight:500;line-height:.93}.hero-actions{justify-content:space-between;align-items:baseline;gap:1rem;margin-block:clamp(2.5rem,4vw,5rem) 1.5rem;display:flex}.local-time{white-space:nowrap;color:var(--muted);font-size:var(--ui-font-size);font-variant-numeric:tabular-nums;letter-spacing:-.02em;align-items:baseline;font-weight:500;display:inline-flex}.local-time span{margin-left:.25em}.read-more{width:fit-content;color:var(--muted);font-size:var(--ui-font-size);transition:color .18s}.read-more:hover,.read-more:focus-visible{color:var(--ink)}.contact-list{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:1fr auto auto;align-items:center;gap:clamp(1.5rem,4vw,4rem);display:grid}.contact-row{min-height:4rem;font-size:var(--ui-font-size);align-items:center;transition:color .18s;display:flex}.contact-email{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.contact-copy{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem}.contact-copy:hover,.contact-copy:focus-visible{color:var(--ink);text-decoration:underline}.contact-copy-fallback{color:var(--muted);-webkit-user-select:all;user-select:all;font-size:.85rem}a.contact-row:hover,a.contact-row:focus-visible{color:var(--muted)}.hero-footer{border-top:1px solid var(--rule);margin-top:auto;padding-block:2rem 1.25rem;font-size:clamp(1rem,1.65vw,1.5rem)}.hero-footer a{white-space:nowrap}.hero-footer a>span{color:var(--muted)}.hero-footer strong{font-weight:500}.works{position:relative}.project{border-bottom:1px solid var(--rule);padding-block:clamp(4rem,5vw,6rem) clamp(5rem,9vw,9rem)}.project-intro{margin-bottom:clamp(3rem,4vw,4.5rem)}.project-copy h2{letter-spacing:-.031em;margin:0;font-size:clamp(3.75rem,5vw,4.5rem);font-weight:500;line-height:1.08}.project-copy>p{letter-spacing:-.031em;margin:clamp(4rem,9.7vw,8.75rem) 0 0;font-size:clamp(2rem,3.333vw,3rem);font-weight:500;line-height:1.17}.project-copy>p a{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:1px}.project-meta{letter-spacing:-.02em;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;margin:3rem 0 0;padding:0;font-size:clamp(1.2rem,1.667vw,1.5rem);font-weight:500;line-height:1.25;list-style:none;display:grid}.project-meta-year{text-align:right;white-space:nowrap;justify-self:end}.media-runway{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(1rem,2.6vw,2.75rem);display:grid}.project-media{background:#e8e8e4;min-width:0;margin:0;display:block;position:relative;overflow:hidden}.project-reel,.project-image,.project-video,.project-video-reel{grid-column:1/-1;justify-self:center}.project-reel-fixed{max-width:1280px}.project-video,.project-video-reel{background:#111}.project-video video,.project-video-reel video{object-fit:contain;width:100%;height:100%;display:block}.project-document{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding-block:1.1rem;font-size:clamp(1rem,1.6vw,1.5rem);display:grid}.project-document strong{font-weight:500}.project-document:hover strong,.project-document:focus-visible strong{text-underline-offset:.12em;text-decoration:underline}.gallery-controls{z-index:2;border-radius:var(--radius);background:var(--ink);color:#fff;align-items:center;gap:.4rem;padding:.3rem;display:flex;position:absolute;bottom:1rem;left:1rem}.project-video-reel .gallery-controls{inset:auto auto 4rem 1rem}.gallery-controls button{aspect-ratio:1;width:2.4rem;color:var(--ink);cursor:pointer;background:#d6d6d1;border:0;border-radius:50%;place-items:center;display:grid}.gallery-controls button:hover,.gallery-controls button:focus-visible{background:#fff}.gallery-progress{justify-content:center;align-items:center;gap:.28rem;min-width:2.5rem;display:flex}.gallery-progress i{background:#777;border-radius:50%;width:.38rem;height:.38rem}.gallery-progress i.is-active{background:#fff}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.works-end{justify-content:flex-end;align-items:flex-end;min-height:38svh;padding-block:4rem 2rem;font-size:clamp(1rem,1.65vw,1.5rem);display:flex}.works>.works-end{padding-bottom:8rem}.works-end a{border-top:1px solid var(--rule);white-space:nowrap;width:100%;padding-top:2rem}.works-end a>span{color:var(--muted)}.works-end strong{font-weight:500}.project-toolbar{z-index:20;bottom:clamp(1rem,3vw,3rem);left:var(--page-pad);right:var(--page-pad);opacity:0;pointer-events:none;align-items:center;gap:.65rem;width:auto;transition:opacity .22s,transform .22s;display:flex;position:fixed;transform:translateY(1rem)}.project-toolbar.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.project-toolbar-active{flex:0 1 max-content;border-radius:var(--radius);background:var(--ink);color:#fff;text-align:center;justify-content:center;align-items:stretch;min-width:0;max-width:calc(100% - 12rem);min-height:4.2rem;display:flex;box-shadow:0 1.4rem 3.5rem #0000002e}.project-toolbar-active.label-out{animation:.14s ease-in both project-label-out}.project-toolbar-active.label-in{animation:.29s cubic-bezier(.2,1.4,.4,1) both project-label-in}@keyframes project-label-out{to{opacity:0;transform:scale(.87)translateY(.25rem)}}@keyframes project-label-in{0%{opacity:0;transform:scale(.87)translateY(.25rem)}to{opacity:1;transform:scale(1)translateY(0)}}.project-toolbar-title{text-align:center;flex:0 auto;place-items:center;min-width:0;padding:.7rem 1.1rem;font-size:clamp(.95rem,1.45vw,1.17rem);font-weight:500;display:grid}.project-toolbar-title span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.project-controls{border-radius:var(--radius);background:var(--ink);flex:none;gap:.35rem;margin-left:auto;padding:.5rem;display:flex;box-shadow:0 1.4rem 3.5rem #0000002e}.project-controls button{aspect-ratio:1;width:3.2rem;color:var(--ink);cursor:pointer;background:#d6d6d1;border:0;border-radius:50%;place-items:center;transition:background-color .15s,color .15s,opacity .15s,transform .18s cubic-bezier(.2,1.25,.4,1);display:grid}.project-controls button:not(:disabled):hover,.project-controls button:not(:disabled):focus-visible{background:#fff;transform:scale(1.06)}.project-controls button:disabled{cursor:not-allowed;opacity:.32}.site-menu-trigger{align-content:center;justify-items:center;gap:.18rem;display:grid}.site-menu-trigger span{background:currentColor;width:1rem;height:1px;display:block}.about-menu-trigger{z-index:20;right:var(--page-pad);aspect-ratio:1;background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:50%;width:4.2rem;transition:transform .18s cubic-bezier(.2,1.25,.4,1);position:fixed;bottom:clamp(1rem,3vw,3rem);box-shadow:0 1.4rem 3.5rem #0000002e}.about-menu-trigger:hover,.about-menu-trigger:focus-visible{transform:scale(1.06)}.project-index-overlay{z-index:30;padding:max(2rem, env(safe-area-inset-top)) var(--page-pad) max(7rem, env(safe-area-inset-bottom));background:#aeb3b7;flex-direction:column;justify-content:flex-start;align-items:center;animation:.32s both project-index-enter;display:flex;position:fixed;inset:0;overflow-y:auto}.project-index-overlay nav{width:min(70rem,100%);margin-block:auto;padding-block:2rem 1rem;display:grid}.project-index-overlay nav a{color:#252728;letter-spacing:-.06em;border-bottom:1px solid #10101038;padding-block:.18em;font-size:clamp(2rem,min(5vw,6.5svh),5rem);font-weight:500;line-height:1;transition:color .17s;display:block}.project-index-overlay nav a:hover,.project-index-overlay nav a:focus-visible,.project-index-overlay nav a[aria-current=location],.project-index-overlay nav a[aria-current=page]{color:#fff}.project-index-close{bottom:max(1.5rem, env(safe-area-inset-bottom));aspect-ratio:1;background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:3.5rem;transition:transform .18s cubic-bezier(.2,1.25,.4,1);display:grid;position:fixed;left:50%;transform:translate(-50%)}.project-index-close:before,.project-index-close:after{content:"";background:currentColor;width:1.25rem;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.project-index-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.project-index-close:hover,.project-index-close:focus-visible{transform:translate(-50%)scale(1.06)}@keyframes project-index-enter{0%{opacity:0}to{opacity:1}}.about-page{flex-direction:column;min-height:100svh;display:flex}.about-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:5rem;display:flex}.about-shell{flex-direction:column;min-height:72svh;padding-block:clamp(5rem,12vh,8rem) 6rem;display:flex}.about-shell>p{border-bottom:1px solid var(--rule);margin:0;padding-bottom:1.25rem;font-size:clamp(1rem,1.7vw,1.5rem);font-weight:500}.about-shell h1{letter-spacing:-.065em;margin:clamp(2rem,3vw,3rem) 0 0;font-size:clamp(2.1rem,5.3vw,5rem);font-weight:500;line-height:1}.about-copy{max-width:80rem;margin-top:clamp(3rem,6vw,6rem)}.about-copy p{letter-spacing:-.035em;margin:0 0 1.25em;font-size:clamp(1.65rem,3.1vw,3rem);font-weight:500;line-height:1.18}.about-documents{margin-top:clamp(2rem,5vw,5rem)}.about-documents a{border-top:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:1.1rem;font-size:clamp(1rem,1.6vw,1.5rem);font-weight:500;display:flex}.about-documents a:last-child{border-bottom:1px solid var(--rule)}.about-documents a:hover,.about-documents a:focus-visible{text-underline-offset:.12em;text-decoration:underline}.experience{margin-top:clamp(6rem,11vw,11rem)}.experience-heading{border-top:1px solid var(--rule);padding-top:1.3rem}.experience-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.25rem,4vw,4rem);font-weight:500;line-height:1}.experience-list{margin:clamp(2.5rem,5vw,5rem) 0 0;padding:0;list-style:none}.experience-item{grid-template-columns:minmax(8rem,19%) 2.75rem minmax(0,1fr);min-width:0;display:grid}.experience-period{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:2.1rem;font-size:clamp(.9rem,1.25vw,1.1rem)}.experience-rail{color:var(--ink);position:relative}.experience-rail:before{background:var(--rule);content:"";width:1px;position:absolute;top:0;bottom:0;left:50%}.experience-item:first-child .experience-rail:before{top:2.25rem}.experience-item:last-child .experience-rail:before{bottom:calc(100% - 2.25rem)}.experience-rail:after{background:var(--paper);content:"";border:1px solid;border-radius:50%;width:.7rem;height:.7rem;transition:background-color .22s,box-shadow .22s,scale .22s;position:absolute;top:2.25rem;left:50%;transform:translate(-50%,-50%)}.experience-card{border-top:1px solid var(--rule);grid-template-columns:6.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:clamp(1rem,2.3vw,2.5rem);min-width:0;min-height:8.5rem;padding:1.3rem 1.5rem;transition:background-color .24s,transform .3s cubic-bezier(.2,1,.3,1);display:grid;position:relative}.experience-item:last-child .experience-card{border-bottom:1px solid var(--rule)}.experience-logo{background:#f0f0ed;place-items:center;width:6.5rem;height:5rem;transition:box-shadow .24s,transform .3s cubic-bezier(.2,1,.3,1);display:grid;overflow:hidden}.experience-logo img{object-fit:contain;width:82%;height:76%;display:block}.experience-logo-wavefront,.experience-logo-spacex{background:#101010}.experience-logo-pjp{background:#061e53}.experience-logo-pjp img,.experience-logo-honeywell img{width:94%;height:94%}.experience-details{min-width:0}.experience-index{color:#8d8d88;font-variant-numeric:tabular-nums;margin-bottom:.4rem;font-size:.8rem;display:block}.experience-details h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.25rem,2vw,1.85rem);font-weight:500;line-height:1.13}.experience-company{color:var(--muted);align-items:baseline;gap:.25em;margin-top:.35rem;font-size:clamp(1rem,1.4vw,1.2rem);transition:color .18s;display:inline-flex}.experience-card:hover .experience-company,.experience-card:focus-visible .experience-company{color:var(--ink);text-underline-offset:.15em;text-decoration:underline}.experience-card:focus-visible{outline-offset:2px;outline:2px solid}.experience-company .external-link-icon{width:.7em;height:.7em}.experience-kind{color:var(--muted);white-space:nowrap;font-size:clamp(1rem,1.4vw,1.2rem);display:inline-block}.experience-period-mobile{display:none}.experience-arrow{border:1px solid var(--rule);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-size:1.3rem;transition:background-color .22s,color .22s,transform .3s cubic-bezier(.2,1,.3,1);display:grid}.experience-item:hover .experience-card,.experience-item:focus-within .experience-card{background:#f4f4f1;transform:translate(.4rem)}.experience-item:hover .experience-rail:after,.experience-item:focus-within .experience-rail:after{background:var(--ink);scale:1.12;box-shadow:0 0 0 .45rem #1010101a}.experience-item:hover .experience-logo,.experience-item:focus-within .experience-logo{transform:translateY(-.15rem)rotate(-2deg);box-shadow:0 .8rem 1.5rem #10101021}.experience-item:hover .experience-arrow,.experience-item:focus-within .experience-arrow{background:var(--ink);color:var(--paper);transform:translate(.15rem,-.15rem)}.external-link-icon{vertical-align:-.06em;flex:none;width:.85em;height:.85em;display:inline-block}.about-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,3rem);margin-top:clamp(3rem,8vw,8rem);display:grid}.about-photos figure{aspect-ratio:4/3;margin:0;overflow:hidden}.about-photos img{object-fit:cover;width:100%;height:100%;display:block}.about-footer{margin-top:auto}.about-back-to-top{min-height:18svh;padding-block:2rem 0}.about-footer>p{color:var(--muted);text-align:right;margin:0;padding-block:2rem}.not-found{flex-direction:column;justify-content:center;min-height:100svh;display:flex}.not-found p,.not-found h1{margin:0}.not-found h1{letter-spacing:-.07em;max-width:10ch;margin-block:1rem 3rem;font-size:clamp(3.5rem,9vw,9rem);font-weight:500;line-height:.9}.not-found a{color:var(--muted)}@media (max-width:800px){:root{--page-pad:1.25rem}.about-header{min-height:4rem}.about-shell{padding-top:clamp(3rem,8vh,5rem)}.hero h1{letter-spacing:-.052em;max-width:none;font-size:clamp(2.2rem,min(10.7vw,15svh - 3rem),5.25rem)}.works-end{flex-direction:column;align-items:flex-start}.project-copy h2{letter-spacing:-.033em;font-size:1.5rem;line-height:1.25}.project-copy>p{letter-spacing:-.031em;margin-top:2rem;font-size:1rem;line-height:1.375}.project-meta{margin-top:2rem;font-size:1rem}.media-runway,.about-photos{grid-template-columns:1fr}.experience-item{grid-template-columns:1.5rem minmax(0,1fr)}.experience-period{display:none}.experience-card{grid-template-columns:5rem minmax(0,1fr) 2.25rem;gap:1rem;min-height:7.5rem;padding-inline:.75rem}.experience-logo{width:5rem;height:4.5rem}.experience-period-mobile{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:.9rem;display:block}.project-document{grid-template-columns:1fr auto}.project-toolbar{width:auto}.project-toolbar-active{max-width:calc(100% - 10.75rem);min-height:3.75rem}.project-controls button{width:2.75rem}.about-menu-trigger{width:3.75rem}.project-index-overlay{justify-content:flex-start;padding-top:22svh}.project-index-overlay nav a{font-size:clamp(2rem,9vw,3.5rem)}}@media (max-width:520px){.hero{min-height:100svh}.contact-list{border-bottom:0;display:block}.contact-row,.contact-email{border-bottom:1px solid var(--rule)}.contact-email .contact-row{border-bottom:0}.contact-copy{margin-left:auto}.contact-row-label{display:none}.works>.project:first-child{padding-top:10rem}.experience-card{grid-template-columns:4rem minmax(0,1fr);gap:.75rem;padding:1rem .4rem}.experience-logo{width:4rem;height:4rem}.experience-details h3{font-size:1.15rem}.experience-company,.experience-kind{font-size:.95rem}.experience-arrow{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
