
:root{
  --black:#050505;
  --ink:#f6f6f4;
  --soft:#d8d8d3;
  --muted:#8e8f90;
  --dark:#0d0e0f;
  --charcoal:#151617;
  --slate:#1e2022;
  --ash:#2b2d2f;
  --line:#37393b;
  --max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(60,63,66,.28), transparent 35%),
    radial-gradient(circle at 80% 40%, rgba(42,45,48,.24), transparent 32%),
    var(--black);
  color:var(--ink);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;
  font-weight:300;
  line-height:1.5;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.45), transparent 72%);
  z-index:-1;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:60;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px clamp(18px,4vw,60px);
  color:var(--soft);
  mix-blend-mode:difference;
}
.brand,.nav-links a,.section-kicker,.button,.eyebrow{
  text-transform:uppercase;
  letter-spacing:.22em;
}
.brand{font-size:13px}
.nav-links{display:flex;gap:clamp(18px,3vw,44px)}
.nav-links a{font-size:11px;color:var(--soft)}
main{width:100%}
.section{
  max-width:var(--max);
  margin:0 auto;
  padding:clamp(72px,9vw,150px) clamp(18px,4vw,60px);
}
.section-kicker{
  color:var(--muted);
  font-size:12px;
  margin-bottom:34px;
}
h1,h2,h3{
  margin:0;
  font-weight:300;
  letter-spacing:-.06em;
}
h1{
  font-size:clamp(82px,18vw,260px);
  line-height:.72;
}
h2{
  font-size:clamp(52px,9vw,132px);
  line-height:.86;
}
h3{
  font-size:clamp(28px,4vw,64px);
  line-height:.92;
}
p{font-size:clamp(16px,1.4vw,22px)}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid var(--line);
  color:var(--soft);
  font-size:11px;
  background:rgba(255,255,255,.015);
  backdrop-filter:blur(12px);
}
.button:hover{background:var(--ink);color:var(--black);border-color:var(--ink)}
.hero{
  min-height:100svh;
  position:relative;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:stretch;
  background:var(--black);
  overflow:hidden;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(0,0,0,.64), rgba(0,0,0,.05) 42%, rgba(0,0,0,.48));
}
.hero-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(96px,14vw,180px) clamp(22px,5vw,86px) clamp(48px,6vw,92px);
}
.hero-copy .role{
  color:var(--muted);
  max-width:560px;
  font-size:clamp(18px,2.1vw,30px);
  margin:32px 0 0;
}
.hero-image{
  position:relative;
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:clamp(72px,8vw,130px) clamp(16px,4vw,76px);
}
.hero-image:before{
  content:"";
  position:absolute;
  width:62vw;
  aspect-ratio:1/1;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  filter:blur(.2px);
  opacity:.55;
}
.hero-image img{
  position:relative;
  z-index:2;
  width:min(90%,720px);
  max-height:78vh;
  object-fit:contain;
  filter:drop-shadow(0 40px 80px rgba(0,0,0,.52));
}
.hero-index{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:34px;
}
.overview{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);
  gap:clamp(46px,8vw,130px);
  align-items:start;
}
.overview-art{
  position:sticky;
  top:100px;
  background:var(--charcoal);
  padding:clamp(14px,2vw,24px);
  border:1px solid var(--line);
}
.overview-art img{
  width:100%;
  object-fit:contain;
  filter:saturate(.95) contrast(1.08);
}
.statement{
  color:var(--soft);
  max-width:820px;
}
.statement p{
  font-size:clamp(22px,2.8vw,44px);
  line-height:1.08;
  letter-spacing:-.035em;
  margin:0 0 30px;
}
.work-strip{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  white-space:nowrap;
  padding:20px 0;
  color:var(--muted);
}
.work-strip span{
  display:inline-block;
  font-size:clamp(48px,8vw,110px);
  letter-spacing:-.07em;
  animation:marquee 28s linear infinite;
}
@keyframes marquee{to{transform:translateX(-50%)}}
.home-works{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(16px,2vw,30px);
  align-items:end;
}
.home-work{
  grid-column:span 4;
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:20px;
}
.home-work:nth-child(2),.home-work:nth-child(5){grid-column:span 5}
.home-work:nth-child(3){grid-column:span 3}
.home-work img{
  width:100%;
  max-height:520px;
  object-fit:contain;
  background:var(--charcoal);
}
.home-work h3{
  font-size:clamp(26px,3vw,46px);
  margin:20px 0 8px;
}
.works-hero{
  min-height:74svh;
  display:grid;
  align-items:end;
  border-bottom:1px solid var(--line);
}
.work-list{
  display:grid;
  gap:clamp(90px,13vw,190px);
}
.work-row{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(20px,4vw,70px);
  align-items:center;
}
.work-row:nth-child(even) .work-img{grid-column:6/13;order:2}
.work-row:nth-child(even) .work-info{grid-column:2/6;order:1}
.work-img{
  grid-column:1/8;
  background:linear-gradient(135deg,var(--charcoal),#101112);
  border:1px solid var(--line);
  min-height:520px;
  display:grid;
  place-items:center;
  padding:clamp(18px,3vw,46px);
}
.work-img img{
  max-height:72vh;
  width:100%;
  object-fit:contain;
}
.work-info{
  grid-column:8/13;
  border-top:1px solid var(--line);
  padding-top:30px;
}
.eyebrow{
  font-size:12px;
  color:var(--muted);
}
.work-info h2{
  font-size:clamp(42px,6.4vw,104px);
  margin:20px 0 22px;
}
.meta{
  color:var(--muted);
  font-size:clamp(16px,1.4vw,20px);
}
.cv-page{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding-top:90px;
}
.cv-wrap{
  max-width:820px;
  width:100%;
  text-align:center;
}
.cv-wrap h1{
  font-size:clamp(76px,14vw,190px);
  margin-bottom:28px;
}
details{
  border-top:1px solid var(--line);
  text-align:center;
}
details:last-child{border-bottom:1px solid var(--line)}
summary{
  cursor:pointer;
  list-style:none;
  padding:28px 0;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:12px;
  color:var(--soft);
}
summary::-webkit-details-marker{display:none}
summary:after{content:" +";color:var(--muted)}
details[open] summary:after{content:" −"}
ul{
  list-style:none;
  padding:0;
  margin:0 auto 32px;
  max-width:680px;
}
li{
  color:#d4d4d0;
  margin:0 0 14px;
  font-size:clamp(15px,1.2vw,18px);
}
.footer{
  max-width:var(--max);
  margin:auto;
  padding:clamp(70px,8vw,130px) clamp(18px,4vw,60px);
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:180px 1fr 1fr;
  gap:clamp(24px,5vw,90px);
  align-items:start;
}
.footer-mark{
  width:92px;
  height:92px;
  border:1px solid var(--line);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--muted);
  letter-spacing:.18em;
}
.footer h3{font-size:clamp(32px,4vw,66px)}
.footer p,.footer a{color:var(--muted)}
.footer-links{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-end;
}
@media(max-width:1000px){
  .site-header{position:absolute;mix-blend-mode:normal;background:rgba(5,5,5,.42);backdrop-filter:blur(12px)}
  .hero{grid-template-columns:1fr}
  .hero-image{min-height:50svh;grid-row:1;padding-top:120px}
  .hero-copy{grid-row:2;padding-top:20px}
  .overview{grid-template-columns:1fr}
  .overview-art{position:relative;top:auto}
  .home-works{grid-template-columns:1fr}
  .home-work,.home-work:nth-child(2),.home-work:nth-child(3),.home-work:nth-child(5){grid-column:auto;min-height:auto}
  .work-row,.work-row:nth-child(even){
    display:grid;
    grid-template-columns:1fr;
  }
  .work-img,.work-info,.work-row:nth-child(even) .work-img,.work-row:nth-child(even) .work-info{
    grid-column:auto;
    order:initial;
  }
  .work-img{min-height:auto}
  .footer{grid-template-columns:1fr}
  .footer-links{align-items:flex-start}
}
@media(max-width:640px){
  .site-header{
    display:block;
    padding:18px;
  }
  .brand{display:block;margin-bottom:16px}
  .nav-links{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
  }
  .nav-links a{font-size:10px}
  .hero-image img{width:100%;max-height:62vh}
  .hero-copy{padding-left:18px;padding-right:18px}
  .section{padding-left:18px;padding-right:18px}
  .statement p{font-size:24px;line-height:1.12}
  .work-strip span{font-size:54px}
  .work-img{padding:14px}
  .footer{padding-left:18px;padding-right:18px}
}

