/* ---------------------------------------------------
   Ioannis Lamprou
--------------------------------------------------- */

:root {

    --bg: #f8f8f6;
    --text: #171717;
    --secondary: #666666;
    --line: #dddddd;
    --accent: #3d5872;

    --max-width: 820px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:var(--bg);
    color:var(--text);

    font-family:"Inter",sans-serif;
    font-size:17px;
    line-height:1.75;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}


.container{

    width:min(92%, var(--max-width));

    margin:auto;

    padding-top:70px;
    padding-bottom:80px;
}


.hero{

    text-align:center;

    margin-bottom:70px;
}


.portrait{

    width:175px;

    height:175px;

    object-fit:cover;

    border-radius:6px;

    margin-bottom:28px;
}


h1{

    font-family:"Source Serif 4",serif;

    font-size:3.3rem;

    font-weight:600;

    letter-spacing:-0.03em;

    line-height:1.1;

    margin-bottom:14px;
}


.position{

    font-size:1.15rem;

    font-weight:500;

    margin-bottom:4px;
}


.affiliation{

    color:var(--secondary);
	
	margin-bottom:18px;
}


.keywords{

    color:var(--secondary);

    font-size:.95rem;

    letter-spacing:.04em;

    margin-bottom:22px;
}


.email{

    margin-bottom:20px;
}


.email a{

    color:var(--text);

    text-decoration:none;

    border-bottom:1px solid transparent;

    transition:.2s;
}

.email a:hover{

    color:var(--accent);

    border-color:var(--accent);
}


.links{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    font-size:.95rem;
}


.links span{

    color:#999;
}


.links a{

    color:var(--secondary);

    text-decoration:none;

    transition:.2s;
}


.links a:hover{

    color:var(--accent);
}


section{

    margin-top:70px;
}


h2{

    font-size:1.35rem;

    font-weight:600;

    margin-bottom:28px;

    padding-bottom:10px;

    border-bottom:1px solid var(--line);
}


section p{

    color:#333;
}


.publication{

    display:grid;

    grid-template-columns:80px 1fr;

    gap:24px;

    margin-bottom:34px;
}


.year{

    color:#8c8c8c;

    font-weight:600;

    font-size:.9rem;

    letter-spacing:.08em;
}


.paper h3{

    font-size:1.07rem;

    font-weight:600;

    line-height:1.45;

    margin-bottom:6px;
}


.paper p{

    color:var(--secondary);

    font-size:.95rem;

    line-height:1.6;

    margin-bottom:8px;
}


.venue{

    font-size:.92rem;

    color:var(--accent);

    font-weight:500;
}


.more{

    color:#888;

    font-style:italic;

    margin-top:10px;
}


footer{

    margin-top:80px;

    padding-top:30px;

    border-top:1px solid var(--line);

    text-align:center;

    color:#888;

    font-size:.9rem;
}


a{

    transition:.2s ease;
}


::selection{

    background:#d8e3ef;
}


/* ---------- Mobile ---------- */

@media (max-width:700px){

    h1{

        font-size:2.5rem;
    }

    .publication{

        grid-template-columns:1fr;
        gap:8px;
    }

    .year{

        margin-bottom:2px;
    }

}