/* Homepage audit fixes. Keep the established page sections and visual identity. */
.page-home .skip-link { position: absolute; top: -80px; left: 12px; z-index: 2147483647; padding: 10px 16px; border-radius: 4px; background: #173e4b; color: #fff; }
.page-home .skip-link:focus { top: 10px; }
.page-home #main-content:focus { outline: none; }
.page-home #project-grid .project-item > a:focus-visible { outline: 3px solid #b5e89e; outline-offset: -4px; }
.page-home #project-grid .project-item > a:focus-visible .project-intro { opacity: 1; }
.page-home #project-grid .project-img > img,
.page-home .owlcarousel-full .post-content .img > img {
    display: block; width: 100%; height: 200px; object-fit: cover; object-position: center;
}
.page-home section.bg-dark-gray h2.heading { color: #fff; }
.page-home .milestone-details { color: #d4ebca; }
.page-home .parallax.home .home-parallax-title { margin: 12px 0 24px; color: #fff; font-size: 60px; font-weight: 700; line-height: 1; letter-spacing: -3px; }
.page-home .clients ul {
    display: grid; grid-template-columns: repeat(3, minmax(0, 165px)); gap: 15px;
    float: none; margin: 20px 0 0; padding: 0; list-style: none;
}
.page-home .clients li.item {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100px; margin: 0; padding: 8px; overflow: hidden;
}
.page-home .clients li.item img {
    display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain;
}
.page-home .hero-static.has-static-navigation > ul > li:first-child:not(.is-current) { display: none !important; }
.page-home .hero-static.has-static-navigation > ul > li.is-current {
    display: block !important; visibility: visible !important; opacity: 1 !important;
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
    transform: none !important; background: var(--hero-static-image) center / cover;
}
.page-home .hero-static.has-static-navigation .defaultimg,
.page-home .hero-static.has-static-navigation > ul > li > img { display: none !important; }
.page-home .hero-static.has-static-navigation .caption,
.page-home .hero-static.has-static-navigation .tp-caption { display: block !important; }
.page-home .hero-manual-controls {
    position: absolute; bottom: 16px; right: 20px; z-index: 10; display: flex; gap: 8px; align-items: center;
    padding: 4px; border: 1px solid rgba(255,255,255,.3); border-radius: 7px; background: rgba(10,28,36,.9); color: #fff;
}
.page-home .hero-manual-controls button { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #fff; font-size: 18px; }
.page-home .hero-manual-controls button:hover { background: #2d780c; }
.page-home .hero-manual-controls button:focus-visible { outline: 2px solid #b5e89e; outline-offset: -2px; }
.page-home .hero-manual-controls span { min-width: 42px; text-align: center; font-size: 13px; line-height: 1.5; }
@media (max-width: 991px) {
    .page-home .home-person { margin-left: 0; padding-top: 30px; }
    .page-home .company-professional { max-width: 360px; }
}
@media (max-width: 767px) {
    .page-home #project-grid .project-img > img,
    .page-home .owlcarousel-full .post-content .img > img { height: 180px; }
    .page-home .parallax.home .home-parallax-title { font-size: 34px; line-height: 1.2; letter-spacing: -1px; }
    .page-home .hero-manual-controls { bottom: 8px; right: 12px; }
    .page-home .hero-manual-controls button { width: 40px; height: 40px; }
}
@media (max-width: 600px) {
    .page-home .clients ul { grid-template-columns: repeat(2, minmax(0, 165px)); }
}

/* Brands slide: full-bleed artwork reserves its left half for the caption. */
.page-home .hero-static > ul > #brands-slide {
    background-color: #10212b !important;
    background-image: url('../images/content/slider-marcas-corporativo.webp') !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}
.page-home .banner #brands-slide .defaultimg {
    background-color: #10212b;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.page-home .banner > ul > #brands-slide::after { background: linear-gradient(90deg, rgba(10,28,36,.28), transparent 48%); }
.page-home .banner #brands-slide .brands-caption { width: 440px; max-width: 43%; box-sizing: border-box; white-space: normal; }
.page-home .banner #brands-slide h2 { font-size: 48px; margin: 12px 0 18px; }
.page-home .hero-static #brands-slide .brands-caption { top: 70px !important; }
@media (min-width: 768px) and (max-width: 991px) {
    .page-home .banner #brands-slide .brands-caption { width: 320px; max-width: 43%; }
    .page-home .banner #brands-slide h2 { font-size: 32px; }
    .page-home .banner #brands-slide .brands-caption p { font-size: 15px; }
}
@media (max-width: 767px) {
    .page-home .hero-static > ul > #brands-slide {
        background-image: url('../images/content/slider-marcas-corporativo.webp') !important;
        background-size: calc(2.3 * min(calc(100vw - 48px), 360px)) auto !important;
        background-position: right max(24px, calc((100vw - 360px) / 2)) bottom 55px !important;
    }
    .page-home .banner > ul > #brands-slide::after { background: none; }
    .page-home .hero-static #brands-slide .brands-caption { top: 20px !important; width: calc(100% - 48px) !important; max-width: calc(100% - 48px); padding: 8px 0 8px 14px; }
    .page-home .hero-static #brands-slide h2 { font-size: 25px !important; line-height: 1.2 !important; margin: 6px 0 0; }
    .page-home .hero-static #brands-slide .brands-caption p { display: none; }
}
