CSS3 Circular Buttons

HTML

<nav>
    <ul class="nav">
        <li><a href="#" class="icon-home"></a></li>
        <li><a href="#" class="icon-cog"></a></li>
        <li><a href="#" class="icon-cw"></a></li>
        <li><a href="#" class="icon-location"></a></li>
    </ul>
</nav>

CSS

@font-face {
  font-family: 'fontello';
  src: url('http://css-tricks.com/examples/RoundButtons/fonts/fontello.eot');
  src: url('http://css-tricks.com/examples/RoundButtons/fonts/fontello.eot?#iefix') format('embedded-opentype'),
       url('http://css-tricks.com/examples/RoundButtons/fonts/fontello.woff') format('woff'),
       url('http://css-tricks.com/examples/RoundButtons/fonts/fontello.ttf') format('truetype'),
       url('http://css-tricks.com/examples/RoundButtons/fonts/fontello.svg#fontello') format('svg');
  font-weight: normal; font-style: normal;
}

[class*="icon-"] {
  font-family: 'fontello';
  font-style: normal;
  font-size: 3em;
  speak: none;
}

.icon-home:after { content: "\2302"; } 
.icon-cog:after { content: "\2699"; } 
.icon-cw:after { content: "\27f3"; } 
.icon-location:after { content: "\e724"; } 

* { 
  -webkit-box-sizing: border-box; 
  -moz-box-sizing:    border-box; 
  box-sizing:         border-box; 
  margin: 0;
  padding: 0;
}

html {
  color: #444;
  font-size: 100%;    
  background: #f7f7f7 url(../images/bg.png) repeat center top;
}

body {
  font-family: Cambria, Georgia, "Times New Roman", Times, serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased; 
  font-size:18px; 
  font-size:1.125rem;
  line-height: 1.5;
}

a {
  text-decoration: none;
  color: #DD6C4F;
}

a:hover {
  text-decoration:underline;
}

a:focus { 
  outline: none;
}

h1, p, p + p, ul 
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

h1 {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 36px;
  font-size: 2rem;    
  line-height: 1.5; 
  font-weight: bold;
}

.page-wrap {
  width: 960px;
  margin: 80px auto;
}

.nav {
  list-style: none;
  text-align: center;
}

.nav li {
  position: relative;
  display: inline-block;
  margin-right: -4px; /* See: http://css-tricks.com/fighting-the-space-between-inline-block-elements/ */
}

.nav li:before...