.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.project-cards .gallery-pic>img{width:100%;height:260px;object-fit:cover}.project-cards .gallery-content{padding:24px;background:white}.project-cards h3{font-size:22px;overflow-wrap:anywhere}.project-cards .gallery-box:has(:focus-visible) .gallery-overlay{opacity:1;visibility:visible}.project-detail .site-breadcrumb{padding:150px 0 45px;background:#173c32}.project-detail .site-breadcrumb h1{font-size:clamp(28px,4vw,44px);color:white}.project-detail .site-breadcrumb a{color:#b8d7c9}.project-detail .big-pic{width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:18px}.project-detail .project-description{white-space:pre-wrap;overflow-wrap:anywhere}.project-detail .project-sidebar-single{background:white;padding:28px;border-radius:16px}.project-detail dt{font-weight:700}.project-detail dd{margin:8px 0 24px;overflow-wrap:anywhere}body:has(.project-detail) #navbar_top{position:absolute;top:0;left:0;width:100%;background:#173c32}body:has(.project-detail) #scrtop{display:none}@media(max-width:991px){.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-cards{grid-template-columns:1fr}}
.project-cards .gallery-box:has(:focus-visible) .gallery-overlay{top:0}.project-cards .gallery-box:hover .gallery-content h3,.project-cards .gallery-box:hover .gallery-content p,.project-cards .gallery-box:hover .gallery-content small{color:white}@media(hover:none){.project-cards .gallery-overlay{top:0}}

/* Keep the image reveal in one bounded position; pointer focus must not latch it open. */
.project-cards .gallery-box .gallery-pic .gallery-overlay{top:100%;transform:none;transition:top .35s ease}
.project-cards .gallery-box:hover .gallery-pic .gallery-overlay,.project-cards .gallery-box:has(:focus-visible) .gallery-pic .gallery-overlay{top:0}
@media(hover:none){.project-cards .gallery-box .gallery-pic .gallery-overlay{top:0}}

.project-cards .gallery-box.gallery-reset .gallery-pic .gallery-overlay{top:100%;opacity:0;pointer-events:none}.project-cards .gallery-box.gallery-reset .gallery-content::before{height:0}.project-cards .gallery-box.gallery-reset .gallery-content h3,.project-cards .gallery-box.gallery-reset .gallery-content p,.project-cards .gallery-box.gallery-reset .gallery-content small{color:var(--clr-heading)}

/* A single explicit state owns the project reveal, including popup close. */
.project-cards .gallery-box .gallery-pic .gallery-overlay{top:100%!important;opacity:0!important;visibility:hidden!important;pointer-events:none;transform:none!important;transition:top .35s ease,opacity .35s ease,visibility .35s}
.project-cards .gallery-box .gallery-content::before{height:0!important}
.project-cards .gallery-box .gallery-content h3,.project-cards .gallery-box .gallery-content p,.project-cards .gallery-box .gallery-content small{color:var(--clr-heading)!important}
.project-cards .gallery-box.project-reveal .gallery-pic .gallery-overlay{top:0!important;opacity:1!important;visibility:visible!important;pointer-events:auto}
.project-cards .gallery-box.project-reveal .gallery-content::before{height:100%!important}
.project-cards .gallery-box.project-reveal .gallery-content h3,.project-cards .gallery-box.project-reveal .gallery-content p,.project-cards .gallery-box.project-reveal .gallery-content small{color:white!important}
