* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Poppins', sans-serif;
  background:
  linear-gradient(rgba(255,255,255,0.95), rgba(255,255,255,0.95)),
  repeating-linear-gradient(
    0deg,
    transparent,
    transparent 35px,
    rgba(106,108,255,0.05) 36px
  ),
  repeating-linear-gradient(
    90deg,
    transparent,
    transparent 35px,
    rgba(106,108,255,0.05) 36px
  );
  color: #333;
  line-height: 1.7;
}


/* HEADER */
.detail-header {
  padding: 70px 24px 60px;
  text-align: center;
  background: linear-gradient(135deg, #f5f7ff, #eef0ff);
}

.detail-header h1 {
  font-size: 2.4rem;
  margin-bottom: 10px;
  color: #3f42d9;
}

.detail-header p {
  max-width: 620px;
  margin: 0 auto;
  opacity: 0.8;
}

.back {
  display: inline-block;
  margin-bottom: 24px;
  text-decoration: none;
  color: #6a6cff;
  font-weight: 500;
}

/* CONTAINER */
.detail-container {
  max-width: 980px;
  margin: auto;
  padding: 60px 24px 80px;
}

/* SECTIONS */
section {
  margin-bottom: 70px;
}

section h2 {
  font-size: 1.5rem;
  margin-bottom: 18px;
  color: #2f2f8f;
}

/* OVERVIEW */
.overview p {
  max-width: 780px;
  opacity: 0.9;
}

/* BENEFITS */
.benefits ul {
  list-style: none;
}

.benefits li {
  padding: 14px 0;
  font-size: 0.95rem;
}

/* INFO BOX */
.info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 22px;
}

.info-box {
  padding: 26px;
  border-radius: 18px;
  background: #f8f9ff;
  text-align: center;
}

.info-box h3 {
  font-size: 0.95rem;
  margin-bottom: 6px;
  color: #6a6cff;
}

.info-box p {
  font-weight: 500;
}

/* CTA */
.cta {
  text-align: center;
  padding: 60px 30px;
  border-radius: 26px;
  background: linear-gradient(135deg, #6a6cff, #9b9cff);
  color: #fff;
}

.cta p {
  max-width: 560px;
  margin: 12px auto 26px;
  opacity: 0.95;
}

.btn {
  display: inline-block;
  padding: 14px 38px;
  background: #fff;
  color: #6a6cff;
  border-radius: 30px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s ease;
  position: relative;
}

.btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 15px rgba(106,108,255,0.6);
}

.btn::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 30px;
  background: linear-gradient(90deg,#6a6cff,#9b9cff,#6a6cff);
  opacity: 0;
  z-index: -1;
  transition: 0.4s;
}

.btn:hover::after {
  opacity: 1;
  filter: blur(8px);
}

/* RESPONSIVE */
@media (max-width: 600px) {
  .detail-header h1 {
    font-size: 1.8rem;
  }
}

/* FOOTER */

.footer{
background:#4a4aff;
color:white;
padding:50px 40px 20px;
margin-top:60px;
}

.footer-container{
max-width:1000px;
margin:auto;
display:flex;
justify-content:space-between;
gap:40px;
flex-wrap:wrap;
}

.footer-item{
flex:1;
min-width:240px;
}

.footer-item h3{
font-size:16px;
margin-bottom:14px;
}

.footer-item p{
font-size:14px;
line-height:1.6;
opacity:0.9;
}

/* link maps */

.footer-link{
display:inline-block;
margin-top:10px;
color:white;
text-decoration:none;
font-size:14px;
opacity:0.9;
}

.footer-link i{
margin-right:6px;
}

.footer-link:hover{
opacity:1;
}

/* social */

.footer-social{
display:flex;
flex-direction:column;
gap:10px;
}

.social-btn{
display:flex;
align-items:center;
gap:10px;
padding:10px 14px;
border-radius:8px;
text-decoration:none;
color:white;
font-size:14px;
transition:0.25s;
}

/* whatsapp */

.whatsapp{
background:#25D366;
}

.whatsapp:hover{
transform:translateY(-2px);
box-shadow:0 5px 12px rgba(0,0,0,0.2);
}

/* instagram */

.instagram{
background:#E4405F;
}

.instagram:hover{
transform:translateY(-2px);
box-shadow:0 5px 12px rgba(0,0,0,0.2);
}

/* footer bottom */

.footer-bottom{
text-align:center;
margin-top:35px;
padding-top:18px;
border-top:1px solid rgba(255,255,255,0.25);
font-size:13px;
opacity:0.8;
}

/* RESPONSIVE FOOTER */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    gap: 28px;
  }
}