:root{
 --black:#1b1c1d!important;
 --dark:#252729!important;
 --charcoal:#2e3133!important;
 --line:#3a3b3d!important;
 --ink:#f5f3ef!important;
 --soft:#d7d6d2!important;
 --muted:#aaa9a4!important;
}

body{
 background:#1b1c1d!important;
}

h1{
 font-size:clamp(46px,7vw,90px)!important;
 line-height:.95!important;
}

h2{
 font-size:clamp(28px,4vw,42px)!important;
}

h3{
 font-size:clamp(22px,3vw,30px)!important;
}

p{
 font-size:17px!important;
}

.site-header{
 background:rgba(27,28,29,.78)!important;
 backdrop-filter:blur(18px)!important;
}

.brand,.nav-links a,.section-kicker,.eyebrow,.button{
 letter-spacing:.16em!important;
}

.brand{
 font-size:13px!important;
}

.nav-links a{
 font-size:11px!important;
}

.hero-copy{
 justify-content:flex-end!important;
}

.hero-copy .role{
 font-size:18px!important;
 max-width:420px!important;
}

.hero-index,.button{
 display:none!important;
}

.work-img{
 background:#252729!important;
 border:none!important;
}

.home-work img,
.work-img img,
.overview-art{
 background:#252729!important;
 border:none!important;
}

.footer{
 border-top:1px solid #3a3b3d!important;
}

@media(max-width:900px){
 h1{font-size:54px!important;}
 h2{font-size:32px!important;}
}

.work-strip{display:none!important;}
