    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      background: #0f0f13;
      color: #fff;
      font-family: poppins, sans-serif;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: left;
      padding: 40px 0 0;
      overflow-x: hidden;
    }

    h1 {
      margin-bottom: 30px;
      font-weight: 600;
      font-size: 1.6rem;
      letter-spacing: 0.5px;
      opacity: 0.9;
      padding: 0 40px;
    }

    a{
        color: #ffffff;
        text-decoration: underline;
    }

    a:hover{
        text-decoration: none;
    }

    a.back-link {
        font-size: 1.2rem;
        text-decoration: none;
        color: #a5a5a5;
        margin-right: 10px;
    }

    a.back-link:active {
        color: #b80000;
    }

    .cop p{
    font-size: 0.8rem;
    padding: 30px 0 30px;
    width: stretch;
    text-align: center;
    }


    .scroll-horizontal {
      width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
      padding: 20px 20px 30px;
      display: flex;
      gap: 60px;
      scroll-behavior: smooth;
      align-items: center;
    }

    .scroll-horizontal::-webkit-scrollbar {
      height: 8px;
    }
    .scroll-horizontal::-webkit-scrollbar-track {
      background: #1a1a22;
      border-radius: 10px;
    }
    .scroll-horizontal::-webkit-scrollbar-thumb {
      background: #444;
      border-radius: 10px;
    }

    .mensaje-vacio {
        user-select: none;
        color: rgb(153, 153, 153);
        font-size: 2rem;
        text-align: center;
        overflow: visible;
        margin-top: 20px;
    }

    .clase-vacio {
        position: relative;
        display: inline-block;
        cursor: default;
        width: auto;
        height: auto;
    }

    .circulo-wrapper {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 18px;
    }

    .titulo-circulo {
      font-size: 1.1rem;
      opacity: 0.85;
      font-weight: 500;
    }

    .circulo-container {
      position: relative;
      width: 480px;
      height: 480px;
    }

    .circulo-fondo {
      position: absolute;
      inset: 0;
      border: 2px solid #b800004d;
      border-radius: 50%;
    }

    .interes{
        opacity: 0.6;
    }

    .interes img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: 0.5s ease;
    }

    .interes:hover img {
        rotate: 3deg;
    }

    .interes.sin-link:hover img {
        rotate: 0deg;
    }

    .interes.sin-link {
      cursor: default;
    }

    .interes:hover {
      transform: scale(1.1);
      opacity: 1;
    }

    .interes.sin-link:hover {
      transform: scale(1);
    }

    /* Línea vertical de separación */
    .separador {
      flex-shrink: 0;
      width: 2px;
      height: 420px;
      background: rgba(255, 255, 255, 0.2);
      border-radius: 2px;
    }


    /* Tooltip */
.interes {
  position: absolute;
  width: 74px;
  height: 74px;
  overflow: visible; /* importante para que se vea el tooltip */
  cursor: pointer;
  transition: transform 0.25s ease, border-color 0.25s ease;
  z-index: 2;
}

.tooltip {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-30px);
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  color: white;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
  z-index: 200;
}

/* Flechita del tooltip */
.tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.9) transparent transparent transparent;
}

.interes:hover .tooltip, .clase-vacio:hover .tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-14px);
}
    
    /* Sección final (ahora dentro del scroll) */
    .seccion-final {
      flex-shrink: 0;
      width: 420px;
      text-align: left;
      padding: 30px 25px;
      opacity: 0.9;
      line-height: 1.65;
      background: rgba(255, 255, 255, 0.03);
      border-radius: 18px;
      border: 1px solid rgba(255, 255, 255, 0.08);
    }

    .seccion-final.tamano-fijo{
        min-height: 600px;
    }

    .seccion-final h2 {
      font-size: 1.3rem;
      margin-bottom: 14px;
      font-weight: 600;
    }

    .seccion-final p {
      font-size: 0.95rem;
      margin-bottom: 12px;
      opacity: 0.9;
    }

    .contacto {
      margin-top: 20px;
      font-size: 0.92rem;
    }

    .seccion-final a {
      color: #7dd3fc;
      text-decoration: none;
    }

    .seccion-final a:hover {
      text-decoration: underline;
    }