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

    body {
      font-family: Georgia, serif;
      background: #f8f6f2;
      color: #333;
      line-height: 1.6;
    }

    img {
      max-width: 100%;
      display: block;
    }

    .container {
      width: 90%;
      max-width: 1200px;
      margin: auto;
    }

    /* HERO */

    .hero {
      height: 50vh;
      background-image:
        linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),
        url('image/fie0.jpg');
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: white;
      padding: 20px;
    }

    .hero-content {
      max-width: 800px;
    }

    .hero h1 {
      font-size: 65px;
      margin-bottom: 25px;
      letter-spacing: 2px;
    }

    .hero p {
      font-size: 22px;
      margin-bottom: 35px;
    }

    .btn {
      display: inline-block;
      padding: 16px 34px;
      background: white;
      color: black;
      text-decoration: none;
      border-radius: 18px;
      font-size: 18px;
      transition: 0.3s;
      box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    }

    .btn:hover {
      transform: translateY(-3px);
    }

    /* SECTIONS */

    section {
      padding: 90px 0;
    }

    h2 {
      font-size: 36px;
      margin-bottom: 25px;
    }

    p {
      margin-bottom: 20px;
      font-size: 18px;
    }

    /* ABOUT */

    .about {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }

    .about img {
      border-radius: 30px;
      height: 500px;
      object-fit: cover;
      box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    }

    /* CATS */

    .section-title {
      text-align: center;
      margin-bottom: 60px;
    }

    .cats-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
    }

    .cat-card {
      background: #f4f1ec;
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0 10px 25px rgba(0,0,0,0.08);
      transition: 0.3s;
    }

    .cat-card:hover {
      transform: translateY(-8px);
    }

    .cat-card img {
      height: 320px;
      width: 100%;
      object-fit: cover;
    }

    .cat-content {
      padding: 25px;
    }

    .cat-content h3 {
      font-size: 30px;
      margin-bottom: 12px;
    }

    /* KILLINGER */

    .kittens {
      background: #ece7df;
      text-align: center;
    }

    .dark-btn {
      background: black;
      color: white;
    }

    /* GALLERY */

	.gallery-grid {
	  display: grid;
	  grid-template-columns: repeat(3, 280px);
	  justify-content: center;
	  gap: 20px;
	}

	.gallery-grid img {
	  border-radius: 20px;
	  height: 260px;
	  width: 280px;
	  object-fit: cover;
	  transition: 0.3s;
	}

	.gallery-grid img:hover {
	  transform: scale(1.03);
	}
    /* CONTACT */

    .contact {
      background: black;
      color: white;
      text-align: center;
    }

    .contact p {
      margin-bottom: 10px;
    }

    /* RESPONSIVE */

    @media (max-width: 900px) {

      .hero h1 {
        font-size: 48px;
      }

      .hero p {
        font-size: 20px;
      }

      .about {
        grid-template-columns: 1fr;
      }

      .cats-grid {
        grid-template-columns: 1fr;
      }

      .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 600px) {

      .hero h1 {
        font-size: 38px;
      }

      h2 {
        font-size: 32px;
      }

      .gallery-grid {
        grid-template-columns: 1fr;
      }

      .btn {
        width: 100%;
      }
    }
  /* Row of images */
  .gallery {
    display: flex;
    gap: 20px;
  }

  /* Thumbnail images */
  .gallery img {
    width: 287px;
    height: auto;
    cursor: pointer;
    border-radius: 8px;
    transition: transform 0.2s;
  }

  .gallery img:hover {
    transform: scale(1.03);
  }

  /* Overlay background */
  .overlay {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0,0,0,0.9);
    justify-content: center;
    align-items: center;
  }

  /* Full-size image */
  .overlay img {
    max-width: 800px;
    width: 90%;
    height: auto;
    border-radius: 10px;
  }

  /* Close button */
  .close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 42px;
    cursor: pointer;
    user-select: none;
  }
  
  .hero-video {
    display: flex;
    justify-content: center;
    padding: 40px 20px;
  }

  .video-container {
    width: 100%;
    max-width: 800px;
    aspect-ratio: 16 / 9;
  }

  .video-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }