      /* ===== PORTFOLIO HERO BANNER ===== */
      .portfolio-banner {
        position: relative;
        height: 380px;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        margin-top: 78px;
      }
      .portfolio-banner-bg {
        position: absolute;
        inset: 0;
        background: url(../../image/capa.jpg) center/cover no-repeat;
        filter: brightness(.35);
      }
      .portfolio-banner-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(64,60,1,.55) 0%, rgba(13,13,13,.7) 100%);
      }
      .portfolio-banner-content {
        position: relative;
        z-index: 2;
        text-align: center;
        padding: 0 40px;
      }
      .portfolio-banner-content h1 {
        font-family: 'Montserrat', sans-serif;
        font-size: 52px;
        font-weight: 900;
        color: var(--white);
        line-height: 1.15;
        text-transform: uppercase;
        letter-spacing: 1px;
      }
      .portfolio-banner-content h1 span { color: var(--gold-light); }
      .portfolio-banner-content p {
        margin-top: 16px;
        color: rgba(242,212,121,.8);
        font-size: 15px;
      }

      /* ===== BREADCRUMB ===== */
      .breadcrumb {
        background: var(--light-bg);
        padding: 14px 60px;
        border-bottom: 1px solid var(--gray);
      }
      .breadcrumb a,
      .breadcrumb span {
        font-family: 'Montserrat', sans-serif;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .5px;
        color: var(--brown);
        text-decoration: none;
      }
      .breadcrumb a:hover { color: var(--gold); }
      .breadcrumb .sep { margin: 0 8px; color: var(--gold); }
      .breadcrumb span { color: var(--dark-olive); }

      /* ===== PORTFOLIO SECTION ===== */
      .portfolio-section {
        background: var(--light-bg);
        padding: 70px 60px 90px;
      }
      .portfolio-filter {
        display: flex;
        gap: 12px;
        justify-content: center;
        margin-bottom: 52px;
        flex-wrap: wrap;
      }
      .filter-btn {
        font-family: 'Montserrat', sans-serif;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .8px;
        padding: 8px 20px;
        border: 2px solid var(--gray);
        background: transparent;
        color: var(--brown);
        cursor: pointer;
        transition: all .25s;
      }
      .filter-btn:hover,
      .filter-btn.active {
        background: var(--dark-olive);
        border-color: var(--dark-olive);
        color: var(--gold);
      }

      /* ===== PORTFOLIO GRID ===== */
      .portfolio-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        max-width: 1100px;
        margin: 0 auto;
      }
      .portfolio-card {
        position: relative;
        overflow: hidden;
        cursor: pointer;
        border-radius: 2px;
      }
      .portfolio-card img {
        width: 100%;
        height: 260px;
        object-fit: cover;
        display: block;
        transition: transform .5s ease;
      }
      .portfolio-card:hover img { transform: scale(1.08); }
      .portfolio-card .project-label {
        position: absolute;
        bottom: 0; left: 0; right: 0;
        padding: 14px 18px;
        display: flex;
        align-items: center;
        gap: 10px;
        background: rgba(64,60,1,.88);
        transition: background .3s;
      }
      .portfolio-card:hover .project-label { background: var(--gold); }
      .portfolio-card:hover .project-label span { color: var(--black); }
      .portfolio-card:hover .project-label .dot { background: var(--dark-olive); }
      .portfolio-card .project-label .dot {
        width: 8px; height: 8px;
        background: var(--gold);
        border-radius: 50%;
        flex-shrink: 0;
        transition: background .3s;
      }
      .portfolio-card .project-label span {
        font-family: 'Montserrat', sans-serif;
        font-size: 11px;
        font-weight: 700;
        color: var(--white);
        text-transform: uppercase;
        letter-spacing: .5px;
        transition: color .3s;
      }
      .portfolio-card .card-zoom {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        transition: opacity .35s;
        pointer-events: none;
      }
      .portfolio-card:hover .card-zoom { opacity: 1; }
      .card-zoom-icon {
        width: 52px; height: 52px;
        background: var(--gold);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        font-weight: 900;
        color: var(--black);
        transform: scale(0.6);
        transition: transform .35s;
      }
      .portfolio-card:hover .card-zoom-icon { transform: scale(1); }
      .portfolio-card.featured { grid-column: span 2; }
      .portfolio-card.featured img { height: 320px; }

      /* CTA */
      .portfolio-cta { text-align: center; margin-top: 56px; }
      .portfolio-cta p { font-size: 14px; color: var(--brown); margin-bottom: 20px; }

      /* =============================================
         LIGHTBOX
      ============================================= */
      .lightbox {
        position: fixed;
        inset: 0;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s ease;
      }
      .lightbox.open {
        opacity: 1;
        pointer-events: all;
      }

      .lightbox-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(13,13,13,.92);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
      }

      .lightbox-inner {
        position: relative;
        z-index: 2;
        width: 90vw;
        max-width: 960px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        transform: scale(0.92);
        transition: transform .35s ease;
      }
      .lightbox.open .lightbox-inner { transform: scale(1); }

      /* Botão fechar */
      .lightbox-close {
        position: fixed;
        top: 22px;
        right: 26px;
        z-index: 10000;
        width: 44px;
        height: 44px;
        background: var(--gold);
        border: none;
        color: var(--black);
        font-size: 18px;
        font-weight: 900;
        font-family: 'Montserrat', sans-serif;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .2s, transform .2s;
      }
      .lightbox-close:hover {
        background: var(--gold-light);
        transform: scale(1.1) rotate(90deg);
      }

      .lightbox-caption {
        font-family: 'Montserrat', sans-serif;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: var(--gold-light);
        text-align: center;
      }
      .lightbox-counter {
        font-family: 'Montserrat', sans-serif;
        font-size: 11px;
        color: rgba(255,255,255,.4);
      }

      /* Splide — slider principal */
      #lb-main { width: 100%; }
      #lb-main .splide__slide img {
        width: 100%;
        height: 58vh;
        object-fit: cover;
        display: block;
        border: 2px solid rgba(242,185,12,.15);
      }
      #lb-main .splide__arrow {
        background: var(--gold);
        border-radius: 0;
        width: 42px;
        height: 42px;
        opacity: 1;
      }
      #lb-main .splide__arrow:hover { background: var(--gold-light); }
      #lb-main .splide__arrow svg { fill: var(--black); }
      #lb-main .splide__arrow--prev { left: -6px; }
      #lb-main .splide__arrow--next { right: -6px; }
      #lb-main .splide__pagination__page {
        background: rgba(255,255,255,.25);
        border-radius: 0;
        width: 22px;
        height: 3px;
        margin: 0 3px;
        transition: background .2s, transform .2s;
      }
      #lb-main .splide__pagination__page.is-active {
        background: var(--gold);
        transform: scaleX(1.5);
      }

      /* Splide — thumbnails */
      #lb-thumbs { width: 100%; }
      #lb-thumbs .splide__slide {
        opacity: 0.45;
        transition: opacity .2s;
        cursor: pointer;
        border: 2px solid transparent;
      }
      #lb-thumbs .splide__slide.is-active {
        opacity: 1;
        border-color: var(--gold);
      }
      #lb-thumbs .splide__slide img {
        width: 100%;
        height: 64px;
        object-fit: cover;
        display: block;
      }

      /* ===== RESPONSIVE ===== */
      @media (max-width: 960px) {
        .portfolio-banner { height: 260px; }
        .portfolio-banner-content h1 { font-size: 30px; }
        .portfolio-section { padding: 50px 24px 70px; }
        .portfolio-grid { grid-template-columns: 1fr 1fr; }
        .portfolio-card.featured { grid-column: span 2; }
        .breadcrumb { padding: 14px 24px; }
        #lb-main .splide__slide img { height: 45vh; }
      }
      @media (max-width: 600px) {
        .portfolio-banner-content h1 { font-size: 24px; }
        .portfolio-grid { grid-template-columns: 1fr; }
        .portfolio-card.featured { grid-column: span 1; }
        .portfolio-card.featured img { height: 240px; }
        .lightbox-inner { width: 96vw; }
        #lb-main .splide__slide img { height: 38vh; }
        #lb-thumbs .splide__slide img { height: 48px; }
      }