:root{
  --paper:#fbfaf8; --ink:#12100e; --ink-2:#26231f; --ink-3:#3d3934;
  --mute:#8a8378; --mute-2:#b6afa4; --rule:#e7e3dc; --tint:#f2efe9;
  --sidebar:288px; --pad:44px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper); color:var(--ink);
  font-family:"Space Grotesk",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--mute)}
img{display:block;width:100%;height:100%;object-fit:cover}
.mono{font-family:"Space Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}

.layout{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}

.sidebar{
  position:sticky;top:0;height:100vh;
  padding:var(--pad) 32px 36px var(--pad);
  display:flex;flex-direction:column;justify-content:space-between;
  border-right:1px solid var(--rule);
}
.sidebar-top{display:flex;flex-direction:column;gap:56px}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand-link{display:block}
.brand-name{font-size:19px;letter-spacing:-.01em;line-height:1.25}
.brand-role{font-size:11px;color:var(--mute);margin-top:7px}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:32px;height:32px;padding:0;background:none;border:0;cursor:pointer;flex:none}
.nav-toggle span{display:block;height:1px;width:100%;background:var(--ink)}
.nav{display:flex;flex-direction:column;gap:14px;font-size:15px;font-weight:300}
.nav a{color:var(--ink-3)}
.nav a[aria-current="page"],.nav a:hover{color:var(--ink)}
.nav-series{display:flex;flex-direction:column;gap:11px;border-left:1px solid var(--rule);margin-left:1px}
.nav-series a{padding-left:16px;font-size:14px;color:var(--mute);display:flex;gap:10px;align-items:baseline}
.nav-series a[aria-current="page"]{color:var(--ink)}
.nav-series .year{font-family:"Space Mono",monospace;font-size:10px;letter-spacing:0;color:var(--mute-2)}
.nav-about{margin-top:22px}
.foot{font-size:10px;line-height:1.9;letter-spacing:.08em;color:var(--mute-2)}

.frame{background:var(--tint);position:relative;overflow:hidden}
.frame::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,#eae6df 0 1px,transparent 1px 9px)}
.frame img{position:relative}
.frame .slug{position:absolute;left:14px;bottom:14px;font-size:10px;letter-spacing:.12em;color:#a29a8e}
.frame img+.slug{display:none}

.home{height:100vh;padding:var(--pad) var(--pad) 36px;display:flex;flex-direction:column;gap:28px}
.home .frame{flex:1;min-height:0}
.home .frame img{object-fit:contain}
.home-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.home-foot p{margin:0;font-size:15px;font-weight:300;line-height:1.6;max-width:38ch;color:var(--ink-3);text-wrap:pretty}
.link-rule{font-size:11px;letter-spacing:.16em;border-bottom:1px solid var(--ink);padding-bottom:4px}

.page{padding:var(--pad) var(--pad) 96px}
.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--mute);margin-bottom:52px}

.works{display:flex;flex-direction:column}
.works a{display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center;
  padding:20px 0;border-top:1px solid var(--rule)}
.works h2{margin:0;font-size:26px;font-weight:300;letter-spacing:-.015em}
.works .meta{font-size:11px;letter-spacing:.1em;color:var(--mute);margin-top:8px}
.works .frame{height:180px}

.series-head{display:flex;justify-content:space-between;align-items:baseline;gap:40px;
  padding-bottom:32px;border-bottom:1px solid var(--rule)}
.series-head h1{margin:0;font-size:32px;font-weight:300;letter-spacing:-.02em}
.series-head .meta{font-size:11px;letter-spacing:.1em;color:var(--mute);margin-top:10px;white-space:nowrap}
.series-head p{margin:0;font-size:14px;font-weight:300;line-height:1.65;max-width:40ch;color:var(--ink-3);text-wrap:pretty}
.plate-view{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px}
.plate-stage{flex:none;min-width:0;max-width:100%}
.plate-stage .frame{width:auto;max-width:100%;max-height:70vh;margin:0 auto}
.plate-nav{width:100%;margin-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  font-size:11px;letter-spacing:.1em;color:var(--mute)}
.plate-caption{color:var(--ink-3);text-transform:none;letter-spacing:.02em;text-align:right}
.plate-arrow{flex:none;display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border:1px solid var(--rule);border-radius:50%;
  font-size:16px;color:var(--ink-3);transition:color .15s,border-color .15s}
.plate-arrow:hover{color:var(--ink);border-color:var(--ink-3)}
.plate-arrow[aria-disabled="true"]{color:var(--mute-2);border-color:var(--rule);opacity:.4}
.plate-arrows-mobile{display:none}

.about{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;max-width:1040px}
.about p{margin:0 0 22px;font-size:16px;font-weight:300;line-height:1.7;color:var(--ink-2);text-wrap:pretty}
.about p:last-child{margin-bottom:0}
.about aside{display:flex;flex-direction:column;gap:28px}
.about .frame{aspect-ratio:4/5}
.meta-list{display:flex;flex-direction:column;gap:12px;font-family:"Space Mono",monospace;
  font-size:11px;line-height:1.7;letter-spacing:.06em;color:var(--ink-3)}
.meta-list div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);padding-top:10px}
.meta-list span:first-child{color:var(--mute);text-transform:uppercase}

@media (max-width:900px){
  :root{--pad:22px}
  .layout{grid-template-columns:1fr;min-height:0}
  .sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--rule);gap:20px}
  .sidebar-top{gap:0}
  .nav-toggle{display:flex}
  .nav{
    display:flex;flex-direction:column;overflow:hidden;
    max-height:0;opacity:0;margin-top:0;gap:14px;
    transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease;
  }
  .sidebar.nav-open .nav{max-height:600px;opacity:1;margin-top:26px}
  .home{height:auto}
  .home .frame{aspect-ratio:3/2}
  .home-foot{flex-direction:column;align-items:flex-start;gap:20px}
  .works a{grid-template-columns:1fr;gap:16px}
  .about{grid-template-columns:1fr;gap:36px}
  .series-head{flex-direction:column;gap:20px}
  .plate-view{flex-direction:column;gap:10px}
  .plate-stage .frame{max-height:56vh}
  .plate-arrow-side{display:none}
  .plate-arrows-mobile{display:flex;gap:16px;justify-content:center}
  .plate-arrow-top{width:28px;height:28px;font-size:13px}
  .plate-caption{display:none}
}
