body {
      font-family: Arial, sans-serif;
      margin: 0;
      padding: 0;
      background: #f5f5f5;
      color: #333;
    }
    header {
      background: url('images/header_bg.png') center/cover no-repeat;
      padding: 30px 20px;
      text-align: center;
      color: white;
      position: relative;
    }
    nav {
      background: #333;
      padding: 10px 0;
      text-align: center;
    }
    nav a {
      color: white;
      margin: 0 15px;
      text-decoration: none;
      font-weight: bold;
    }
    .hero {
      text-align: center;
      padding: 50px 20px;
      background: white;
    }
    .hero img {
      max-width: 300px;
      border-radius: 10px;
      margin-top: 20px;
    }
    .section {
      max-width: 900px;
      margin: 40px auto;
      background: white;
      padding: 25px;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.1);
    }
    .gallery {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 5px;
    }
    .gallery img {
      width: 100%;
      border-radius: 8px;
      display: block;
    }
    .social-icons {
      display: flex;
      justify-content: center;
      gap: 30px;
      margin-top: 20px;
    }
    .social-icons img {
      width: 50px;
      height: 50px;
      transition: transform 0.2s ease, opacity 0.2s ease;
      cursor: pointer;
      border-radius: 50%;
    }

    .social-icons img:hover {
      transform: scale(1.15);
      opacity: 0.8;
    }
    
    #prototype-details {
    max-width: 900px;
    margin: 40px auto;
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    }

    .prototype-detail {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
    align-items: flex-start;
    }

    .prototype-detail img {
    width: 250px;
    border-radius: 8px;
    cursor: zoom-in;
    flex-shrink: 0;
    }

    .prototype-description {
    flex: 1;
    }

    .prototype-description h3 {
    margin-top: 0;
    }

    footer .social-icons a:hover::after {
      content: attr(aria-label);
      position: absolute;
      background: #000;
      color: #fff;
      padding: 4px 8px;
      border-radius: 6px;
      font-size: 12px;
      transform: translateY(-35px);
    }


    footer {
      text-align: center;
      padding: 20px;
      background: #1a1a1a;
      color: white;
      margin-top: 40px;
    }
      figure {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    figcaption {
      margin-top: 8px;
      text-align: justify;
      width: 100%;
      word-wrap: break-word;
    }
      header::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.45);
      backdrop-filter: blur(2px);
      z-index: 0;
    }
    header h1, header p {
      position: relative;
      z-index: 1;
    }

    