Vou postar o código aqui. Por que apenas o último botão da pagina agiu dessa forma, o botão que enta dentro da section "blog":
    <main>
        <section class="saudacoes">
            <p><span class="saudacoes-texto1">Olá,</span> meu nome é <strong>João da Silva</strong> <span class="saudacoes-texto2">e eu construo <em>sites maravilhosos</em></span></p>
            <a href="bio.html" class="botao-index">Conheça mais um pouco sobre mim</a>
        </section>
        <section class="trabalhos">
            <h2>Trabalhos</h2>
            <ul>
                <li><img src="img/bmw.png" alt="Site BMW"></li>
                <li><img src="img/ibm.png" alt="Site IBM"></li>
                <li><img src="img/uol.png" alt="Site UOL"></li>
            </ul>
            <a href="portifolio.html" class="botao-index">Veja mais</a>
        </section>
        <section class="blog">
            <h2>Blog</h2>
            <small>Últimos posts</small>
            <ul class="ultimos-posts">
                <li>
                    <a href="blog.html">O essencial de design responsivo</a>
                    <p class="inicio-post">
                        Design responsivo tem ganho cada vez mais atenção como técnica de desenvolvimento de páginas web para dispositivos móveis. Mas como começar?
                    </p>
                </li>
                <li>
                    <a href="blog.html" class="post2">Por que fazer páginas acessíveis?</a>
                    <p class="inicio-post2">
                        Tem se falado cada vez sobre acessibilidade na web. Há diversas técnicas e diretivas a serem seguidas, inclusive da própria W3C. Mas vale a pena investir nisso?
                    </p>
                </li>
                <li>
                    <a href="blog.html" class="post3">JavaScript não obstrusivo</a>
                    <p class="inicio-post3">
                        JavaScript é uma linguagem essencial hoje em dia para criar páginas ricas, interativas e dinâmicas. Porém, há alguns cuidados que devem ser tomados ao colocarmos código JavaScript em nossas páginas.
                    </p>
                </li>
            </ul>
            <a href="blog.html" class="botao-index">Veja mais</a>
        </section>
main {
    width: 100%;
    padding: 0;
    float: none;
}
.botao-index {
    background-color: #851944;
    color: #FFF;
    width: 40ch;
    display: block;
    text-align: center;
    margin: 2em auto;
    padding: .5em;
    font-size: 1.25em;
    border: .2em solid black;
    box-shadow: 0 0 1em #000, inset 0 0 .5em #FFF;
}
.trabalhos {
    background-color: #3C1D3D;
    background-image:   linear-gradient(135deg,
                        transparent,
                        transparent 14px,
                        rgba(0,0,0,0.1) 14px,
                        rgba(0,0,0,0.1) 15px,
                        transparent 15px,
                        transparent);
    background-size: 20px 20px;
    background-attachment: fixed;
    padding-bottom: 2em;
    border-bottom: .5em solid black;
}
.trabalhos h2 {
    color: #FFF;
    text-transform: uppercase;
    padding: .7em;
    font-size: 3em;
}
.trabalhos ul {
    overflow: hidden;
    border: .5em solid black;
    margin: 0 2em;
}
.trabalhos li {
    float: left;
    width: 33.33%;
}
.trabalhos img {
    width: 100%;
    display: block;
}
.blog h2 {
    text-transform: uppercase;
    color: #FFF;
    padding: .7em;
    font-size: 3em;
}
.blog {
    background-color: #999;
    background-image:   linear-gradient(45deg,
                        transparent,
                        transparent 14px,
                        rgba(255, 255, 255, 0.1) 14px,
                        rgba(255, 255, 255, 0.1) 15px,
                        transparent 15px,
                        transparent);
    background-size: 20px 20px;
    background-attachment: fixed;
    color: #FFF;
    border-bottom: .5em solid #851944;
    position: relative;
}
.blog a:hover + .inicio-post,
.blog a:focus + .inicio-post {
    display: block;
}
.blog a:hover {
    background-color: #F2FFFC;
    color: #F26;
}
.post2:hover + .inicio-post2 {
    display: block;
}
.post3:hover + .inicio-post3 {
    display: block;
}
.blog small {
    position: relative;
    top: -2.5em;
    padding: 2.2em;
}
.blog li a{
    padding: .5em;
    display: block;
    margin-left: 2em;
    color: #FCF;
}
.ultimos-posts{
    width: 30%;
}
.inicio-post {
    position: absolute;
    top: 6em;
    left: 20em;
    height: 6em;
    padding: 1em;
    background-color: #FFF;
    color: black;
    display: none;
}
.inicio-post2 {
    position: absolute;
    width: 100ch;
    top: 8em;
    left: 20em;
    height: 6em;
    padding: 1em;
    background-color: #FFF;
    color: black;
    display: none;
}
.inicio-post3 {
    position: absolute;
    width: 100ch;
    top: 10em;
    left: 20em;
    height: 6em;
    padding: 1em;
    background-color: #FFF;
    color: black;
    display: none;
}