.elementor-500 .elementor-element.elementor-element-a7eadaa > .elementor-container{max-width:1335px;min-height:0px;}.elementor-500 .elementor-element.elementor-element-a7eadaa > .elementor-container:after{content:"";min-height:inherit;}.elementor-500 .elementor-element.elementor-element-a7eadaa{margin-top:-60px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-500 .elementor-element.elementor-element-62ede54 > .elementor-element-populated{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-500 .elementor-element.elementor-element-61da626{padding:0px 0px 0px 0px;}.elementor-500 .elementor-element.elementor-element-40b45f7 .elementor-spacer-inner{height:50px;}.elementor-500 .elementor-element.elementor-element-ac18fb8 > .elementor-container{max-width:921px;}.elementor-500 .elementor-element.elementor-element-ac18fb8{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-500 .elementor-element.elementor-element-7315390 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-500 .elementor-element.elementor-element-bc73aee:not(.elementor-motion-effects-element-type-background), .elementor-500 .elementor-element.elementor-element-bc73aee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6EEE7;}.elementor-500 .elementor-element.elementor-element-bc73aee, .elementor-500 .elementor-element.elementor-element-bc73aee > .elementor-background-overlay{border-radius:20px 20px 20px 20px;}.elementor-500 .elementor-element.elementor-element-bc73aee{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:5px;margin-bottom:0px;}.elementor-500 .elementor-element.elementor-element-bc73aee > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-500 .elementor-element.elementor-element-6aacbec:after{content:"0.66";}.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-post__meta-data span + span:before{content:"•";}.elementor-500 .elementor-element.elementor-element-6aacbec{--grid-column-gap:30px;--grid-row-gap:35px;}.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-post__text{margin-top:20px;}.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-post__badge{right:0;}.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-post__meta-data{font-family:"Roboto Mono", Sans-serif;font-size:12px;font-weight:400;}.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-post__read-more{color:#F4470B;}.elementor-500 .elementor-element.elementor-element-bf8590a:not(.elementor-motion-effects-element-type-background), .elementor-500 .elementor-element.elementor-element-bf8590a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F2F2;}.elementor-500 .elementor-element.elementor-element-bf8590a, .elementor-500 .elementor-element.elementor-element-bf8590a > .elementor-background-overlay{border-radius:20px 20px 20px 20px;}.elementor-500 .elementor-element.elementor-element-bf8590a{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-7px;margin-bottom:0px;}.elementor-500 .elementor-element.elementor-element-bf8590a > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}body.elementor-page-500{padding:0px 0px 0px 0px;}@media(max-width:767px){.elementor-500 .elementor-element.elementor-element-6aacbec .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-500 .elementor-element.elementor-element-6aacbec:after{content:"0.5";}}@media(min-width:768px){.elementor-500 .elementor-element.elementor-element-62ede54{width:100%;}}/* Start custom CSS for html, class: .elementor-element-7315390 *//* ===== WHY KEDUNG DIGITAL ===== */
.why-kedung {
  padding: 0px 0px;
  background: linear-gradient(180deg);
}

.why-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

.why-title {
  font-size: 38px;
  text-align: center;
  margin-bottom: 50px;
  font-weight: 600;
}

.why-title span {
  background: linear-gradient(90deg, #f59e0b, #f97316);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

/* Glass Card */
.why-card {
  position: relative;
  padding: 28px 30px 30px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.why-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.09);
}

.why-number {
  font-size: 14px;
  font-weight: 600;
  color: #f59e0b;
  display: block;
  margin-bottom: 10px;
}

.why-card h3 {
  font-size: 20px;
  margin-bottom: 10px;
  color: #111827;
}

.why-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #4b5563;
}

/* Mobile */
@media (max-width: 768px) {
  .why-grid {
    grid-template-columns: 1fr;
  }

  .why-title {
    font-size: 30px;
  }
}/* End custom CSS */
/* Start custom CSS for posts, class: .elementor-element-6aacbec *//* Blog cards container */
.elementor-posts-container {
  gap: 24px;
}

/* Individual post card */
.elementor-post {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.elementor-post:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}

/* Featured image */
.elementor-post__thumbnail img {
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* Post title */
.elementor-post__title a {
  font-size: 20px;
  font-weight: 700;
  color: #111;
  line-height: 1.4;
  text-decoration: none;
}

.elementor-post__title a:hover {
  color: #f97316; /* elegant orange accent */
}

/* Post meta (date, comments) */
.elementor-post__meta-data {
  font-size: 13px;
  color: #888;
  margin-bottom: 8px;
}

/* Excerpt */
.elementor-post__excerpt {
  font-size: 15px;
  color: #555;
  line-height: 1.6;
}

/* Read more button */
.elementor-post__read-more {
  margin-top: 12px;
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #f97316;
  text-decoration: none;
}

.elementor-post__read-more:hover {
  text-decoration: underline;
}/* End custom CSS */
/* Start custom CSS */{
      --white: #ffffff;
      --light-grey: #f5f6f8;
      --glass-grey: rgba(220, 220, 220, 0.45);
      --orange: #ff8a00;
      --shadow: 0 10px 25px rgba(0,0,0,0.08);
      --radius: 16px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: 'Nunito', sans-serif;
      background: var(--light-grey);
      color: #000000;
      line-height: 1.6;
    }

    /* ===== HEADER ===== */
    header {
      height: 64px;
      background: var(--white);
      padding: 1rem 1.5rem;
      box-shadow: var(--shadow);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 1200px;
      margin: auto;
    }

     .logo {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-weight: 700;
      font-size: 1.2rem;
    }

    .logo-img {
      width: 40px;
      height: 40px;
      aspect-ratio: 1 / 1;
      object-fit: contain;
      flex-shrink: 0;
    }
    
    .logo-link {
      text-decoration: none;
      color: inherit;
    }
    
    .logo-link:hover {
      opacity: 0.9; /* optional subtle hover effect */
    }
    
    .hamburger {
      font-size: 1.5rem;
      cursor: pointer;
    }


/* ===== HERO ===== */ 
    .hero { 
        display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; 
        padding: 3rem 1.5rem; 
        max-width: 1200px; 
        margin: auto; } 
    .slider { 
        background: var(--glass-grey); 
        border-radius: var(--radius); 
        height: 280px; 
        box-shadow: var(--shadow); 
        overflow: hidden; } 
    .slider-track { 
        display: flex; 
        width: 320px; 
        height: 280px; 
        animation: slide 29s infinite; } 
    .slide { 
        width: 320px; 
        flex-shrink: 0; 
        display: flex; 
        align-items: center; 
        justify-content: center; 
        background: rgba(30, 22, 22, 0.847); } 
    .slide 
        img { 
        width: 320px; 
        height: 280px; 
        object-fit: contain; 
        background: #f5f6f9; } 
        @keyframes slide { 0% { 
        transform: translateX(0); } 56% { 
        transform: translateX(-200%); } 70% { 
        transform: translateX(-400%); } 100% { 
        transform: translateX(-600%); } 700%} 
    .hero-content 
        h1 {
        font-size: 2rem; 
        margin-bottom: 1rem; 
    
    }
    .buttons { 
        margin-top: 1.5rem; 
        display: 
        flex; gap: 1rem; 
        flex-wrap: wrap; } 
.btn { padding: 0.75rem 1.5rem; border-radius: 999px; border: none; font-weight: 600; cursor: pointer; background: linear-gradient(2deg, #E9762B, #E9762B, #E9762B); color: #eeeeee; box-shadow: var(--shadow); }
   

    /* ===== MARQUEE ===== */
    .marquee {
      background: var(--orange);
      overflow: hidden;
      white-space: nowrap;
      padding: 0.75rem 0;
      font-family: font-family: 'Pixelify Sans', sans-serif;
      box-shadow: var(--shadow);
    }

    .marquee span {
      display: inline-block;
      padding-left: 100%;
      animation: marquee 38s linear infinite;
    }
    
.marquee-tilt {
  transform: rotate(-2deg);
  transform-origin: center;
}


    @keyframes marquee {
      from { transform: translateX(0); }
      to { transform: translateX(-100%); }
    }

    /* ===== SECTION ===== */
    section {
      padding: 3rem 1.5rem;
      max-width: 1200px;
      margin: auto;
    }

    .section-title {
      font-size: 1.8rem;
      margin-bottom: 2rem;
      text-align: center;
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.5rem;
    }

    .card {
      background: var(--glass-grey);
      backdrop-filter: blur(6px);
      border-radius: var(--radius);
      padding: 0.5rem;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255,255,255,0.6);
      text-align: center;
      cursor: pointer;
    }

    .card a {
      text-decoration: none;
      color: inherit;
      display: block;
    }

    .card:hover {
      transform: translateY(-4px);
      transition: 0.2s ease;
    }


      background: var(--glass-grey);
      backdrop-filter: blur(6px);
      border-radius: var(--radius);
      padding: 1.5rem;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255,255,255,0.6);
      text-align: center;
    }

    .card h3 {
      margin-bottom: 0.5rem;
      font-size: 1.1rem;
    }

    /* ===== FOOTER ===== */
    footer {
      background: var(--white);
      text-align: center;
      padding: 1.5rem;
      margin-top: 3rem;
      font-size: 0.9rem;
      box-shadow: var(--shadow);
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 768px) {
      .hero {
        grid-template-columns: 1fr;
      }

      .hero-content h1 {
        font-size: 1.6rem;
      }
    }
    .mobile-menu {
      position: fixed;
      top: 0;
      right: -100%;
      width: 260px;
      height: 100vh;
      background: var(--white);
      box-shadow: -10px 0 25px rgba(0,0,0,0.1);
      padding: 2rem 1.5rem;
      transition: right 0.3s ease;
      z-index: 999;
    }

    .mobile-menu.active {
      right: 0;
    }

    .mobile-menu ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
      font-weight: 600;
      font-size: 1.1rem;
    }

    .mobile-menu li {
      cursor: pointer;
    }

    .mobile-menu a {
      text-decoration: none;
      color: inherit;
      font-weight: 600;
    }

    .mobile-menu a:hover {
      opacity: 0.7;
    }

    .mobile-menu li:hover {
      opacity: 0.7;
    }
    .img-frame {
      width: 320px;
      height: 280px;
      object-fit: contain;
      display: block;
    }
    .gif-hero {
  position: relative;
  width: 100%;
  height: 80vh; /* adjust between 60vh–100vh as needed */
  background-image: url("https://i.ibb.co.com/JW6DJGLf/birds-flying-together.gif");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

/* Slight dark layer for text contrast */
.gif-overlay {
  position: absolute;
  inset: 0;
  background: rgba(2, 1, 1, 0.4);
  z-index: 1;
}

.gif-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  padding: 0 1.5rem;
}

.gif-content h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 0.7rem;
}

.gif-content p {
  font-size: 1.1rem;
  max-width: 650px;
  line-height: 1.6;
  opacity: 0.95;
}


  </style>
</head>
<body>
 
  <script>
    const hamburger = document.getElementById('hamburger');
    const mobileMenu = document.getElementById('mobileMenu');
    let menuTimer;

    hamburger.addEventListener('click', () => {
      mobileMenu.classList.toggle('active');
      clearTimeout(menuTimer);
      if (mobileMenu.classList.contains('active')) {
        menuTimer = setTimeout(() => {
          mobileMenu.classList.remove('active');
        }, 5000);
      }
    });

  
 /* ===== Portfolio ===== */

document.addEventListener("DOMContentLoaded", function () {
  const track = document.querySelector(".kd-track");
  const items = document.querySelectorAll(".kd-item");
  const prev = document.querySelector(".kd-prev");
  const next = document.querySelector(".kd-next");

  if (!track || !items.length || !prev || !next) {
    console.warn("Carousel elements not found");
    return;
  }

  let index = 0;

  function itemWidth() {
    return items[0].offsetWidth + 20; // item width + gap
  }

  function maxIndex() {
    return items.length - Math.floor(track.parentElement.offsetWidth / itemWidth());
  }

  function update() {
    index = Math.max(0, Math.min(index, maxIndex()));
    track.style.transform = `translateX(${-index * itemWidth()}px)`;
  }

  next.addEventListener("click", () => {
    index++;
    update();
  });

  prev.addEventListener("click", () => {
    index--;
    update();
  });

  window.addEventListener("resize", update);
});

document.addEventListener("DOMContentLoaded", function () {
  let lastScrollY = window.scrollY;
  let offset = 0;

  const rows = document.querySelectorAll('.gallery-row');

  if (!rows.length) {
    console.log("❌ Gallery rows not found");
    return;
  }

  window.addEventListener('scroll', () => {
    const currentScroll = window.scrollY;
    const delta = currentScroll - lastScrollY;
    lastScrollY = currentScroll;

    offset += delta * 0.2;

    rows.forEach(row => {
      const track = row.querySelector('.gallery-track');
      const direction = row.classList.contains('row-right') ? -1 : 1;

      track.style.transform = `translateX(${offset * direction}px)`;
    });
  });
});



</script>
</body>
</html>/* End custom CSS */