body {
        font-family: 'Manrope', sans-serif;
        margin: 0;
        background: #f8fafc;
        color: #222;
        overflow-x: hidden;
      }
      .logo {
        font-weight: 800;
        font-size: 1.5rem;
        color: #2563eb;
        letter-spacing: 1px;
      }
      .hero {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: linear-gradient(120deg, #e0e7ff 0%, #f8fafc 100%);
        text-align: center;
        padding: 7rem 2rem 2rem 2rem;
      }
      .hero h1 {
        font-size: 3rem;
        font-weight: 800;
        margin-bottom: 1rem;
        color: #1e293b;
      }
      .hero p {
        font-size: 1.25rem;
        color: #475569;
        margin-bottom: 2rem;
      }
      .cta-btn {
        background: #22c55e;
        color: #fff;
        padding: 1rem 2.5rem;
        border: none;
        border-radius: 999px;
        font-size: 1.1rem;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 4px 16px rgba(34,197,94,0.08);
        transition: background 0.2s, transform 0.2s;
      }
      .cta-btn:hover {
        background: #16a34a;
        transform: translateY(-2px) scale(1.03);
      }
      .features {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
        margin: 4rem 0 2rem 0;
      }
      .feature {
        background: #fff;
        border-radius: 1.5rem;
        box-shadow: 0 2px 16px rgba(0,0,0,0.06);
        padding: 2rem 1.5rem;
        max-width: 320px;
        flex: 1 1 280px;
        opacity: 0;
        transform: translateY(40px);
        transition: opacity 0.7s cubic-bezier(.4,0,.2,1), transform 0.7s cubic-bezier(.4,0,.2,1);
      }
      .feature.visible {
        opacity: 1;
        transform: translateY(0);
      }
      .feature h3 {
        color: #2563eb;
        font-size: 1.3rem;
        margin-bottom: 0.5rem;
      }
      .feature p {
        color: #475569;
        font-size: 1rem;
      }
      .product-image {
        width: 100%;
        max-width: 480px;
        margin: 2rem auto 0 auto;
        display: block;
        border-radius: 1.5rem;
        box-shadow: 0 4px 32px rgba(37,99,235,0.10);
      }
      .carousel {
        max-height: 400px;
        position: relative;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0 auto 2rem auto;
        overflow: hidden;
        border-radius: 1.5rem;
        box-shadow: 0 4px 32px rgba(37,99,235,0.10);
        background: #fff;
      }
      .carousel-track {
        display: flex;
        transition: transform 0.6s cubic-bezier(.4,0,.2,1);
      }
      .carousel-slide {
        min-width: 100%;
        box-sizing: border-box;
        /* padding: 2rem; */
        text-align: center;
      }
      .carousel-slide img {
        width: 100%;
        /* max-width: 400px; */
        height: auto;
        border-radius: 1rem;
        margin-bottom: 1rem;
      }
      .carousel-controls {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        transform: translateY(-50%);
        pointer-events: none;
      }
      .carousel-btn {
        background: rgba(34,197,94,0.8);
        border: none;
        color: #fff;
        font-size: 1rem;
        border-radius: 50%;
        width: 2.5rem;
        height: 2.5rem;
        cursor: pointer;
        pointer-events: auto;
        transition: background 0.2s;
      }
      .carousel-btn:hover {
        background: #16a34a;
      }
      .carousel-dots {
        display: flex;
        justify-content: center;
        margin-top: 1rem;
        gap: 0.5rem;
      }
      .carousel-dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #bbf7d0;
        border: none;
        cursor: pointer;
        transition: background 0.2s;
      }
      .carousel-dot.active {
        background: #22c55e;
      }
      @media (max-width: 900px) {
        .features {
          flex-direction: column;
          align-items: center;
        }
        .carousel {
          width: 100%;
          max-width: 100%;
        }
        .carousel-slide img {
          max-width: 100%;
        }
      }
      @media (max-width: 600px) {
        .carousel {
          width: 100%;
          max-width: 100%;
          border-radius: 0.5rem;
        }
        .carousel-slide {
          padding: 1rem 0.2rem;
        }
        .carousel-slide img {
          max-width: 100%;
        }
      }
      /* Card galeri */
      .gallery-cards {
          display: flex;
          gap: 2rem;
          max-width: 1200px;
          width: 100%;
          justify-content: center;
          flex-wrap: wrap;
          margin: 0 auto;
          padding: 2rem 0;
        }
        .gallery-card {
          background: #fff;
          border-radius: 10px;
          box-shadow: 0 2px 16px rgba(34,197,94,0.10);
          overflow: hidden;
          width: 260px;
          display: flex;
          flex-direction: column;
          align-items: center;
          transition: transform 0.3s cubic-bezier(.4,0,.2,1), box-shadow 0.3s cubic-bezier(.4,0,.2,1);
          cursor: pointer;
        }
        .gallery-card img {
          width: 100%;
          height: 180px;
          object-fit: cover;
          border-radius: 10px 10px 0 0;
          transition: filter 0.3s cubic-bezier(.4,0,.2,1);
        }
        .gallery-card-title {
          font-size: 1.15rem;
          font-weight: 700;
          color: #22c55e;
          padding: 1rem 0.5rem;
          text-align: center;
          background: #f6fff8;
          width: 100%;
          border-radius: 0 0 10px 10px;
        }
        .gallery-card:hover {
          transform: translateY(-12px) scale(1.04);
          box-shadow: 0 8px 32px rgba(34,197,94,0.18);
        }
        .gallery-card:hover img {
          filter: brightness(0.92) saturate(1.2);
        }
        @media (max-width: 1100px) {
          .gallery-cards {
            gap: 1rem;
          }
          .gallery-card {
            width: 220px;
          }
          .gallery-card img {
            height: 140px;
          }
        }
        @media (max-width: 700px) {
          .gallery-cards {
            flex-direction: column;
            align-items: center;
          }
          .gallery-card {
            width: 90vw;
            max-width: 320px;
          }
          .gallery-card img {
            height: 120px;
          }
        }
        .benefit-section {
          display: flex;
          gap: 3rem;
          justify-content: center;
          align-items: flex-start;
          padding: 4rem 2rem;
          background: #fff;
          flex-wrap: wrap;
        }
        .benefit-left {
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 2rem;
          min-width: 320px;
          max-width: 420px;
        }
        .benefit-tablet {
          width: 100%;
          max-width: 420px;
          margin-bottom: 1.5rem;
          border-radius: 18px;
          box-shadow: 0 2px 16px rgba(34,197,94,0.10);
        }
        .benefit-demo-card {
          background: #f8fafc;
          border-radius: 18px;
          box-shadow: 0 2px 16px rgba(34,197,94,0.10);
          padding: 2rem 1.5rem 1.5rem 1.5rem;
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 1rem;
          width: 100%;
          max-width: 340px;
        }
        .benefit-demo-title {
          font-size: 1.25rem;
          font-weight: 700;
          color: #1e293b;
          margin-bottom: 0.25rem;
        }
        .benefit-demo-desc {
          font-size: 1rem;
          color: #475569;
          margin-bottom: 0.5rem;
        }
        .benefit-demo-avatars {
          display: flex;
          gap: -8px;
          margin-bottom: 1rem;
        }
        .benefit-avatar {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          object-fit: cover;
          border: 2px solid #fff;
          box-shadow: 0 2px 8px rgba(0,0,0,0.06);
          margin-left: -12px;
          background: #eee;
        }
        .benefit-avatar:first-child {
          margin-left: 0;
        }
        .benefit-demo-btn {
          background: #234e3a;
          color: #fff;
          font-size: 1.1rem;
          font-weight: 700;
          border: none;
          border-radius: 999px;
          padding: 1rem 2.5rem;
          margin-top: 0.5rem;
          box-shadow: 0 4px 16px rgba(34,197,94,0.08);
          cursor: pointer;
          transition: background 0.2s;
        }
        .benefit-demo-btn:hover {
          background: #22c55e;
        }
        .benefit-right {
          flex: 1;
          min-width: 320px;
          max-width: 600px;
          display: flex;
          flex-direction: column;
          gap: 2rem;
          align-items: flex-start;
        }
        .benefit-headline {
          font-size: 2.2rem;
          font-weight: 600;
          color: #1e293b;
          margin-bottom: 1rem;
          line-height: 1.2;
        }
        .benefit-headline-bold {
          font-weight: 700;
          font-style: italic;
          color: #1e293b;
        }
        .benefit-list {
          display: flex;
          flex-direction: column;
          gap: 1.5rem;
        }
        .benefit-item {
          display: flex;
          align-items: flex-start;
          gap: 1rem;
        }
        .benefit-icon {
          font-size: 1.5rem;
          color: #22c55e;
          margin-top: 0.2rem;
        }
        .benefit-title {
          font-size: 1.15rem;
          font-weight: 700;
          color: #1e293b;
          margin-bottom: 0.2rem;
        }
        .benefit-desc {
          font-size: 1rem;
          color: #475569;
        }
        @media (max-width: 900px) {
          .benefit-section {
            flex-direction: column;
            align-items: center;
            gap: 2rem;
          }
          .benefit-left, .benefit-right {
            max-width: 100%;
            min-width: 0;
          }
        }

        .feature-grid-section {
          background: #fff;
          padding: 4rem 0 4rem 0;
          display: flex;
          flex-direction: column;
          align-items: center;
        }
        .feature-grid-head {
          text-align: center;
          margin-bottom: 2.5rem;
        }
        .feature-grid-head h2 {
          font-size: 2.2rem;
          font-weight: 700;
          margin-bottom: 0.5rem;
          color: #222;
        }
        .feature-grid-head p {
          color: #6b5e4e;
          font-size: 1.1rem;
          margin: 0 auto;
          max-width: 600px;
        }
        .feature-grid {
          display: grid;
          grid-template-columns: 1.5fr 1fr;
          grid-template-rows: 220px 220px;
          gap: 1.5rem;
          max-width: 900px;
          width: 95vw;
        }
        .feature-grid-card {
          background: #e7ffe7;
          border-radius: 24px;
          padding: 2rem 1.5rem 1.5rem 1.5rem;
          display: flex;
          flex-direction: column;
          justify-content: flex-end;
          box-shadow: 0 2px 16px rgba(34, 34, 34, 0.06);
          color: #222;
          position: relative;
          overflow: hidden;
          min-width: 0;
        }
        .feature-grid-card h3 {
          font-size: 1.25rem;
          font-weight: 700;
          margin-bottom: 0.5rem;
          color: #fff;
        }
        .feature-grid-card p {
          color: #fff;
          font-size: 1rem;
          margin: 0;
        }
        .feature-grid-card--large {
          grid-row: 1 / 2;
          grid-column: 1 / 2;
          background-size: cover;
          background-position: center;
          color: #14532d;
          display: flex;
          align-items: flex-end;
        }
        .feature-grid-card--large .feature-grid-card-content {
          background: linear-gradient(0deg, rgba(34,197,94,0.15) 70%, rgba(34,197,94,0.01) 100%);
          border-radius: 0 0 24px 24px;
          padding: 1.5rem;
          width: 100%;
        }
        .feature-grid-card--img {
          grid-row: 2 / 3;
          grid-column: 2 / 3;
          background-size: cover;
          background-position: center;
          color: #14532d;
          display: flex;
          align-items: flex-end;
        }
        .feature-grid-card--img .feature-grid-card-content {
          background: linear-gradient(0deg, rgba(34,197,94,0.15) 70%, rgba(34,197,94,0.01) 100%);
          border-radius: 0 0 24px 24px;
          padding: 1.5rem;
          width: 100%;
        }
        .feature-grid-card--tall {
          grid-row: 1 / 2;
          grid-column: 2 / 3;
          background: #4caf50;
          color: #ffff;
          display: flex;
          align-items: flex-end;
        }
        .feature-grid-card:nth-child(3) {
          grid-row: 2 / 3;
          grid-column: 1 / 2;
          background: #4caf50;
          color: #fff;
          display: flex;
          align-items: flex-end;
        }
        @media (max-width: 900px) {
          .feature-grid {
            grid-template-columns: 1fr;
            grid-template-rows: repeat(4, 220px);
          }
          .feature-grid-card--large,
          .feature-grid-card--tall,
          .feature-grid-card:nth-child(3),
          .feature-grid-card--img {
            grid-column: 1 / 2 !important;
            grid-row: auto !important;
          }
        }

         .app-carousel-section {
              width: 100%;
              background: #f6f2ea;
              border-radius: 18px;
              margin-top: 3rem;
              padding: 2.5rem 1rem 2rem 1rem;
              display: flex;
              flex-direction: column;
              align-items: center;
              box-shadow: 0 2px 16px rgba(34,197,94,0.06);
            }
            .app-carousel-title {
              font-size: 2rem;
              font-weight: 800;
              color: #1e293b;
              text-align: center;
              margin-bottom: 0.5rem;
            }
            .app-carousel-subtitle {
              color: #6b5e4e;
              font-size: 1.1rem;
              text-align: center;
              margin-bottom: 2.5rem;
            }
            .app-carousel {
              width: 100%;
              max-width: 1100px;
              display: flex;
              flex-direction: column;
              align-items: center;
            }
            .app-carousel-track {
              display: flex;
              justify-content: center;
              align-items: flex-end;
              gap: 2rem;
              width: 100%;
            }
            .app-carousel-slide {
              display: none;
              flex-direction: column;
              align-items: center;
              width: 600px;
              max-width: 90vw;
              background: none;
              border-radius: 0;
              box-shadow: none;
              padding: 0;
              position: relative;
            }
            .app-carousel-slide--active {
              display: flex;
            }
            .app-carousel-slide img {
              width: 100%;
              height: 100%;
              object-fit: cover;
              border-radius: 0;
              margin-bottom: 0;
              background: none;
            }
            .app-carousel-caption {
              font-size: 1.1rem;
              font-weight: 700;
              color: #1e293b;
              text-align: left;
              margin-top: 0.5rem;
            }
            .app-carousel-dots {
              display: flex;
              gap: 0.5rem;
              justify-content: center;
              margin-top: 1.5rem;
            }
            .app-carousel-dot {
              width: 12px;
              height: 12px;
              border-radius: 50%;
              background: #d1d5db;
              display: inline-block;
              transition: background 0.2s;
            }
            .app-carousel-dot--active {
              background: #14532d;
            }
            @media (max-width: 700px) {
              .app-carousel-slide {
                width: 98vw;
                max-width: 98vw;
                padding: 0.5rem 0.2rem 0.5rem 0.2rem;
              }
              .app-carousel-section {
                padding: 1.2rem 0.2rem 1.2rem 0.2rem;
              }
            }