*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;cursor:default}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.skip-link{position:absolute;top:-40px;left:0;padding:8px;background:#000;color:#fff;z-index:100}.skip-link:focus{top:0}.page--dark{background:#000;color:#fff;overflow:hidden}.page--dark .header{display:grid;grid-template-columns:1fr 1fr;padding:20px}.page--dark .name{font-size:22px;font-weight:500;color:#e5e5e5;letter-spacing:-.44px;line-height:26px}.page--dark .local-time{font-size:22px;font-weight:400;color:#7a7a7a;letter-spacing:-.44px;line-height:26px}.page--dark .header-bio{font-size:22px;font-weight:400;color:#7a7a7a;letter-spacing:-.44px;line-height:26px;padding-right:60px}.page--dark .nav{display:flex;align-items:center;gap:16px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:10;background:#000}.page--dark .nav-link{font-size:14px;font-weight:450;color:#7a7a7a;letter-spacing:-.28px;line-height:22.4px;transition:color .2s ease}.page--dark .nav-link:hover{color:#e5e5e5}.page--dark .nav-link.active{color:#e5e5e5;font-weight:550;text-decoration:underline;text-underline-offset:3px}.spacer{flex-grow:1}.page--dark .footer{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:116px 20px 58px;border-top:none;margin-top:auto}.page--dark .footer-left{font-size:32px;font-weight:400;color:#fff;letter-spacing:-.64px;line-height:38.4px}.page--dark .footer-left a{transition:opacity .2s ease}.page--dark .footer-left a:hover{text-decoration:underline}.page--dark .footer-right a{display:block;font-size:32px;font-weight:800;color:#fff;letter-spacing:-.64px;line-height:38.4px;transition:opacity .2s ease}.page--dark .footer-right a:hover{opacity:.7}.page--light{background:#fcfcfc;color:#000}.page--light .header{display:grid;grid-template-columns:1fr 1fr;padding:20px}.page--light .name{font-size:22px;font-weight:500;color:#000;letter-spacing:-.44px;line-height:26px}.page--light .local-time{font-size:22px;font-weight:400;color:#00000094;letter-spacing:-.44px;line-height:26px}.page--light .header-bio{font-size:22px;font-weight:400;color:#00000094;letter-spacing:-.44px;line-height:26px;padding-right:60px}.page--light .nav{display:flex;align-items:center;gap:16px;padding:16px 20px;border-top:1px solid rgba(0,0,0,.08);position:sticky;top:0;z-index:10;background:#fcfcfc}.page--light .nav-link{font-size:14px;font-weight:450;color:#0000008c;letter-spacing:-.28px;line-height:22.4px;transition:color .2s ease}.page--light .nav-link:hover{color:#000}.page--light .nav-link.active{color:#000;font-weight:550;text-decoration:underline;text-underline-offset:3px}.page--light .footer{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:116px 20px 58px;border-top:none;margin-top:0}.page--light .footer-left{font-size:32px;font-weight:400;color:#000;letter-spacing:-.64px;line-height:38.4px}.page--light .footer-left a{color:#00000094;transition:opacity .2s ease}.page--light .footer-left a:hover{text-decoration:underline}.page--light .footer-right a{display:block;font-size:32px;font-weight:800;color:#000;letter-spacing:-.64px;line-height:38.4px;transition:opacity .2s ease}.page--light .footer-right a:hover{opacity:.7}.main{display:grid;grid-template-columns:1fr 1fr;padding:0 20px}.col-left,.col-right{padding-top:80px}.section-title{font-size:32px;font-weight:400;color:#000;letter-spacing:-.64px}.bio-extended p{font-size:28px;line-height:36.4px;font-weight:400;letter-spacing:-.56px;color:#111;margin-bottom:24px}.bio-extended p:last-child{margin-bottom:0}.bio-extended a:hover{color:#00000094}.section-divider{grid-column:1 / -1;border:none;border-top:1px solid rgba(0,0,0,.08);margin:80px 0 0}.photo-swap{position:relative;width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;cursor:pointer;margin-bottom:60px;background:#0000000a}.photo-swap img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.photo-swap .photo-hover{position:absolute;top:0;left:0;opacity:0}.photo-swap:hover .photo-hover{opacity:1}.photo-swap:hover .photo-default{opacity:0}.info-left,.experience-left{padding-top:80px}.experience-right{padding-top:80px;padding-bottom:160px}.experience-list{display:flex;flex-direction:column;width:100%}.experience-row{display:grid;grid-template-columns:60px 1fr 1fr 30px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.08);transition:background .15s ease}.experience-row:hover{background:#00000005}.experience-year{font-size:16px;font-weight:400;color:#00000094}.experience-company{font-size:16px;font-weight:500;color:#111}.experience-role{font-size:16px;font-weight:400;color:#00000094}.experience-arrow{font-size:18px;color:#00000073;transition:color .15s ease;padding-left:16px}.experience-arrow:hover{color:#000}.work-gallery{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:20px 20px 80px 50%}.work-gallery .image-placeholder{background:#0000000a;border-radius:12px;width:1008px;max-width:100%;aspect-ratio:16/9}.work-gallery img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px;opacity:0;transition:opacity .4s ease}.work-gallery img.loaded{opacity:1}.project-left,.project-right{padding-top:80px}.project-right-last{padding-bottom:80px}.project-description{font-size:22px;line-height:26px;font-weight:400;color:#000;letter-spacing:-.44px;margin-top:16px}.project-link-left{margin-top:40px}.project-link-left+.project-link-left{margin-top:16px}.project-link{margin-top:16px}.project-web-link{font-size:22px;font-weight:400;color:#000;letter-spacing:-.44px;display:inline-flex;align-items:center;gap:6px;transition:color .15s ease}.project-web-link:hover{color:#00000094}.project-web-link .arrow{font-size:18px;color:#00000073;transition:color .15s ease}.project-web-link:hover .arrow{color:#00000094}.project-images{display:flex;flex-direction:column;gap:24px;margin-top:24px}.project-images .image-placeholder{background:#0000000a;border-radius:12px;width:100%;aspect-ratio:16/9}.project-images img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px;opacity:0;transition:opacity .4s ease}.project-images img.loaded{opacity:1}.intro{display:grid;grid-template-columns:1fr 1fr;padding:0 20px}.intro-left,.intro-right{padding-top:80px}.intro-left .section-title{font-size:32px;font-weight:400;color:#000;letter-spacing:-.64px}.intro-right .intro-text{font-size:28px;line-height:36.4px;font-weight:400;letter-spacing:-.56px;color:#111;margin-bottom:80px}.intro-right .intro-text a:hover{color:#00000094}.books-section{display:grid;grid-template-columns:1fr 1fr;padding:0 20px}.books-col-left{padding-top:0}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:40px 24px;padding:0 0 80px}:root{--book-depth: 20px}.book-container{perspective:600px;aspect-ratio:2/3}.book-container a{display:block;width:100%;height:100%;text-decoration:none;cursor:pointer}.book{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotateY(-20deg);transition:transform .6s ease}.book>img{width:100%;height:100%;object-fit:cover;border-radius:0 3px 3px 0;display:block;box-shadow:5px 5px 20px #00000026;opacity:0;transition:opacity .4s ease}.book>img.loaded{opacity:1}.book:before{content:"";position:absolute;right:0;top:3px;bottom:3px;width:var(--book-depth);transform:translate(calc(var(--book-depth)/2)) rotateY(90deg) translate(calc(var(--book-depth)/2));background-image:repeating-linear-gradient(to bottom,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 3px);background-color:ivory}.book:after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:#f0f0f0;border-radius:0 3px 3px 0;transform:translateZ(calc(var(--book-depth) * -1));box-shadow:-10px 0 40px 5px #0000001a}.book-spine{position:absolute;left:0;top:0;width:var(--book-depth);height:100%;background:linear-gradient(to right,#00000059,#00000026);transform:translate(calc(var(--book-depth)/-2)) rotateY(-90deg) translate(calc(var(--book-depth)/-2));transform-origin:right center}.book-container:hover .book{transform:rotateY(-30deg)}@media(max-width:768px){.page--dark .header,.page--light .header{grid-template-columns:1fr;gap:16px}.page--dark .header-bio,.page--light .header-bio{padding-right:0}.page--dark .footer,.page--light .footer{grid-template-columns:1fr;gap:32px;padding:32px 20px}.page--dark .footer-left,.page--light .footer-left{font-size:26px}.page--dark .footer-right a,.page--light .footer-right a{font-size:28px}.page--dark{overflow:auto}.main{grid-template-columns:1fr}.col-left{display:none}.col-left.photo-left{display:block}.col-right{padding-top:20px}.experience-left{display:none}.experience-right{padding-top:0}.experience-row{grid-template-columns:60px 1fr 30px;grid-template-rows:auto auto}.experience-year{grid-column:1;grid-row:1}.experience-company{grid-column:2;grid-row:1}.experience-arrow{grid-column:3;grid-row:1}.experience-role{grid-column:1 / -1;grid-row:2;padding-top:4px}.work-gallery{padding-left:20px}.project-left{display:block;padding-top:60px;padding-bottom:16px}.project-right{padding-top:0}.intro{grid-template-columns:1fr}.intro-left{margin-bottom:16px}.intro-right .intro-text{margin-top:0;margin-bottom:20px}.books-section{grid-template-columns:1fr}.books-col-left{display:none}}@media(max-width:480px){.page--dark .footer-left,.page--light .footer-left{font-size:22px}.page--dark .footer-right a,.page--light .footer-right a{font-size:24px}.page--dark .nav,.page--light .nav{gap:12px;flex-wrap:wrap}.section-title{font-size:26px}.bio-extended p{font-size:16px;line-height:25px}.project-description{font-size:16px;line-height:22px}.project-web-link{font-size:16px}.intro-left .section-title{font-size:26px}.intro-right .intro-text{font-size:16px;line-height:25px}}
