.box{
    border-style: solid;
    border-width: 10px 10px 10px 10px;
    border-image: url(/assets/button.svg) 10 10 10 10 stretch stretch;
}

a{
    cursor: pointer;
}
a h3{
    position: relative;
}
a:not(:has(h3)) {
    position: relative;
}

a h3::after,
a:not(:has(h3))::after{
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    height: 4px;
    width: 0;
    border-radius: 8px;

    background-color: black;
    transition: width .3s ease;
}

a:hover h3::after,
a:hover:not(:has(h3))::after{
    width: 70%;
}
main > p > span{
    position: relative;
}
main > p > span::after{
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;

    width: 100%;
    height: 3px;
    border-radius: 8px;
    transition: background-color .5s ease-in-out;
}

main > p:hover > span::after{
    background-color: #0002;
}