body {
      background: #0E0E0E;
      color: #FFFFFF;
      font-family: 'Rethink Sans', Arial, sans-serif;
      margin: 0;
      padding: 0;
    }
	.no-scroll{
		overflow: hidden;
	}
    .sidebar {
      position: fixed;
      top: 0;
      left: 0;
      width: 200px;
      height: 100vh;
      background: #1A1A1A;
      backdrop-filter: blur(10px);
      padding: 2rem 1rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .sidebar ul {
      list-style: none;
      padding: 0;
    }
    .sidebar ul li {
      margin: 1rem 0;
    }
    .sidebar ul li a, .sidebar ul li button {
      color: #FFFFFF;
      text-decoration: none;
      font-size: 1rem;
      background: none;
      border: none;
      cursor: pointer;
    }
    .mobile-nav {
	  
      background: #1A1A1A;
      backdrop-filter: blur(10px);
      padding: 1rem;
      display: none;
    }
    .mobile-nav h1 {
      margin: 0 0 1rem;
      font-size: 1.5rem;
      text-align: center;
    }
    .mobile-nav ul {
      list-style: none;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      justify-content: center;
    }
    .mobile-nav ul li a, .mobile-nav ul li button {
      color: #FFFFFF;
      text-decoration: none;
      font-size: 0.875rem;
      background: none;
      border: none;
      cursor: pointer;
    }
    .content {
      margin-left: 220px;
      padding: 2rem;
    }
    .hero-text {
      /* background: url("images/portada-laburando.png") no-repeat center center;
      background-size: cover; */
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
      text-align: center;
      padding: 4rem 2rem;
      margin-bottom: 2rem;
      min-height: 400px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .hero-text h2 {
      font-size: 3rem;
      margin-bottom: 1rem;
      text-align: center;
    }
    .hero-text p {
      font-size: 1.5rem;
      text-align: center;
    }
	.portada{
		background-image: url('images/portada-laburando.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
    #sobre-mi {
      display: flex;
      flex-wrap: wrap;
      gap: 2rem;
      align-items: center;
      margin-bottom: 2rem;
	  border-bottom:10px #E61E4D;
    }
    #sobre-mi .about-image {
      max-width: 300px;
      flex: 1;
    }
    #sobre-mi .about-image img {
      max-width: 100%;
      height: auto;
    }
    #sobre-mi .about-text {
      flex: 2;
    }
    #sobre-mi h2 {
      text-align: center;
      width: 100%;
    }
    .gallery {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 1.5rem;
      padding: 1rem 0;
      margin-bottom: 2rem;
    }
    .gallery-item {
      text-align: center;
	  margin:auto;
	  align-items: center;
      /* padding: 1rem; */
      cursor: pointer;
    }
    .gallery-item img {
      max-width: 100%;
      height: auto;
      transition: transform 0.3s ease, opacity 0.3s ease;
    }
    .gallery-item:hover img {
      transform: scale(1.05);
      opacity: 0.9;
    }
    .gallery-item p {
		display: none;
      margin: 0.5rem 0;
      font-size: 1rem;
    }
    .gallery h2 {
      text-align: center;
      width: 100%;
    }
    .timeline-container {
      display: flex;
      align-items: center;
      background: #1A1A1A;
      padding: 1rem 0;
      margin-bottom: 1rem;
    }
    .timeline {
      display: flex;
      overflow: hidden;
      flex-grow: 1;
      justify-content: center;
      position: relative;
    }
    .timeline button {
      background: #FF2D55;
      color: #FFFFFF;
      border: none;
      padding: 0.5rem 1rem;
      margin: 0 0.5rem;
      cursor: pointer;
      font-size: 1rem;
      border-radius: 5px;
      transition: background 0.3s ease;
      flex: 0 0 auto;
    }
    .timeline button:hover, .timeline button.active {
      background: #E61E4D;
    }
    .timeline-nav {
      background: #FF2D55;
      color: #FFFFFF;
      border: none;
      padding: 0.5rem;
      cursor: pointer;
      font-size: 1.2rem;
      border-radius: 5px;
      margin: 0 0.5rem;
    }
    .timeline-nav:hover {
      background: #E61E4D;
    }
    .timeline-nav:disabled {
      background: #555;
      cursor: not-allowed;
    }
    .btn-neon {
      background: #FF2D55;
      transition: background 0.3s ease;
      color: #FFFFFF;
      border: none;
      padding: 10px 20px;
      cursor: pointer;
      font-size: 1rem;
      border-radius: 5px;
      display: block;
      margin: 1rem auto;
    }
    .btn-neon:hover {
      background: #E61E4D;
    }
    .btn-neon:disabled {
      cursor: not-allowed;
      opacity: 0.8;
    }
    .btn-neon:disabled:hover {
      background: #666;
    }
    .curriculum-section {
      font-size: 1.2rem;
      margin-bottom: 2rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .cv-toggle-btn {
      background: transparent;
      color: #FFFFFF;
      border: none;
      padding: 5px 12px;
      cursor: pointer;
      font-size: 1rem;
      border-radius: 5px;
      transition: color 0.3s ease;
      margin-left: 10px;
    }
    .cv-toggle-btn:hover {
      color: #FF2D55;
    }
    .cv-section-content {
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.3s ease-out;
      color: #F5F5DC;
    }
    .curriculum-year {
      font-style: italic;
      margin-bottom: 0.5rem;
    }
    .curriculum-bold {
      color: #FFFFFF;
      font-weight: bold;
      margin-bottom: 0.5rem;
    }
    .cv-content {
      display: none;
      padding: 0.5rem;
      margin-top: 1rem;
    }
    @media (min-width: 768px) {
      .cv-content {
        padding: 1.5rem;
        padding-left: 4rem;
        padding-right: 4rem;
      }
    }
    .cv-with-line {
      border-bottom: 1px solid #d8d8d8;
      margin: 1rem 0;
    }
    section {
      margin-bottom: 3rem;
    }
    section h2 {
      font-size: 2rem;
      text-align: center;
      margin-bottom: 1rem;
    }
    form {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      max-width: 500px;
      margin: 0 auto;
    }
    form input, form textarea {
      background: #1A1A1A;
      color: #FFFFFF;
      border: 1px solid #d8d8d8;
      padding: 0.5rem;
      border-radius: 5px;
    }
    form textarea {
      min-height: 100px;
    }
    #contacto h2 {
      text-align: center;
    }
    footer {
      text-align: center;
      padding: 1rem;
    }
    .modal {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.8);
      z-index: 1000;
      align-items: center;
      justify-content: center;
	  overflow: auto;
    }
    .modal-content {
      max-width: 90%;
      max-height: 90vh;
      background: #1A1A1A;
      padding: 2rem;
      border-radius: 10px;
      position: relative;
      text-align: center;
    }
    .modal-content img {
      max-width: 100%;
      max-height: 60vh;
      border-radius: 5px;
    }
    .modal-content p {
      margin: 1rem 0;
      font-size: 1.2rem;
    }
    .modal-close, .modal-prev, .modal-next {
      position: absolute;
      background: #FF2D55;
      color: #FFFFFF;
      border: none;
      padding: 10px;
      cursor: pointer;
      font-size: 1.5rem;
      border-radius: 5px;
    }
    .modal-close:hover, .modal-prev:hover, .modal-next:hover {
      background: #E61E4D;
    }
    .modal-close {
      top: 10px;
      right: 10px;
    }
    .modal-prev {
      left: 10px;
      top: 50%;
      transform: translateY(-50%);
    }
    .modal-next {
      right: 10px;
      top: 50%;
      transform: translateY(-50%);
    }
    @media (max-width: 767px) {
      .sidebar {
        display: none;
      }
      .content {
        margin-left: 0;
      }
      .mobile-nav {
        display: flex;
        flex-direction: column;
      }
      .hero-text {
        min-height: 300px;
        padding: 2rem 1rem;
      }
      .hero-text h2 {
        font-size: 3rem;
      }
      .hero-text p {
        font-size: 2rem;
      }
      #sobre-mi {
        flex-direction: column;
      }
      #sobre-mi .about-image {
        max-width: 330px;
      }
      section h2 {
        font-size: 1.5rem;
      }
      .gallery {
        grid-template-columns: 1fr;
      }
      .gallery-item img {
        max-height: 50vh;
      }
      .modal-content {
        padding: 1rem;
      }
      .modal-content img {
        max-height: 50vh;
      }
      .modal-prev, .modal-next {
        font-size: 1.2rem;
        padding: 8px;
      }
      .timeline-container {
        justify-content: flex-start;
      }
      .timeline {
        overflow-x: auto;
      }
      .timeline button {
        padding: 0.5rem;
        font-size: 0.9rem;
      }
      .timeline-nav {
        font-size: 1rem;
        padding: 0.4rem;
      }
    }
    @media (min-width: 768px) {
      .mobile-nav {
        display: none;
      }
    }