@layer base {
    .material-symbols-outlined {
        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    }
}

a:focus-visible {
    outline: 2px solid #137fec;
    outline-offset: 2px;
}

.profile-image {
    background-image: url("../david_chentes.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.profile-image:hover {
    transform: scale(1.08) rotate(2deg);
    box-shadow: 0 12px 28px -8px rgba(19, 127, 236, 0.35);
    border-color: #137fec;
}

.profile-image:active {
    transform: scale(1.05) rotate(1deg);
}

.social-link {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.social-link:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 8px 16px -4px rgba(19, 127, 236, 0.15);
}

.social-link:active {
    transform: translateY(-1px) scale(1.005);
}

.primary-link {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.primary-link:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 8px 20px -4px rgba(19, 127, 236, 0.25);
}

.secondary-link {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.secondary-link:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.1);
}

.cv-link {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.cv-link:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 6px 12px -4px rgba(14, 165, 233, 0.2);
}

.profile-container {
    animation: fadeIn 0.6s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.link-card {
    animation: slideUp 0.5s ease-out backwards;
}

.link-card:nth-child(1) { animation-delay: 0.1s; }
.link-card:nth-child(2) { animation-delay: 0.15s; }
.link-card:nth-child(3) { animation-delay: 0.2s; }
.link-card:nth-child(4) { animation-delay: 0.25s; }
.link-card:nth-child(5) { animation-delay: 0.3s; }
.link-card:nth-child(6) { animation-delay: 0.35s; }
.link-card:nth-child(7) { animation-delay: 0.4s; }

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.icon-hover {
    transition: all 0.25s ease;
}

.group:hover .icon-hover {
    transform: translateX(2px);
    color: #137fec;
}
