/* Local portfolio refinements. Shared styles and animation hooks stay intact. */
body { color: #292824; font-weight: 400; }
section.p-0 > .row { margin-left: 0; margin-right: 0; }
.item-container img { aspect-ratio: 1076 / 976; object-fit: cover; }
.item-container:hover img { transform: scale(1.04); transition-duration: .5s; }
.item-container .overlay {
    inset: 0;
    padding: 0;
    color: #fff;
    background: linear-gradient(to top, rgba(18,17,15,.94), rgba(18,17,15,.80) 42%, rgba(18,17,15,.18) 72%, transparent);
}
.overlay-inner {
    top: auto; bottom: 0; left: 0; width: 100%;
    transform: none; padding: 24px 28px;
}
.overlay h4 { font-size: clamp(20px, 1.8vw, 28px); line-height: 1.25; margin: 0 0 10px; padding: 0 0 10px; font-weight: 600; }
.overlay p { padding: 0; font-size: 15px; line-height: 1.6; font-weight: 400; max-width: 35ch; }
.item-container:focus-within .overlay { opacity: 1; z-index: 15; }
.item-container:focus-within p { opacity: 1; transform: translate3d(0,0,0); }
.item-container:focus-within h4::after { transform: translate3d(0,0,0); }
a:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.navbar-header { background: #fff; }
.menu-btn { min-height: 44px; align-content: center; }
.nav-img, .nav-img img { width: 100%; height: 100%; object-fit: cover; }
.outer-wrapper.inner-wrapper { overflow-y: auto; }
.overlay1 { min-height: 100%; background: rgba(18,17,15,.80); }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus-visible { color: #f1d5b7; }
.logo-img { width: 180px; max-width: 48%; }
.logo-img img { max-width: 100%; height: auto; }
.footer-sec { background: #151412; padding: 38px 20px; }
.footer-sec .company-about { font-size: 14px; line-height: 1.8; font-weight: 400; text-transform: none !important; }
.company-about a:hover { color: #f1d5b7; }
.footer-social li a:hover, .footer-social li a:focus-visible { background: #705338 !important; color: #fff !important; }
@media (max-width: 991px) and (min-width: 768px) {
    .overlay-inner { padding: 16px; }
    .overlay p { font-size: 14px; line-height: 1.45; }
    .overlay h4 { font-size: 20px; }
}
@media (max-width: 767px) {
    .navbar.sidemenu-nav { top: 12px; padding: 8px 16px; }
    .overlay-inner { padding: 22px 24px; }
    .overlay h4 { font-size: 24px; }
    .navbar-nav .nav-link { font-size: 36px; line-height: 1.2; padding: 16px 0; }
    .footer-social a { margin: 8px 2px; }
}
@media (hover: none) {
    .item-container .overlay { opacity: 1; }
    .overlay p { opacity: 1; transform: none; }
}
