body, html {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100%;
      font-family: 'Quicksand', 'Trebuchet MS', sans-serif;
      background-color: #0d1b2a; /* Navy blue background */
      color: #e8e8e8; /* Subtle lilac text */
    }
    .header {
      background-image: url('/untitled.png');
      background-size: cover;
      background-position: center;
      width: 100%;
      box-sizing: border-box;
      padding: 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 100px;
      border-top: 15px solid #0d1b2a;
      border-bottom: 3px solid #a02b93; /* Navy blue border */
      position: relative; /* Add position relative to properly position the logo */
    }
    .logo {
      margin-right: 12px;
      height: 130px; /* Reduced from 170px */
      width: auto; /* Maintain aspect ratio */
      position: relative;
      top: 8px; /* Adjusted from 14px to account for smaller size */
    }
    .nav-links {
      display: flex;
      gap: 40px;
    }
    .nav-links a {
      color: #e8e8e8; /* Subtle lilac tint */
      text-decoration: none;
      font-size: 28px;
      font-weight: bold;
      position: relative;
    }
    .nav-links a:after {
      content: '';
      position: absolute;
      width: 0;
      height: 2px;
      bottom: -5px;
      left: 0;
      background-color: #e8e8e8;
      transition: width 0.3s ease;
    }
    .nav-links a:hover:after {
      width: 100%;
    }
    .nav-links a:hover {
      text-decoration: none;
    }
    .content {
      width: 100%; /* Occupy full width of the screen */
      margin: 0;
      padding: 60px 40px; /* Increased top/bottom padding */
      background-color: #0e2841; /* Slightly darker blue */
      box-sizing: border-box;
      position: relative;
      overflow: hidden;
    }
    .intro-section {
      max-width: 1600px; /* Increased from 1400px to make it even wider */
      width: 98%; /* Set to 98% of the container width (up from 95%) */
      margin: 0 auto 60px;
      text-align: center;
      animation: fadeIn 1.2s ease-out;
      position: relative; /* For proper positioning of the side image */
      padding: 40px;
      border-radius: 15px;
      background-color: rgba(18, 48, 73, 0.08);
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    }
    .intro-section p {
      font-size: 24px; /* Increased from 22px */
      line-height: 1.8;
      margin-bottom: 25px;
      text-align: left;
    }
    .intro-section p:last-child {
      margin-bottom: 0;
    }
    .intro-section-with-image {
      display: flex;
      align-items: center;
      gap: 40px; /* Increased gap for better spacing */
      margin-top: 50px; /* Add some space above this section */
      background-color: rgba(18, 48, 73, 0.2); /* Light background to make section stand out */
      padding: 30px;
      border-radius: 15px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
      position: relative;
      overflow: hidden;
    }
    .intro-section-with-image::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at 30% 40%, rgba(160, 43, 147, 0.08) 0%, transparent 70%);
      z-index: 0;
    }
    .intro-section-with-image .side-image {
      flex: 0 0 60%; /* Increased from 45% to 60% to make image larger */
      border-radius: 15px; /* Increased border radius for smoother corners */
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5); /* Stronger shadow for depth */
      max-height: 600px; /* Increased from 400px to 600px for larger image */
      object-fit: cover;
      transition: transform 0.3s ease;
    }
    .intro-section-with-image .side-image:hover {
      transform: scale(1.02); /* Subtle zoom on hover */
    }
    .intro-section-with-image div {
      flex: 1;
      position: relative;
      z-index: 1;
    }
    .intro-section-with-image p {
      font-size: 22px; /* Slightly smaller text to balance with larger image */
      line-height: 1.8;
      text-align: left;
      margin-bottom: 20px;
      color: #ffffff; /* Brighter text for better contrast */
    }
    .intro-section-with-image p:last-child {
      margin-bottom: 0;
    }
    .content h1, .content h2 {
      text-align: center;
      font-size: 48px; /* Larger title size */
      color: #e8e8e8; /* Subtle lilac */
      margin-bottom: 40px;
      animation: fadeIn 1s ease-out;
    }
    .product-section {
      display: flex;
      flex-wrap: wrap;
      gap: 40px;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 70px; /* More space between sections */
    }
    .section-title {
      width: 100%;
      font-size: 38px;
      color: #ffffff;
      margin-bottom: 30px;
      padding-bottom: 10px;
      border-bottom: 2px solid #e97132;
      text-align: left;
      animation: slideInFromLeft 1s ease-out;
      position: relative;
    }
    .section-title::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 60px;
      height: 4px;
      background: #a02b93;
      border-radius: 2px;
    }
    .product-card {
      flex: 1 1 calc(50% - 20px); /* Two cards per row */
      background-color: #123049; /* Dark blue-violet */
      border: 1px solid rgba(160, 43, 147, 0.3);
      border-radius: 10px;
      padding: 30px; /* Consistent padding for all cards */
      margin-bottom: 20px; /* Add space between cards */
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
      display: flex;
      gap: 20px;
      align-items: center;
      position: relative; /* Add this to position the icon correctly */
      transition: transform 0.3s ease, box-shadow 0.3s ease; /* Faster transition */
      opacity: 0;
      transform: translateY(10px); /* Reduced Y offset for faster appearance */
    }
    .product-card.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .product-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
    }
    .product-card img {
      display: none; /* Hide the image element completely */
    }
    .product-card div {
      flex: 1;
      text-align: center;
      width: 100%;
    }
    .product-card h3 {
      font-size: 28px; /* Larger heading size */
      color: #ffffff; /* Very light lilac */
      margin-bottom: 10px;
    }
    .product-card p {
      font-size: 20px; /* Larger text size */
      color: #e8e8e8; /* Subtle lilac */
      line-height: 1.8;
    }
    .icon-container {
      position: absolute;
      top: -15px;
      left: -15px;
      background-color: #0d263c;
      border-radius: 50%;
      width: 50px;
      height: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
      border: 2px solid #ffffff;
      /* Ensure icon is perfectly circular */
      min-width: 50px; /* Add fixed width */
      min-height: 50px; /* Add fixed height */
      max-width: 50px; /* Limit maximum width */
      max-height: 50px; /* Limit maximum height */
      animation: pulse 3s infinite ease-in-out;
    }
    .icon-container i {
      font-size: 24px;
      color: #ffffff;
    }
    .product-card.with-icon {
      display: flex;
      padding: 30px 25px;
    }
    .product-card.with-icon::before {
      display: none; /* Remove the pseudo-element */
    }
    .product-card.with-icon div {
      flex: 1;
      margin-left: 0; /* Remove the left margin to eliminate empty space */
    }
    .footer {
      border-top: 3px solid #a02b93;
      text-align: center;
      padding: 20px;
      background-color: #0d1b2a;
      color: #e8e8e8;
      width: 100%;
      box-sizing: border-box;
      font-size: 16px; /* Standardized font size */
    }
    .footer a {
      color: #ffffff;
      text-decoration: none;
      margin: 0 10px;
      font-size: 16px; /* Standardized font size */
    }
    .footer a:hover {
      text-decoration: underline;
    }
    .contact-email {
      margin-top: 10px;
      font-size: 16px; /* Standardized font size */
    }
    .footer .contact-email a {
      font-size: 16px; /* Standardized font size */
      color: #ffffff;
    }
    
    /* Background elements */
    .bg-element {
      position: absolute;
      opacity: 0.03;
      pointer-events: none;
      z-index: 0;
      color: #a02b93;
    }
    
    .bg-element.server {
      top: 10%;
      right: 4%;
      font-size: 230px;
      transform: rotate(15deg);
    }
    
    .bg-element.code {
      bottom: 15%;
      left: 3%;
      font-size: 210px;
      transform: rotate(-10deg);
    }
    
    /* Standardize scrollbar styling across the site */
    ::-webkit-scrollbar {
      width: 10px;
    }
    
    ::-webkit-scrollbar-thumb {
      background-color: #e97132; /* Violet color for consistency */
      border-radius: 5px;
    }
    
    ::-webkit-scrollbar-track {
      background-color: rgba(13, 27, 42, 0.2); /* Lighter track for better contrast */
    }
    
    /* Animations */
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    
    @keyframes slideInFromLeft {
      from { opacity: 0; transform: translateX(-50px); }
      to { opacity: 1; transform: translateX(0); }
    }
    
    @keyframes pulse {
      0% { transform: scale(1); }
      50% { transform: scale(1.05); }
      100% { transform: scale(1); }
    }


/* --- Selector de idioma (agregado con la version bilingue) --- */
.nav-links .lang-switch {
  border: 1px solid rgba(232, 232, 232, 0.45);
  border-radius: 5px;
  padding: 2px 11px;
  font-size: 20px;
  letter-spacing: 1px;
  align-self: center;
}
.nav-links .lang-switch:after { display: none; }
.nav-links .lang-switch:hover {
  background-color: rgba(232, 232, 232, 0.15);
}
