@charset "UTF-8";
:root{--black:#080908;--surface:#111310;--white:#f0f0ea;--muted:#999d93;--green:#badb88;--line:#2b2e27;--pad:4.15vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;color:var(--white);background:var(--black);font-family:var(--site-font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:7px}::selection{background:var(--green);color:#080908}.mono{font-family:var(--site-font);font-size:12px;letter-spacing:.07em}.skip-link{position:fixed;top:-100px;left:20px;background:var(--green);color:#000;padding:15px;z-index:20}.skip-link:focus{top:10px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);position:absolute;top:0;left:0;width:100%;z-index:5;border-bottom:1px solid #ffffff20}.wordmark,.footer-mark{font-size:30px;font-weight:750;letter-spacing:-1.9px}.wordmark span,.footer-mark span{font-size:12px;vertical-align:top;margin-left:4px;letter-spacing:0}.site-header nav{display:flex;gap:35px}.site-header nav a{font-size:14px;color:#aaa;position:relative;padding:8px 0;transition:color .2s}.site-header nav a:hover,.site-header nav a.active{color:var(--white)}.site-header nav a.active:after{content:"";position:absolute;bottom:-24px;left:0;right:0;height:2px;background:var(--green)}nav small{font-size:10px;margin-left:5px;font-family:var(--site-font)}.header-note{color:#9c9f97}.hero{min-height:760px;height:100svh;max-height:1120px;position:relative;overflow:hidden;padding:135px var(--pad) 36px;display:flex;flex-direction:column;isolation:isolate}.hero-images{position:absolute;z-index:-3;inset:0;background:#080908;overflow:hidden}.hero-slide{position:absolute;inset:-3%;background-size:cover;background-position:center;opacity:0;filter:blur(5px) saturate(.7);transform:scale(1.045);transition:opacity 2.3s ease,transform 10s ease}.hero-slide.visible{opacity:.61;transform:scale(1.1)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#040604a1 0%,#0305031a 65%),linear-gradient(0deg,#080908 0%,#08090812 47%,#080908a3 100%);z-index:-2}.hero:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.32' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.16;pointer-events:none;z-index:-1}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center}.hero-top{color:#b5b9ad}.hero-top .discipline{color:var(--green)}.availability{font-size:12px;display:flex;align-items:center;gap:9px}.availability:before{content:"";width:5px;height:5px;background:var(--green);border-radius:50%}.hero-middle{flex:1;display:flex;justify-content:flex-end;flex-direction:column;padding-top:65px;padding-bottom:50px}.hero-kicker{font-size:14px;letter-spacing:.2em;display:flex;gap:30px;align-items:center;margin:0 0 8px 7px}.hero-kicker span{font-size:12px;letter-spacing:.03em;color:#ccc}.hero h1{font-size:clamp(130px,22vw,330px);font-weight:500;letter-spacing:-.085em;line-height:.85;margin:0 0 0 -.016em}.hero h1 .registered{font-size:clamp(20px,3.5vw,54px);vertical-align:top;display:inline-block;letter-spacing:0;margin:20px 0 0 15px;font-weight:400}.hero-under{display:flex;justify-content:space-between;align-items:flex-end;margin-top:38px}.hero-cn{font-size:clamp(35px,4.2vw,64px);font-weight:400;letter-spacing:.14em;margin:0}.hero-description{font-size:15px;color:var(--green);line-height:1.95;margin:0;max-width:365px}.hero-bottom{border-top:1px solid #ffffff32;padding-top:24px}.scroll-link{font-size:12px;display:flex;gap:28px;align-items:center}.scroll-link span:last-child{font-size:20px;color:var(--green)}.slide-controls{display:flex;align-items:center;gap:16px;font-size:12px;color:#c6c8c2}.slide-buttons{display:flex;gap:6px}.slide-buttons button{padding:12px 0;width:32px;border:0;background:transparent;cursor:pointer}.slide-buttons button:after{content:"";display:block;height:2px;background:#ffffff40}.slide-buttons button.active:after{background:var(--green)}.pause-btn{border:1px solid #666;background:transparent;color:#ddd;font-size:11px;padding:5px 7px;cursor:pointer}.section-intro{padding:100px var(--pad) 40px;display:flex;justify-content:space-between;align-items:flex-end}.eyebrow{font-size:12px;font-family:var(--site-font);letter-spacing:.06em;color:var(--green);margin:0 0 24px}.section-intro h2,.page-title{font-size:clamp(42px,5.6vw,88px);font-weight:400;letter-spacing:-.055em;line-height:1.08;margin:0}.section-intro h2 sup{font-family:var(--site-font);font-size:12px;vertical-align:top;letter-spacing:0;margin-left:15px;color:var(--muted)}.text-link{font-size:14px;padding-bottom:9px;border-bottom:1px solid #65695e;display:inline-flex;gap:42px}.text-link:hover{color:var(--green)}.works-grid{columns:2;column-gap:6px;margin:0 6px}.project-card{display:block;position:relative;margin-bottom:6px;break-inside:avoid;overflow:hidden;background:#191b16}.project-card .image-wrap{overflow:hidden;position:relative;aspect-ratio:1.35;background:#1a1e15}.project-card.tall .image-wrap{aspect-ratio:.87}.project-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.65,.3,1),filter .4s}.project-card:hover img{transform:scale(1.025);filter:brightness(.85)}.project-card .card-meta{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:60px 27px 25px;background:linear-gradient(transparent,#000b)}.card-meta h3{margin:0 0 8px;font-size:23px;font-weight:400}.card-meta p{margin:0;font-size:12px;color:#d5d7d0}.card-arrow{font-size:27px;transition:transform .3s}.project-card:hover .card-arrow{transform:translate(3px,-3px)}.card-number{position:absolute;top:22px;left:27px;font-family:var(--site-font);font-size:12px;color:white;text-shadow:0 1px 7px #0009}.home-outro{padding:100px var(--pad);display:flex;align-items:center;justify-content:space-between}.home-outro p{font-size:clamp(24px,3.5vw,52px);line-height:1.4;font-weight:400;letter-spacing:-.04em;margin:0}.home-outro p span{color:var(--muted)}footer{padding:38px var(--pad) 22px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}footer p{font-size:12px;line-height:1.9;color:#c2c4bd;margin:0}footer p span{color:var(--muted)}footer>a:last-of-type{font-size:14px}footer>a:last-of-type span{margin-left:40px;color:var(--green)}.sample-note{grid-column:1/-1;border-top:1px solid #1e211b;padding-top:18px;margin-top:8px;font-size:12px;color:#868d7d}.inner-page{padding:190px var(--pad) 90px;min-height:80vh}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px}.page-heading .aside{max-width:300px;font-size:14px;line-height:1.8;color:var(--muted)}.page-title span{color:var(--muted)}.filters{display:flex;gap:34px;border-bottom:1px solid var(--line);padding:0 0 20px;margin:0 0 32px;overflow:auto;white-space:nowrap}.filters a{color:var(--muted);font-size:14px;padding:8px 0;position:relative}.filters a.selected{color:var(--green)}.filters small{margin-left:8px;font-family:var(--site-font);font-size:11px}.portfolio-page .works-grid{margin:0;column-gap:6px}.about-lead{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw;border-top:1px solid var(--line);padding:60px 0 80px}.about-name{font-size:90px;line-height:.95;letter-spacing:-.07em;color:var(--green)}.about-name small{font-size:28px;letter-spacing:.2em;display:block;color:var(--white);margin:20px 0}.about-copy h2{font-weight:400;font-size:clamp(26px,3vw,42px);line-height:1.55;margin:0 0 25px}.about-copy p{font-size:16px;line-height:2;color:#aeb3a6}.skills{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.skills span{font-size:12px;padding:9px 13px;border:1px solid #363c2e}.resume-section{border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:1fr 2fr;gap:8vw}.resume-section h2{font-size:22px;font-weight:400;margin:0}.resume-section h2 small{display:block;color:var(--muted);font-size:11px;font-family:var(--site-font);margin-top:12px}.resume-item{display:grid;grid-template-columns:130px 1fr;gap:28px;margin-bottom:30px}.resume-item:last-child{margin:0}.resume-item time{font-size:12px;color:var(--muted);font-family:var(--site-font);padding-top:6px}.resume-item h3{font-size:18px;font-weight:400;margin:0 0 10px}.resume-item p{font-size:14px;color:var(--muted);line-height:1.85;margin:0}.contact-page .page-title{font-size:clamp(70px,13vw,190px);letter-spacing:-.07em}.contact-intro{font-size:18px;line-height:1.9;color:var(--green);margin:35px 0 65px}.contact-row{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:1fr 2fr 40px;align-items:center;gap:25px}.contact-row .label{font-size:14px;color:var(--muted)}.contact-value{font-size:clamp(22px,3vw,42px);font-weight:400;letter-spacing:-.025em;margin:0}.contact-value small{font-size:12px;letter-spacing:0;color:var(--muted);margin-left:16px}.contact-row .plus{font-size:25px;color:var(--green)}.contact-foot{margin:40px 0 0;color:var(--muted);font-size:12px}.detail-top{margin-bottom:40px}.back-link{font-size:14px;color:var(--muted);display:inline-block;margin-bottom:45px}.back-link:hover{color:var(--green)}.detail-description{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;margin:40px 0}.detail-description p{font-size:16px;line-height:1.9;color:#adb1a6;margin:0}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-facts div{font-size:14px}.project-facts dt{font-size:12px;color:var(--muted);margin-bottom:12px}.project-facts dd{margin:0;line-height:1.6}.detail-hero{width:100%;display:block;max-height:1000px;object-fit:cover}.detail-body{padding:65px 0;display:grid;grid-template-columns:1fr 2fr;gap:8vw}.detail-body h2{font-size:24px;font-weight:400;margin:0}.detail-body p{font-size:16px;line-height:2;color:#adb1a6;margin:0}.detail-next{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;margin-top:45px;align-items:center}.detail-next strong{font-size:32px;font-weight:400}.detail-next small{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}.detail-next>span{font-size:40px;color:var(--green)}
@media(min-width:1700px){.hero{max-height:1200px}.hero-middle{padding-bottom:70px}.hero h1{font-size:22vw;max-width:1500px}}@media(max-width:950px){.header-note{display:none}.site-header nav{gap:25px}.hero{min-height:700px}.hero h1{font-size:24vw}.hero-description{max-width:300px;font-size:14px}.hero-kicker{margin-left:0}.about-lead{gap:6vw}.about-name{font-size:70px}.project-facts{gap:12px}.detail-description{gap:30px}.contact-value small{display:block;margin:8px 0 0}}@media(max-width:640px){:root{--pad:6vw}.site-header{height:80px}.wordmark{font-size:24px}.site-header nav{gap:17px}.site-header nav a{font-size:13px}nav small{display:none}.site-header nav a.active:after{bottom:-22px}.hero{height:calc(100svh - 10px);min-height:650px;max-height:950px;padding-top:112px;padding-bottom:25px}.hero-top{align-items:flex-start;gap:20px}.hero-top .mono{font-size:10px}.availability{font-size:10px;max-width:105px;line-height:1.5}.hero-middle{padding-top:65px;padding-bottom:32px}.hero h1{font-size:24vw;letter-spacing:-.082em}.hero h1 .registered{font-size:19px;margin:6px 0 0 7px}.hero-kicker{font-size:11px;gap:12px;margin-bottom:16px}.hero-kicker span{font-size:10px}.hero-under{display:block;margin-top:28px}.hero-cn{font-size:35px}.hero-description{font-size:13px;max-width:310px;line-height:1.9;margin-top:24px}.hero-bottom{padding-top:20px}.scroll-link{font-size:10px;gap:10px}.slide-controls{gap:9px;font-size:10px}.slide-buttons button{width:20px}.pause-btn{font-size:10px;padding:5px}.section-intro{padding-top:66px;padding-bottom:26px;gap:20px}.eyebrow{font-size:10px;margin-bottom:18px}.section-intro h2{font-size:38px}.text-link{font-size:12px;gap:15px;white-space:nowrap}.works-grid{columns:1;margin:0 4px}.project-card{margin-bottom:4px}.project-card.tall .image-wrap{aspect-ratio:1}.project-card .card-meta{padding:55px 21px 22px}.card-meta h3{font-size:22px}.home-outro{padding-top:65px;padding-bottom:65px;gap:25px}.home-outro p{font-size:26px}footer{grid-template-columns:1fr auto;gap:25px}footer p{grid-row:2;grid-column:1/-1}.footer-mark{font-size:28px}.sample-note{font-size:10px}.inner-page{padding-top:140px;padding-bottom:65px}.page-heading{display:block;margin-bottom:40px}.page-title{font-size:49px}.page-heading .aside{font-size:13px;max-width:310px;margin-top:25px}.filters{gap:25px;margin-bottom:22px;padding-bottom:15px}.filters a{font-size:13px}.about-lead{grid-template-columns:1fr;gap:40px;padding:35px 0 50px}.about-name{font-size:78px}.about-copy h2{font-size:26px}.about-copy p{font-size:15px}.resume-section{grid-template-columns:1fr;gap:32px}.resume-section h2 small{display:inline;margin-left:15px}.resume-item{grid-template-columns:85px 1fr;gap:15px}.resume-item time{font-size:11px}.resume-item h3{font-size:16px}.resume-item p{font-size:13px}.contact-page .page-title{font-size:21vw}.contact-intro{font-size:15px;margin-bottom:45px}.contact-row{grid-template-columns:70px 1fr 20px;gap:10px;padding:25px 0}.contact-value{font-size:23px;overflow-wrap:anywhere}.contact-row .label{font-size:12px}.contact-value small{font-size:11px}.detail-description{grid-template-columns:1fr;gap:25px}.detail-description p{font-size:15px}.detail-body{grid-template-columns:1fr;gap:25px;padding:40px 0}.detail-body p{font-size:15px}.detail-next strong{font-size:26px}.detail-next>span{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-slide{transform:none!important}}
.page-title,.section-intro h2{letter-spacing:-.025em}.contact-page .page-title{letter-spacing:-.07em}.detail-hero{height:auto;max-height:none}.project-card.tall .image-wrap{aspect-ratio:.68}@media(max-width:640px){.project-card.tall .image-wrap{aspect-ratio:.8}}
@media(max-width:640px){.contact-row{grid-template-columns:minmax(0,1fr) 20px;gap:17px}.contact-row .label{grid-column:1/-1}.contact-value{font-size:24px}.contact-value small{margin-top:10px}.contact-row .plus{align-self:start}}
