.contact-big {
    font-family: 'Syne', sans-serif; font-weight: 800;
    font-size: clamp(2.8rem,8vw,6.5rem); line-height: .95; letter-spacing: -.04em; color: #fff;
    margin-bottom: 1.6rem;
}
.contact-big em { font-style: italic; font-weight: 400; color: rgba(255,255,255,.28); display: block; }
.btn-accent {
    display: inline-flex; align-items: center; gap: .8rem;
    background: var(--accent); color: #001122;
    font-family: 'Syne', sans-serif; font-size: .8rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; padding: 1rem 2.2rem;
    text-decoration: none; transition: background .25s, transform .2s;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.btn-accent:hover { filter: brightness(.88); transform: translateX(4px); }
/* ── Glitch title effect ── */
.glitch-title {
    position: relative; display: inline-block;
}
.glitch-title.glitching::before, .glitch-title.glitching::after {
    content: attr(data-text); position: absolute; left: 0; top: 0;
    width: 100%; height: 100%; pointer-events: none;
}
.glitch-title.glitching::before {
    color: var(--accent); clip: rect(0, 900px, 20px, 0);
    animation: glitchTop .12s steps(2, end) forwards;
}
.glitch-title.glitching::after {
    color: #4AF; clip: rect(40px, 900px, 60px, 0);
    animation: glitchBot .12s steps(2, end) .06s forwards;
}
@keyframes glitchTop {
    0% { transform: translate(-2px, 0); }
    25% { transform: translate(2px, 0); }
    50% { transform: translate(-1px, 0); clip: rect(0, 900px, 30px, 0); }
    100% { transform: translate(0, 0); opacity: 0; }
}
@keyframes glitchBot {
    0% { transform: translate(2px, 0); }
    25% { transform: translate(-2px, 0); }
    50% { transform: translate(1px, 0); clip: rect(50px, 900px, 80px, 0); }
    100% { transform: translate(0, 0); opacity: 0; }
}

.cv-skills-wrap { margin-top: 2rem; }
.contact-btn-wrap { display: flex; gap: 1rem; flex-wrap: wrap; }