* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
}

body {
    overflow: hidden;
    font-family: Arial, Helvetica, sans-serif;
}


/* =====================================================
   FONDO
===================================================== */

.pantalla {
    width: 100vw;
    height: 100vh;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    background-color: #17154b;

    background-image:
        linear-gradient(
            rgba(36, 18, 86, .12),
            rgba(36, 18, 86, .12)
        ),
        url("assets/fondo.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* =====================================================
   TARJETA
   En la imagen: aproximadamente
   604px × 462px sobre una pantalla 1024×576
===================================================== */

.tarjeta {
    width: 59%;
    height: 80.2%;

    position: relative;

    padding: 29px 48px;

    border-radius: 22px;

    background: rgba(170, 154, 181, 0.68);

    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);

    overflow: hidden;
}


/* =====================================================
   PARTE SUPERIOR
===================================================== */

.parte-superior {
    width: 100%;
    height: 35%;

    position: relative;

    display: grid;

    grid-template-columns: 125px 1fr 118px;

    column-gap: 24px;
}


/* =====================================================
   AVATAR
===================================================== */

.zona-avatar {
    width: 125px;
    height: 145px;

    position: relative;
}

.marco-avatar {
    position: absolute;

    left: 17px;
    top: 3px;

    width: 103px;
    height: 111px;

    padding: 6px;

    background: #f0edf0;

    border: 3px solid #c9b8cb;

    border-radius: 8px;

    z-index: 2;
}

.marco-avatar img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}


/* =====================================================
   FLORES DEL AVATAR
===================================================== */

.decoracion-avatar {
    position: absolute;

    z-index: 5;

    font-size: 19px;
}

.decoracion-1 {
    left: 2px;
    top: -14px;
}

.decoracion-2 {
    left: 38px;
    top: -14px;
}


/* =====================================================
   ICONOS BAJO AVATAR
===================================================== */

.mini-iconos {
    position: absolute;

    left: 22px;
    top: 117px;

    display: flex;
    gap: 5px;

    z-index: 10;
}

.mini-iconos span {
    width: 18px;
    height: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #d19bb7;

    border: 1px solid rgba(45, 27, 58, .45);

    color: #49375b;

    font-size: 10px;
}


/* =====================================================
   INFORMACIÓN
===================================================== */

.informacion {
    padding-top: 3px;
}

.titulo-info {
    height: 26px;

    display: flex;
    align-items: center;

    color: #f7f0f7;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: .2px;

    margin-bottom: 5px;
}

.titulo-info span {
    margin-right: 7px;

    color: white;

    font-size: 23px;

    line-height: 1;
}


/* =====================================================
   FILAS
===================================================== */

.fila-info {
    height: 24px;

    display: flex;
    align-items: center;

    color: #eee8ef;

    font-size: 14px;

    font-weight: 600;

    white-space: nowrap;
}

.icono-info {
    width: 24px;

    margin-right: 5px;

    display: flex;
    justify-content: center;

    color: #aeeeff;

    font-size: 18px;

    text-shadow:
        0 0 4px rgba(100, 230, 255, .8);
}

.punto-verde {
    width: 6px;
    height: 6px;

    margin-left: 7px;

    border-radius: 50%;

    background: #78ddc7;

    box-shadow: 0 0 5px #78ddc7;
}


/* =====================================================
   STAMPS
===================================================== */

.stamps {
    padding-top: 10px;

    display: flex;
    flex-direction: column;

    align-items: center;

    gap: 13px;
}

.stamp {
    width: 90px;
    height: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(94, 67, 111, .70);

    color: #21172a;

    font-size: 11px;

    font-weight: 700;
}


/* =====================================================
   PARTE INFERIOR
===================================================== */

.parte-inferior {
    width: 100%;
    height: 65%;

    position: relative;

    display: grid;

    grid-template-columns: 55% 45%;
}


/* =====================================================
   BOTONES
===================================================== */

.menu {
    position: relative;

    padding-top: 8px;
    padding-left: 14px;

    display: flex;
    flex-direction: column;

    align-items: flex-start;

    gap: 20px;
}

.menu button {
    width: 174px;
    height: 48px;

    border: none;
    border-radius: 15px;

    background: #e7dce9;

    color: #111;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 20px;

    font-weight: 700;

    cursor: pointer;

    box-shadow: none;
}


/* Primer botón */
.menu button:nth-child(1) {
    margin-left: 0;
}


/* Segundo botón */
.menu button:nth-child(2) {
    margin-left: 29px;
}


/* Tercer botón */
.menu button:nth-child(3) {
    margin-left: 57px;
}


/* =====================================================
   PROYECTOS
===================================================== */

.proyectos {
    position: relative;

    width: 100%;
    height: 100%;
}


/* Proyecto 1 */

.proyecto-1 {
    position: absolute;

    left: 5px;
    top: 28px;

    width: 87px;
    height: 106px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #66506e;

    border-radius: 46px 46px 0 0;
}


/* Proyecto 2 */

.proyecto-2 {
    position: absolute;

    right: -3px;
    top: -24px;

    width: 87px;
    height: 106px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #66506e;

    border-radius: 46px 46px 0 0;
}


.proyecto span {
    color: #21172a;

    font-size: 9px;

    font-weight: 700;

    white-space: nowrap;
}


/* =====================================================
   RESPONSIVE
===================================================== */

/*
   La captura original es 1024x576.
   Mantenemos las proporciones al cambiar de resolución.
*/

@media (max-width: 800px) {

    .tarjeta {
        width: 75%;
        height: 80%;
    }
}
