*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --paper:#ffffff;
    --bg:#e9ecef;

    --text:#1f2937;
    --gray:#6b7280;

    --line:#d9d9d9;

    --accent:#111827;

}

body{

    font-family:"Inter",sans-serif;

    background:var(--bg);

    color:var(--text);

    padding:60px 0;

}

/* ===================== */

.resume{

    width:210mm;

    min-height:297mm;

    margin:auto;

    background:var(--paper);

    box-shadow:
        0 10px 45px rgba(0,0,0,.15);

    padding:55px;

}

/* ===================== */

.card{

    margin-bottom:45px;

}

/* ===================== */

.hero{

    display:flex;

    align-items:center;

    gap:40px;

    padding-bottom:35px;

    border-bottom:2px solid var(--line);

}

.avatar{

    width:155px;

    height:155px;

    flex-shrink:0;

}

.avatar img{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:50%;

    border:4px solid #f2f2f2;

}

.hero-content{

    flex:1;

}

.hero h1{

    font-size:44px;

    font-weight:800;

    letter-spacing:-1px;

    margin-bottom:8px;

}

.hero h2{

    color:var(--gray);

    font-weight:500;

    margin-bottom:22px;

}

/* ===================== */

.contact{

    display:flex;

    flex-wrap:wrap;

    gap:12px 24px;

}

.contact span{

    color:var(--gray);

    font-size:15px;

}

.contact a{

    text-decoration:none;

    color:var(--accent);

    font-weight:500;

}

/* ===================== */

.card h3{

    font-size:22px;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:22px;

    position:relative;

}

.card h3::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-10px;

    width:45px;

    height:2px;

    background:#111;

}

/* ===================== */

.card>p{

    line-height:1.8;

    color:#444;

}

/* ===================== */

.job{

    padding-bottom:25px;

    margin-bottom:25px;

    border-bottom:1px solid var(--line);

}

.job:last-child{

    margin-bottom:0;

    padding-bottom:0;

    border:none;

}

.job-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:8px;

}

.job-header h4{

    font-size:19px;

}

.job-header span{

    color:var(--gray);

}

.company{

    color:#444;

    font-weight:600;

    margin-bottom:12px;

}

.job p{

    color:#555;

    line-height:1.8;

}

/* ===================== */

.skills{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

}

.skills span{

    padding:9px 18px;

    border:1px solid var(--line);

    border-radius:30px;

    font-size:14px;

    background:#fafafa;

}

/* ===================== */

.project{

    display:flex;

    align-items:flex-start;

    gap:22px;

    padding-bottom:28px;

    margin-bottom:28px;

    border-bottom:1px solid var(--line);

}

.project:last-child{

    border:none;

    margin-bottom:0;

}

.project img{

    width:160px;

    border-radius:10px;

    border:1px solid var(--line);

}

.project h4{

    font-size:18px;

    margin-bottom:10px;

}

.project p{

    color:#555;

    line-height:1.7;

}

.project a{

    color:#111;

    text-decoration:none;

    font-weight:600;

}

.project a:hover{

    text-decoration:underline;

}

/* ===================== */

a{

    color:#111;

}

/* ===================== */

@media(max-width:900px){

    body{

        padding:20px;

    }

    .resume{

        width:100%;

        padding:35px;

    }

}

/* ===================== */

@media(max-width:700px){

    .hero{

        flex-direction:column;

        text-align:center;

    }

    .contact{

        justify-content:center;

    }

    .job-header{

        flex-direction:column;

        gap:5px;

    }

    .project{

        flex-direction:column;

    }

    .project img{

        width:100%;

    }

}

/* ===================== */

@media print{

    body{

        background:white;

        padding:0;

    }

    .resume{

        width:100%;

        box-shadow:none;

        padding:0;

    }

}