/* ========================================
   Overseas Returnees
======================================== */

.returnee-page{
  padding:80px 0;
  background:#f7fafc;
}

.returnee-page .container{
  max-width:960px;
  margin:0 auto;
  padding:0 20px;
}

/* ---------- Header ---------- */

.page-badge{
  display:inline-block;
  padding:6px 14px;
  margin-bottom:20px;

  border-radius:999px;

  background:#eef7ff;
  color:#2563eb;

  font-size:.85rem;
  font-weight:700;
  letter-spacing:.12em;
}

.page-title{
  margin:0 0 20px;

  font-size:clamp(2rem,4vw,2.8rem);
  font-weight:700;
  color:#1e293b;
}

.page-lead{
  margin-bottom:56px;

  font-size:1.05rem;
  line-height:2;
  color:#475569;
}

/* ---------- Section ---------- */

.content-section{
  margin-bottom:48px;
}

.content-section h2{
  margin-bottom:22px;
  padding-left:16px;

  border-left:5px solid #2563eb;

  font-size:1.55rem;
  color:#1e293b;
}

.content-section p{
  line-height:2;
  color:#475569;
}

/* ---------- Card ---------- */

.info-card{
  background:#fff;

  padding:26px 28px;
  margin-top:22px;

  border-radius:16px;

  box-shadow:0 8px 24px rgba(15,23,42,.08);

  transition:.25s;
}

.info-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(15,23,42,.12);
}

.info-card h3{
  margin-bottom:14px;

  font-size:1.2rem;
  color:#1d4ed8;
}

.info-card p{
  margin:0;
}

/* ---------- Button ---------- */

.button-group{
  margin-top:28px;
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:14px 28px;

  background:#2563eb;
  color:#fff;

  border-radius:999px;

  text-decoration:none;
  font-weight:700;

  transition:.25s;
}

.btn-primary:hover{
  background:#1d4ed8;
  transform:translateY(-2px);
}

/* ---------- Table ---------- */

.access-table{
  width:100%;
  margin-top:24px;

  border-collapse:collapse;

  background:#fff;

  border-radius:16px;
  overflow:hidden;

  box-shadow:0 8px 24px rgba(15,23,42,.08);
}

.access-table th,
.access-table td{
  padding:18px 20px;
  border-bottom:1px solid #e2e8f0;

  text-align:left;
}

.access-table th{
  width:180px;

  background:#f1f5f9;

  color:#334155;
  font-weight:700;
}

.access-table tr:last-child th,
.access-table tr:last-child td{
  border-bottom:none;
}

/* ---------- Mobile ---------- */

@media (max-width:768px){

  .returnee-page{
    padding:60px 0;
  }

  .page-title{
    font-size:2rem;
  }

  .page-lead{
    margin-bottom:42px;
  }

  .content-section h2{
    font-size:1.35rem;
  }

  .info-card{
    padding:22px;
  }

  .access-table th,
  .access-table td{
    display:block;
    width:100%;
  }

  .access-table th{
    border-bottom:none;
  }

}