.cpv-carousel-container {
    width:100vw; height:100vh;
    position:relative; overflow:hidden;
    font-family:'Montserrat', sans-serif;
  }
  .cpv-carousel { position:relative; width:100%; height:100%; }
  .cpv-slide {
    position:absolute; top:0; left:0;
    width:100%; height:100%;
    opacity:0; transition:opacity 1s ease-in-out;
    z-index:1; pointer-events:none;
  }
  .cpv-slide img { width:100%; height:100% !important; object-fit:cover; display:block; }
  .cpv-slide.active { opacity:1; z-index:2; pointer-events:auto; }

  .cpv-fixed-text {
    position:absolute; top:50%; left:80px;
    transform:translateY(-50%);
    z-index:3; color:#fff; max-width:80%;
  }
  .cpv-fixed-text h2 {
    font-family:'Montaga', serif;
    font-size:45px; line-height:1.2;
    margin-bottom:20px; font-weight:500;
  }

  /* === BOTÃO RETANGULAR COM ANIMAÇÃO DESLIZANTE === */
  .cpv-btn-see {
    position: relative;
    overflow: hidden;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    border: 0px solid rgba(255,255,255,0.5);
    padding: 12px 28px;
    background: transparent;
    transition: color 0.3s ease, border-color 0.3s ease;
    text-transform: normal;
    letter-spacing: 0.5px;
  }

  /* Pseudo-elemento que cria o slide de cor */
  .cpv-btn-see::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #96A077; /* cor da animação */
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.9s ease;
    z-index: -1;
  }

  /* Efeito ao passar o mouse */
  .cpv-btn-see:hover::before {
    transform: scaleX(1);
  }

  /* Transições suaves de cor e ícone */
  .cpv-btn-see:hover {
    color: #fff;
    border-color: #96A077;
  }

  .cpv-btn-see img.cpv-btn-icon {
    width: 25px;
    height: 25px;
    transition: transform 0.3s ease;
  }

  .cpv-btn-see:hover img.cpv-btn-icon {
    transform: translateX(6px);
  }

  .cpv-project-name {
    position:absolute; bottom:40px; left:40px; right:40px;
    z-index:3; display:flex; gap:20px; justify-content:space-between; align-items:center;
  }
  .cpv-project-name span {
    color:#fff; font-size:14px;
    display:flex; flex-direction:column; align-items:flex-start;
    flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  }

  .cpv-progress-bar { height:3px; background:rgba(255,255,255,0.12); margin-top:6px; width:100%; }
  .cpv-progress { height:100%; width:0%; background:#fff; transition:none; }

  @media (max-width:800px){
    .cpv-fixed-text{ left:20px; max-width:80%; }
    .cpv-fixed-text h2{ font-size:28px; }
    .cpv-project-name{ bottom:15%; left:16px; right:16px; gap:8px; }

    .cpv-fixed-text {
      top: 30%;
    }
    .cpv-btn-see { padding: 10px; }

  }