@keyframes techGlow {
  from {
    opacity: 0;
    transform: translateY(-40px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

.detail-header {
  animation: techGlow 0.9s ease;
}

.benefits li {
  padding: 14px 0;
  font-size: 0.95rem;
  opacity: 0;
  transform: translateX(-30px);
  animation: slideIn 0.6s forwards;
}

.benefits li:nth-child(1){animation-delay:0.2s;}
.benefits li:nth-child(2){animation-delay:0.4s;}
.benefits li:nth-child(3){animation-delay:0.6s;}
.benefits li:nth-child(4){animation-delay:0.8s;}

@keyframes slideIn {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.info-box {
  padding: 26px;
  border-radius: 18px;
  background: #f8f9ff;
  text-align: center;
  transition: 0.35s;
  position: relative;
  overflow: hidden;
}

.info-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(106,108,255,0.3), transparent);
  opacity: 0;
  transition: 0.4s;
}

.info-box:hover::before {
  opacity: 1;
}

.info-box:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 15px 35px rgba(106,108,255,0.25);
}

.detail-header {
  animation: techGlow 0.9s ease;
}

.benefits li {
  padding: 14px 0;
  font-size: 0.95rem;
  opacity: 0;
  transform: translateX(-30px);
  animation: slideIn 0.6s forwards;
}

.benefits li:nth-child(1){animation-delay:0.2s;}
.benefits li:nth-child(2){animation-delay:0.4s;}
.benefits li:nth-child(3){animation-delay:0.6s;}
.benefits li:nth-child(4){animation-delay:0.8s;}

.info-box {
  padding: 26px;
  border-radius: 18px;
  background: #f8f9ff;
  text-align: center;
  transition: 0.35s;
  position: relative;
  overflow: hidden;
}

.info-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(106,108,255,0.3), transparent);
  opacity: 0;
  transition: 0.4s;
}

.info-box:hover::before {
  opacity: 1;
}

.info-box:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 15px 35px rgba(106,108,255,0.25);
}

/* animasi muncul */
.program-card{
opacity:0;
transform:translateY(40px) scale(0.95);
transition:0.5s ease;
position:relative;
overflow:hidden;
}

.program-card.show{
opacity:1;
transform:translateY(0) scale(1);
}

/* animasi hover umum */
.program-card:hover{
box-shadow:0 15px 35px rgba(0,0,0,0.12);
}

/* animasi coding */
.program-card.coding::before{
content:"010101010101";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
color:#6a6cff;
font-size:12px;
white-space:nowrap;
opacity:0.1;
display:flex;
align-items:center;
justify-content:center;
animation:codeMove 6s linear infinite;
}

@keyframes codeMove{
0%{left:-100%;}
100%{left:100%;}
}

/* animasi robotika */
.program-card.robot::after{
content:"🤖";
position:absolute;
top:10px;
right:10px;
font-size:22px;
animation:robotFloat 2s ease-in-out infinite;
}

@keyframes robotFloat{
0%{transform:translateY(0);}
50%{transform:translateY(-6px);}
100%{transform:translateY(0);}
}

/* efek coding background */
.detail-header::after{
content:"010101010101010101";
position:absolute;
left:-100%;
top:0;
width:200%;
height:100%;
font-size:14px;
letter-spacing:6px;
color:#6a6cff;
opacity:0.08;
display:flex;
align-items:center;
justify-content:center;
animation:codeMove 10s linear infinite;
pointer-events:none;
}

/* robot kecil melayang */
.detail-header::before{
content:"🤖";
position:absolute;
right:40px;
top:20px;
font-size:30px;
animation:robotFloat 2s ease-in-out infinite;
}

.detail-header{
position:relative;
overflow:hidden;
}

/* ROBOT BERJALAN */
.robot-walker{
position:fixed;
bottom:20px;
left:-60px;
font-size:38px;
z-index:999;
animation:robotWalk 18s linear infinite;
filter:drop-shadow(0 5px 8px rgba(0,0,0,0.2));
}

@keyframes robotWalk{

0%{
left:-60px;
transform:scaleX(1);
}

45%{
transform:scaleX(1);
}

50%{
left:100%;
transform:scaleX(-1);
}

95%{
transform:scaleX(-1);
}

100%{
left:-60px;
transform:scaleX(1);
}

}

/* GRID TEKNOLOGI BERGERAK */

body::before{
content:"";
position:fixed;
inset:0;
background:

linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)),

repeating-linear-gradient(
0deg,
transparent,
transparent 40px,
rgba(106,108,255,0.06) 41px
),

repeating-linear-gradient(
90deg,
transparent,
transparent 40px,
rgba(106,108,255,0.06) 41px
);

z-index:-1;

animation:gridMove 12s linear infinite;

}

@keyframes gridMove{

0%{
background-position:
0 0,
0 0,
0 0;
}

100%{
background-position:
0 0,
0 40px,
40px 0;
}

}

.robot-walker{
animation:
robotWalk 18s linear infinite,
robotBounce 0.8s ease-in-out infinite alternate;
}

@keyframes robotBounce{
from{ transform:translateY(0);}
to{ transform:translateY(-6px);}
}