*{ box-sizing:border-box; }
body { 
    font-family: 'AvenirNextMedium', Arial, sans-serif; 
    font-size:16px;
    font-weight:500;
    line-height:1.4; 
    margin:0; 
    background: #f4f4f4; 
    color: #333; 
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding:2rem;
    gap:2rem;
}

.page{
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

::selection{ background:#ce0d1c; color:#fff; }

h1, h2, h3, h4, strong{
    font-family:'AvenirNextDemi', Arial, sans-serif;
}

a{ text-decoration:none; color:#3e748f; }
a:hover{ color:#4e91b2; }

.box { 
    box-sizing:border-box; 
    width:100%; 
    background: white; 
    padding: 2rem; 
    max-width: 540px; 
    margin: 0 auto; 
    border: 1px solid #ddd; 
    box-shadow:0 2px 6px rgba(0,0,0,.08); 
    border-radius:0.5rem; 
}

.box h1{ margin:0; }
.box img.grc-logo { width:90px; height:auto; margin-bottom: 0.75rem; }
.box h1 + p{ margin:0; font-size:1.25rem; font-weight:600; }

hr{
    margin:1.5rem 0 2rem; 
    border:0; 
    border-top:1px solid #e3e3e3;
}

.box nav{
    display:flex;
    flex-direction:column;
    gap:0.75rem;
}

.box nav a{ 
    display:flex; 
    gap:0.75rem; 
    align-items:center; 
    padding:0.675rem 1rem;
    background:#fafafa;
    border-radius:0.5rem;
    transition:background 0.2s ease;
    font-weight:500;
}

.box nav a:hover{ background:#f0f0f0; }  

.box nav a img{ width:24px; height:auto; flex:none; }

.footer{
    display:flex;
    justify-content:center;
    flex-direction:column;
    gap:1rem;
    font-size:0.875rem;
    width:100%;
    margin:0 auto;
    max-width:540px;
}

.footer ul{
    list-style:none;
    display:flex;
    gap:0.5rem;
    margin:0; padding:0;
    flex-direction:column;
}

@media screen and (min-width:960px){
    .footer{ flex-direction:row; gap:2rem; flex-wrap:wrap; max-width:100%; }
    .footer ul{ flex-direction:row; gap:1rem; }
    .footer ul li{ display:flex; gap:1rem; align-items:center; }
    .footer ul li + li:before{
        content:'';
        width:4px; height:4px;
        background:#3e748f;
        border-radius:50%;
        display:block;
    }
}