.home-projects .owl-carousel-filter .item { padding: 0; }
.home-projects .home-project-card { height: 500px; border-radius: 8px; overflow: hidden; }
.home-projects .home-project-image { width: 100%; height: 100%; object-fit: cover; }
.home-projects .overlay-bx-2 { opacity: 1; background: transparent; isolation: isolate; }
.home-projects .overlay-bx-2::before,
.home-projects .overlay-bx-2::after {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    transition: opacity .55s cubic-bezier(.22, 1, .36, 1);
}
.home-projects .overlay-bx-2::before { background: rgba(15, 15, 15, .75); opacity: 0; }
.home-projects .overlay-bx-2::after {
    background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, .12) 60%, rgba(0, 0, 0, .72));
}
.home-projects .home-project-copy {
    --home-project-gap: 20px;
    height: 100%; padding: 40px 32px; display: grid;
    grid-template-rows: minmax(0, 1fr) auto minmax(0, 0fr);
    transition: grid-template-rows .55s cubic-bezier(.22, 1, .36, 1);
}
.home-projects .home-project-copy::before { content: ""; }
.home-projects .home-project-reveal {
    min-height: 0; overflow: hidden; opacity: 0; visibility: hidden;
    transition: opacity .3s ease, visibility 0s .55s;
}
.home-projects .home-project-details {
    height: 100%; display: flex; flex-direction: column; gap: var(--home-project-gap); padding-top: var(--home-project-gap);
}
.home-projects .home-project-card:is(:hover, :focus-within) .home-project-copy {
    grid-template-rows: minmax(0, 0fr) auto minmax(0, 1fr);
}
.home-projects .home-project-card:is(:hover, :focus-within) .overlay-bx-2::before { opacity: 1; }
.home-projects .home-project-card:is(:hover, :focus-within) .overlay-bx-2::after { opacity: 0; }
.home-projects .home-project-card:is(:hover, :focus-within) .home-project-reveal {
    opacity: 1; visibility: visible; transition-delay: .12s, 0s;
}
.home-projects .home-project-title { margin: 0; line-height: 1.4; }
.home-projects .home-project-title a {
    font-size: 20px; line-height: inherit; letter-spacing: 2px; overflow-wrap: anywhere;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden;
}
.home-projects .home-project-description {
    margin: 0; font-size: 15px; line-height: 1.6;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;
}
.home-projects .home-project-link {
    align-self: flex-start; margin-top: auto; color: #fff; border-left: 2px solid;
    padding-left: 12px; letter-spacing: 2px; line-height: 1.5;
}
.home-projects a:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.home-projects .line-amiation::before,
.home-projects .line-amiation::after { pointer-events: none; }
.home-projects .line-amiation:hover::after { left: 16px; width: calc(100% - 32px); }
.home-projects .line-amiation:hover::before { top: 16px; height: calc(100% - 32px); }
@media (max-width: 1199px) {
    .home-projects .home-project-copy { --home-project-gap: 16px; padding: 36px 24px; }
    .home-projects .home-project-title a { font-size: 18px; letter-spacing: 1px; }
}
@media (max-width: 639px) {
    .home-projects .home-project-card { height: 460px; }
    .home-projects .section-head h2 { font-size: 30px !important; }
}
@media (hover: none), (pointer: coarse) {
    .home-projects .overlay-bx-2 { opacity: 1; background: linear-gradient(transparent, rgba(15,15,15,.9) 45%); }
    .home-projects .home-project-copy {
        display: flex; flex-direction: column; justify-content: flex-end; gap: var(--home-project-gap);
    }
    .home-projects .home-project-copy::before,
    .home-projects .overlay-bx-2::before,
    .home-projects .overlay-bx-2::after { display: none; }
    .home-projects .home-project-reveal { opacity: 1; visibility: visible; }
    .home-projects .home-project-details { height: auto; padding-top: 0; }
    .home-projects .home-project-link { margin-top: 0; }
    .home-projects .home-project-title a { -webkit-line-clamp: 4; }
    .home-projects .home-project-description { -webkit-line-clamp: 3; }
}
@media (prefers-reduced-motion: reduce) {
    .home-projects .overlay-bx-2,
    .home-projects .overlay-bx-2::before,
    .home-projects .overlay-bx-2::after,
    .home-projects .home-project-copy,
    .home-projects .home-project-reveal,
    .home-projects .line-amiation::before,
    .home-projects .line-amiation::after { transition: none; }
}
