@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');

/* RESET */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}

/* BODY */
body{
  background:linear-gradient(135deg,#A7D2E7,#F1F5F7);
  color:#1a1a1a;
}

/* CONTAINER */
.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}

/* HERO */
.hero{
  padding:100px 0;
  text-align:center;
}

/* BUTTON PRIMARY */
.btn{
  display:inline-block;
  padding:14px 25px;
  background:#459ABF;
  color:#fff;
  border-radius:30px;
  font-weight:600;
  text-decoration:none;
  transition:0.3s;
}

.btn:hover{
  background:#2f7c9e;
  transform:scale(1.05);
  box-shadow:0 10px 25px rgba(69,154,191,0.3);
}

/* BUTTON OUTLINE */
.btn-outline{
  border:2px solid #459ABF;
  padding:14px 25px;
  border-radius:30px;
  color:#459ABF;
  text-decoration:none;
  transition:0.3s;
}

.btn-outline:hover{
  background:#459ABF;
  color:#fff;
}

/* CARD */
.card{
  background:#ffffff;
  border-radius:15px;
  padding:15px;
  box-shadow:0 5px 20px rgba(0,0,0,0.05);
  transition:0.3s;
}

.card:hover{
  transform:translateY(-8px);
  box-shadow:0 10px 30px rgba(69,154,191,0.2);
}

/* GRID */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
}

/* TITLE */
h1,h2,h3{
  color:#0f2a38;
}

/* TEXT */
p{
  color:#333;
}

/* ANIMASI */
.fade{
  opacity:0;
  transform:translateY(30px);
  animation:fadeUp 1s ease forwards;
}

.delay{ animation-delay:0.3s; }
.delay2{ animation-delay:0.6s; }

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* BACKGROUND LAYER */
.section{
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  text-align:center;
  padding:60px 20px;
}

/* CARD ELEGAN */
.card{
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(10px);
  border-radius:20px;
  padding:20px;
  margin-top:20px;
  box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

/* TITLE */
h2{
  font-size:26px;
  margin-bottom:10px;
}

/* BUTTON */
.btn{
  background:#459ABF;
  color:#fff;
  padding:12px 20px;
  border-radius:30px;
  border:none;
  margin-top:10px;
}

/* MOBILE */
@media(max-width:768px){
  h1{font-size:24px;}
  .btn{
    width:100%;
    text-align:center;
    margin-top:10px;
  }
}